api.go 2.5 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897478984789947900479014790247903479044790547906479074790847909479104791147912479134791447915479164791747918479194792047921479224792347924479254792647927479284792947930479314793247933479344793547936479374793847939479404794147942479434794447945479464794747948479494795047951479524795347954479554795647957479584795947960479614796247963479644796547966479674796847969479704797147972479734797447975479764797747978479794798047981479824798347984479854798647987479884798947990479914799247993479944799547996479974799847999480004800148002480034800448005480064800748008480094801048011480124801348014480154801648017480184801948020480214802248023480244802548026480274802848029480304803148032480334803448035480364803748038480394804048041480424804348044480454804648047480484804948050480514805248053480544805548056480574805848059480604806148062480634806448065480664806748068480694807048071480724807348074480754807648077480784807948080480814808248083480844808548086480874808848089480904809148092480934809448095480964809748098480994810048101481024810348104481054810648107481084810948110481114811248113481144811548116481174811848119481204812148122481234812448125481264812748128481294813048131481324813348134481354813648137481384813948140481414814248143481444814548146481474814848149481504815148152481534815448155481564815748158481594816048161481624816348164481654816648167481684816948170481714817248173481744817548176481774817848179481804818148182481834818448185481864818748188481894819048191481924819348194481954819648197481984819948200482014820248203482044820548206482074820848209482104821148212482134821448215482164821748218482194822048221482224822348224482254822648227482284822948230482314823248233482344823548236482374823848239482404824148242482434824448245482464824748248482494825048251482524825348254482554825648257482584825948260482614826248263482644826548266482674826848269482704827148272482734827448275482764827748278482794828048281482824828348284482854828648287482884828948290482914829248293482944829548296482974829848299483004830148302483034830448305483064830748308483094831048311483124831348314483154831648317483184831948320483214832248323483244832548326483274832848329483304833148332483334833448335483364833748338483394834048341483424834348344483454834648347483484834948350483514835248353483544835548356483574835848359483604836148362483634836448365483664836748368483694837048371483724837348374483754837648377483784837948380483814838248383483844838548386483874838848389483904839148392483934839448395483964839748398483994840048401484024840348404484054840648407484084840948410484114841248413484144841548416484174841848419484204842148422484234842448425484264842748428484294843048431484324843348434484354843648437484384843948440484414844248443484444844548446484474844848449484504845148452484534845448455484564845748458484594846048461484624846348464484654846648467484684846948470484714847248473484744847548476484774847848479484804848148482484834848448485484864848748488484894849048491484924849348494484954849648497484984849948500485014850248503485044850548506485074850848509485104851148512485134851448515485164851748518485194852048521485224852348524485254852648527485284852948530485314853248533485344853548536485374853848539485404854148542485434854448545485464854748548485494855048551485524855348554485554855648557485584855948560485614856248563485644856548566485674856848569485704857148572485734857448575485764857748578485794858048581485824858348584485854858648587485884858948590485914859248593485944859548596485974859848599486004860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641486424864348644486454864648647486484864948650486514865248653486544865548656486574865848659486604866148662486634866448665486664866748668486694867048671486724867348674486754867648677486784867948680486814868248683486844868548686486874868848689486904869148692486934869448695486964869748698486994870048701487024870348704487054870648707487084870948710487114871248713487144871548716487174871848719487204872148722487234872448725487264872748728487294873048731487324873348734487354873648737487384873948740487414874248743487444874548746487474874848749487504875148752487534875448755487564875748758487594876048761487624876348764487654876648767487684876948770487714877248773487744877548776487774877848779487804878148782487834878448785487864878748788487894879048791487924879348794487954879648797487984879948800488014880248803488044880548806488074880848809488104881148812488134881448815488164881748818488194882048821488224882348824488254882648827488284882948830488314883248833488344883548836488374883848839488404884148842488434884448845488464884748848488494885048851488524885348854488554885648857488584885948860488614886248863488644886548866488674886848869488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974889848899489004890148902489034890448905489064890748908489094891048911489124891348914489154891648917489184891948920489214892248923489244892548926489274892848929489304893148932489334893448935489364893748938489394894048941489424894348944489454894648947489484894948950489514895248953489544895548956489574895848959489604896148962489634896448965489664896748968489694897048971489724897348974489754897648977489784897948980489814898248983489844898548986489874898848989489904899148992489934899448995489964899748998489994900049001490024900349004490054900649007490084900949010490114901249013490144901549016490174901849019490204902149022490234902449025490264902749028490294903049031490324903349034490354903649037490384903949040490414904249043490444904549046490474904849049490504905149052490534905449055490564905749058490594906049061490624906349064490654906649067490684906949070490714907249073490744907549076490774907849079490804908149082490834908449085490864908749088490894909049091490924909349094490954909649097490984909949100491014910249103491044910549106491074910849109491104911149112491134911449115491164911749118491194912049121491224912349124491254912649127491284912949130491314913249133491344913549136491374913849139491404914149142491434914449145491464914749148491494915049151491524915349154491554915649157491584915949160491614916249163491644916549166491674916849169491704917149172491734917449175491764917749178491794918049181491824918349184491854918649187491884918949190491914919249193491944919549196491974919849199492004920149202492034920449205492064920749208492094921049211492124921349214492154921649217492184921949220492214922249223492244922549226492274922849229492304923149232492334923449235492364923749238492394924049241492424924349244492454924649247492484924949250492514925249253492544925549256492574925849259492604926149262492634926449265492664926749268492694927049271492724927349274492754927649277492784927949280492814928249283492844928549286492874928849289492904929149292492934929449295492964929749298492994930049301493024930349304493054930649307493084930949310493114931249313493144931549316493174931849319493204932149322493234932449325493264932749328493294933049331493324933349334493354933649337493384933949340493414934249343493444934549346493474934849349493504935149352493534935449355493564935749358493594936049361493624936349364493654936649367493684936949370493714937249373493744937549376493774937849379493804938149382493834938449385493864938749388493894939049391493924939349394493954939649397493984939949400494014940249403494044940549406494074940849409494104941149412494134941449415494164941749418494194942049421494224942349424494254942649427494284942949430494314943249433494344943549436494374943849439494404944149442494434944449445494464944749448494494945049451494524945349454494554945649457494584945949460494614946249463494644946549466494674946849469494704947149472494734947449475494764947749478494794948049481494824948349484494854948649487494884948949490494914949249493494944949549496494974949849499495004950149502495034950449505495064950749508495094951049511495124951349514495154951649517495184951949520495214952249523495244952549526495274952849529495304953149532495334953449535495364953749538495394954049541495424954349544495454954649547495484954949550495514955249553495544955549556495574955849559495604956149562495634956449565495664956749568495694957049571495724957349574495754957649577495784957949580495814958249583495844958549586495874958849589495904959149592495934959449595495964959749598495994960049601496024960349604496054960649607496084960949610496114961249613496144961549616496174961849619496204962149622496234962449625496264962749628496294963049631496324963349634496354963649637496384963949640496414964249643496444964549646496474964849649496504965149652496534965449655496564965749658496594966049661496624966349664496654966649667496684966949670496714967249673496744967549676496774967849679496804968149682496834968449685496864968749688496894969049691496924969349694496954969649697496984969949700497014970249703497044970549706497074970849709497104971149712497134971449715497164971749718497194972049721497224972349724497254972649727497284972949730497314973249733497344973549736497374973849739497404974149742497434974449745497464974749748497494975049751497524975349754497554975649757497584975949760497614976249763497644976549766497674976849769497704977149772497734977449775497764977749778497794978049781497824978349784497854978649787497884978949790497914979249793497944979549796497974979849799498004980149802498034980449805498064980749808498094981049811498124981349814498154981649817498184981949820498214982249823498244982549826498274982849829498304983149832498334983449835498364983749838498394984049841498424984349844498454984649847498484984949850498514985249853498544985549856498574985849859498604986149862498634986449865498664986749868498694987049871498724987349874498754987649877498784987949880498814988249883498844988549886498874988849889498904989149892498934989449895498964989749898498994990049901499024990349904499054990649907499084990949910499114991249913499144991549916499174991849919499204992149922499234992449925499264992749928499294993049931499324993349934499354993649937499384993949940499414994249943499444994549946499474994849949499504995149952499534995449955499564995749958499594996049961499624996349964499654996649967499684996949970499714997249973499744997549976499774997849979499804998149982499834998449985499864998749988499894999049991499924999349994499954999649997499984999950000500015000250003500045000550006500075000850009500105001150012500135001450015500165001750018500195002050021500225002350024500255002650027500285002950030500315003250033500345003550036500375003850039500405004150042500435004450045500465004750048500495005050051500525005350054500555005650057500585005950060500615006250063500645006550066500675006850069500705007150072500735007450075500765007750078500795008050081500825008350084500855008650087500885008950090500915009250093500945009550096500975009850099501005010150102501035010450105501065010750108501095011050111501125011350114501155011650117501185011950120501215012250123501245012550126501275012850129501305013150132501335013450135501365013750138501395014050141501425014350144501455014650147501485014950150501515015250153501545015550156501575015850159501605016150162501635016450165501665016750168501695017050171501725017350174501755017650177501785017950180501815018250183501845018550186501875018850189501905019150192501935019450195501965019750198501995020050201502025020350204502055020650207502085020950210502115021250213502145021550216502175021850219502205022150222502235022450225502265022750228502295023050231502325023350234502355023650237502385023950240502415024250243502445024550246502475024850249502505025150252502535025450255502565025750258502595026050261502625026350264502655026650267502685026950270502715027250273502745027550276502775027850279502805028150282502835028450285502865028750288502895029050291502925029350294502955029650297502985029950300503015030250303503045030550306503075030850309503105031150312503135031450315503165031750318503195032050321503225032350324503255032650327503285032950330503315033250333503345033550336503375033850339503405034150342503435034450345503465034750348503495035050351503525035350354503555035650357503585035950360503615036250363503645036550366503675036850369503705037150372503735037450375503765037750378503795038050381503825038350384503855038650387503885038950390503915039250393503945039550396503975039850399504005040150402504035040450405504065040750408504095041050411504125041350414504155041650417504185041950420504215042250423504245042550426504275042850429504305043150432504335043450435504365043750438504395044050441504425044350444504455044650447504485044950450504515045250453504545045550456504575045850459504605046150462504635046450465504665046750468504695047050471504725047350474504755047650477504785047950480504815048250483504845048550486504875048850489504905049150492504935049450495504965049750498504995050050501505025050350504505055050650507505085050950510505115051250513505145051550516505175051850519505205052150522505235052450525505265052750528505295053050531505325053350534505355053650537505385053950540505415054250543505445054550546505475054850549505505055150552505535055450555505565055750558505595056050561505625056350564505655056650567505685056950570505715057250573505745057550576505775057850579505805058150582505835058450585505865058750588505895059050591505925059350594505955059650597505985059950600506015060250603506045060550606506075060850609506105061150612506135061450615506165061750618506195062050621506225062350624506255062650627506285062950630506315063250633506345063550636506375063850639506405064150642506435064450645506465064750648506495065050651506525065350654506555065650657506585065950660506615066250663506645066550666506675066850669506705067150672506735067450675506765067750678506795068050681506825068350684506855068650687506885068950690506915069250693506945069550696506975069850699507005070150702507035070450705507065070750708507095071050711507125071350714507155071650717507185071950720507215072250723507245072550726507275072850729507305073150732507335073450735507365073750738507395074050741507425074350744507455074650747507485074950750507515075250753507545075550756507575075850759507605076150762507635076450765507665076750768507695077050771507725077350774507755077650777507785077950780507815078250783507845078550786507875078850789507905079150792507935079450795507965079750798507995080050801508025080350804508055080650807508085080950810508115081250813508145081550816508175081850819508205082150822508235082450825508265082750828508295083050831508325083350834508355083650837508385083950840508415084250843508445084550846508475084850849508505085150852508535085450855508565085750858508595086050861508625086350864508655086650867508685086950870508715087250873508745087550876508775087850879508805088150882508835088450885508865088750888508895089050891508925089350894508955089650897508985089950900509015090250903509045090550906509075090850909509105091150912509135091450915509165091750918509195092050921509225092350924509255092650927509285092950930509315093250933509345093550936509375093850939509405094150942509435094450945509465094750948509495095050951509525095350954509555095650957509585095950960509615096250963509645096550966509675096850969509705097150972509735097450975509765097750978509795098050981509825098350984509855098650987509885098950990509915099250993509945099550996509975099850999510005100151002510035100451005510065100751008510095101051011510125101351014510155101651017510185101951020510215102251023510245102551026510275102851029510305103151032510335103451035510365103751038510395104051041510425104351044510455104651047510485104951050510515105251053510545105551056510575105851059510605106151062510635106451065510665106751068510695107051071510725107351074510755107651077510785107951080510815108251083510845108551086510875108851089510905109151092510935109451095510965109751098510995110051101511025110351104511055110651107511085110951110511115111251113511145111551116511175111851119511205112151122511235112451125511265112751128511295113051131511325113351134511355113651137511385113951140511415114251143511445114551146511475114851149511505115151152511535115451155511565115751158511595116051161511625116351164511655116651167511685116951170511715117251173511745117551176511775117851179511805118151182511835118451185511865118751188511895119051191511925119351194511955119651197511985119951200512015120251203512045120551206512075120851209512105121151212512135121451215512165121751218512195122051221512225122351224512255122651227512285122951230512315123251233512345123551236512375123851239512405124151242512435124451245512465124751248512495125051251512525125351254512555125651257512585125951260512615126251263512645126551266512675126851269512705127151272512735127451275512765127751278512795128051281512825128351284512855128651287512885128951290512915129251293512945129551296512975129851299513005130151302513035130451305513065130751308513095131051311513125131351314513155131651317513185131951320513215132251323513245132551326513275132851329513305133151332513335133451335513365133751338513395134051341513425134351344513455134651347513485134951350513515135251353513545135551356513575135851359513605136151362513635136451365513665136751368513695137051371513725137351374513755137651377513785137951380513815138251383513845138551386513875138851389513905139151392513935139451395513965139751398513995140051401514025140351404514055140651407514085140951410514115141251413514145141551416514175141851419514205142151422514235142451425514265142751428514295143051431514325143351434514355143651437514385143951440514415144251443514445144551446514475144851449514505145151452514535145451455514565145751458514595146051461514625146351464514655146651467514685146951470514715147251473514745147551476514775147851479514805148151482514835148451485514865148751488514895149051491514925149351494514955149651497514985149951500515015150251503515045150551506515075150851509515105151151512515135151451515515165151751518515195152051521515225152351524515255152651527515285152951530515315153251533515345153551536515375153851539515405154151542515435154451545515465154751548515495155051551515525155351554515555155651557515585155951560515615156251563515645156551566515675156851569515705157151572515735157451575515765157751578515795158051581515825158351584515855158651587515885158951590515915159251593515945159551596515975159851599516005160151602516035160451605516065160751608516095161051611516125161351614516155161651617516185161951620516215162251623516245162551626516275162851629516305163151632516335163451635516365163751638516395164051641516425164351644516455164651647516485164951650516515165251653516545165551656516575165851659516605166151662516635166451665516665166751668516695167051671516725167351674516755167651677516785167951680516815168251683516845168551686516875168851689516905169151692516935169451695516965169751698516995170051701517025170351704517055170651707517085170951710517115171251713517145171551716517175171851719517205172151722517235172451725517265172751728517295173051731517325173351734517355173651737517385173951740517415174251743517445174551746517475174851749517505175151752517535175451755517565175751758517595176051761517625176351764517655176651767517685176951770517715177251773517745177551776517775177851779517805178151782517835178451785517865178751788517895179051791517925179351794517955179651797517985179951800518015180251803518045180551806518075180851809518105181151812518135181451815518165181751818518195182051821518225182351824518255182651827518285182951830518315183251833518345183551836518375183851839518405184151842518435184451845518465184751848518495185051851518525185351854518555185651857518585185951860518615186251863518645186551866518675186851869518705187151872518735187451875518765187751878518795188051881518825188351884518855188651887518885188951890518915189251893518945189551896518975189851899519005190151902519035190451905519065190751908519095191051911519125191351914519155191651917519185191951920519215192251923519245192551926519275192851929519305193151932519335193451935519365193751938519395194051941519425194351944519455194651947519485194951950519515195251953519545195551956519575195851959519605196151962519635196451965519665196751968519695197051971519725197351974519755197651977519785197951980519815198251983519845198551986519875198851989519905199151992519935199451995519965199751998519995200052001520025200352004520055200652007520085200952010520115201252013520145201552016520175201852019520205202152022520235202452025520265202752028520295203052031520325203352034520355203652037520385203952040520415204252043520445204552046520475204852049520505205152052520535205452055520565205752058520595206052061520625206352064520655206652067520685206952070520715207252073520745207552076520775207852079520805208152082520835208452085520865208752088520895209052091520925209352094520955209652097520985209952100521015210252103521045210552106521075210852109521105211152112521135211452115521165211752118521195212052121521225212352124521255212652127521285212952130521315213252133521345213552136521375213852139521405214152142521435214452145521465214752148521495215052151521525215352154521555215652157521585215952160521615216252163521645216552166521675216852169521705217152172521735217452175521765217752178521795218052181521825218352184521855218652187521885218952190521915219252193521945219552196521975219852199522005220152202522035220452205522065220752208522095221052211522125221352214522155221652217522185221952220522215222252223522245222552226522275222852229522305223152232522335223452235522365223752238522395224052241522425224352244522455224652247522485224952250522515225252253522545225552256522575225852259522605226152262522635226452265522665226752268522695227052271522725227352274522755227652277522785227952280522815228252283522845228552286522875228852289522905229152292522935229452295522965229752298522995230052301523025230352304523055230652307523085230952310523115231252313523145231552316523175231852319523205232152322523235232452325523265232752328523295233052331523325233352334523355233652337523385233952340523415234252343523445234552346523475234852349523505235152352523535235452355523565235752358523595236052361523625236352364523655236652367523685236952370523715237252373523745237552376523775237852379523805238152382523835238452385523865238752388523895239052391523925239352394523955239652397523985239952400524015240252403524045240552406524075240852409524105241152412524135241452415524165241752418524195242052421524225242352424524255242652427524285242952430524315243252433524345243552436524375243852439524405244152442524435244452445524465244752448524495245052451524525245352454524555245652457524585245952460524615246252463524645246552466524675246852469524705247152472524735247452475524765247752478524795248052481524825248352484524855248652487524885248952490524915249252493524945249552496524975249852499525005250152502525035250452505525065250752508525095251052511525125251352514525155251652517525185251952520525215252252523525245252552526525275252852529525305253152532525335253452535525365253752538525395254052541525425254352544525455254652547525485254952550525515255252553525545255552556525575255852559525605256152562525635256452565525665256752568525695257052571525725257352574525755257652577525785257952580525815258252583525845258552586525875258852589525905259152592525935259452595525965259752598525995260052601526025260352604526055260652607526085260952610526115261252613526145261552616526175261852619526205262152622526235262452625526265262752628526295263052631526325263352634526355263652637526385263952640526415264252643526445264552646526475264852649526505265152652526535265452655526565265752658526595266052661526625266352664526655266652667526685266952670526715267252673526745267552676526775267852679526805268152682526835268452685526865268752688526895269052691526925269352694526955269652697526985269952700527015270252703527045270552706527075270852709527105271152712527135271452715527165271752718527195272052721527225272352724527255272652727527285272952730527315273252733527345273552736527375273852739527405274152742527435274452745527465274752748527495275052751527525275352754527555275652757527585275952760527615276252763527645276552766527675276852769527705277152772527735277452775527765277752778527795278052781527825278352784527855278652787527885278952790527915279252793527945279552796527975279852799528005280152802528035280452805528065280752808528095281052811528125281352814528155281652817528185281952820528215282252823528245282552826528275282852829528305283152832528335283452835528365283752838528395284052841528425284352844528455284652847528485284952850528515285252853528545285552856528575285852859528605286152862528635286452865528665286752868528695287052871528725287352874528755287652877528785287952880528815288252883528845288552886528875288852889528905289152892528935289452895528965289752898528995290052901529025290352904529055290652907529085290952910529115291252913529145291552916529175291852919529205292152922529235292452925529265292752928529295293052931529325293352934529355293652937529385293952940529415294252943529445294552946529475294852949529505295152952529535295452955529565295752958529595296052961529625296352964529655296652967529685296952970529715297252973529745297552976529775297852979529805298152982529835298452985529865298752988529895299052991529925299352994529955299652997529985299953000530015300253003530045300553006530075300853009530105301153012530135301453015530165301753018530195302053021530225302353024530255302653027530285302953030530315303253033530345303553036530375303853039530405304153042530435304453045530465304753048530495305053051530525305353054530555305653057530585305953060530615306253063530645306553066530675306853069530705307153072530735307453075530765307753078530795308053081530825308353084530855308653087530885308953090530915309253093530945309553096530975309853099531005310153102531035310453105531065310753108531095311053111531125311353114531155311653117531185311953120531215312253123531245312553126531275312853129531305313153132531335313453135531365313753138531395314053141531425314353144531455314653147531485314953150531515315253153531545315553156531575315853159531605316153162531635316453165531665316753168531695317053171531725317353174531755317653177531785317953180531815318253183531845318553186531875318853189531905319153192531935319453195531965319753198531995320053201532025320353204532055320653207532085320953210532115321253213532145321553216532175321853219532205322153222532235322453225532265322753228532295323053231532325323353234532355323653237532385323953240532415324253243532445324553246532475324853249532505325153252532535325453255532565325753258532595326053261532625326353264532655326653267532685326953270532715327253273532745327553276532775327853279532805328153282532835328453285532865328753288532895329053291532925329353294532955329653297532985329953300533015330253303533045330553306533075330853309533105331153312533135331453315533165331753318533195332053321533225332353324533255332653327533285332953330533315333253333533345333553336533375333853339533405334153342533435334453345533465334753348533495335053351533525335353354533555335653357533585335953360533615336253363533645336553366533675336853369533705337153372533735337453375533765337753378533795338053381533825338353384533855338653387533885338953390533915339253393533945339553396533975339853399534005340153402534035340453405534065340753408534095341053411534125341353414534155341653417534185341953420534215342253423534245342553426534275342853429534305343153432534335343453435534365343753438534395344053441534425344353444534455344653447534485344953450534515345253453534545345553456534575345853459534605346153462534635346453465534665346753468534695347053471534725347353474534755347653477534785347953480534815348253483534845348553486534875348853489534905349153492534935349453495534965349753498534995350053501535025350353504535055350653507535085350953510535115351253513535145351553516535175351853519535205352153522535235352453525535265352753528535295353053531535325353353534535355353653537535385353953540535415354253543535445354553546535475354853549535505355153552535535355453555535565355753558535595356053561535625356353564535655356653567535685356953570535715357253573535745357553576535775357853579535805358153582535835358453585535865358753588535895359053591535925359353594535955359653597535985359953600536015360253603536045360553606536075360853609536105361153612536135361453615536165361753618536195362053621536225362353624536255362653627536285362953630536315363253633536345363553636536375363853639536405364153642536435364453645536465364753648536495365053651536525365353654536555365653657536585365953660536615366253663536645366553666536675366853669536705367153672536735367453675536765367753678536795368053681536825368353684536855368653687536885368953690536915369253693536945369553696536975369853699537005370153702537035370453705537065370753708537095371053711537125371353714537155371653717537185371953720537215372253723537245372553726537275372853729537305373153732537335373453735537365373753738537395374053741537425374353744537455374653747537485374953750537515375253753537545375553756537575375853759537605376153762537635376453765537665376753768537695377053771537725377353774537755377653777537785377953780537815378253783537845378553786537875378853789537905379153792537935379453795537965379753798537995380053801538025380353804538055380653807538085380953810538115381253813538145381553816538175381853819538205382153822538235382453825538265382753828538295383053831538325383353834538355383653837538385383953840538415384253843538445384553846538475384853849538505385153852538535385453855538565385753858538595386053861538625386353864538655386653867538685386953870538715387253873538745387553876538775387853879538805388153882538835388453885538865388753888538895389053891538925389353894538955389653897538985389953900539015390253903539045390553906539075390853909539105391153912539135391453915539165391753918539195392053921539225392353924539255392653927539285392953930539315393253933539345393553936539375393853939539405394153942539435394453945539465394753948539495395053951539525395353954539555395653957539585395953960539615396253963539645396553966539675396853969539705397153972539735397453975539765397753978539795398053981539825398353984539855398653987539885398953990539915399253993539945399553996539975399853999540005400154002540035400454005540065400754008540095401054011540125401354014540155401654017540185401954020540215402254023540245402554026540275402854029540305403154032540335403454035540365403754038540395404054041540425404354044540455404654047540485404954050540515405254053540545405554056540575405854059540605406154062540635406454065540665406754068540695407054071540725407354074540755407654077540785407954080540815408254083540845408554086540875408854089540905409154092540935409454095540965409754098540995410054101541025410354104541055410654107541085410954110541115411254113541145411554116541175411854119541205412154122541235412454125541265412754128541295413054131541325413354134541355413654137541385413954140541415414254143541445414554146541475414854149541505415154152541535415454155541565415754158541595416054161541625416354164541655416654167541685416954170541715417254173541745417554176541775417854179541805418154182541835418454185541865418754188541895419054191541925419354194541955419654197541985419954200542015420254203542045420554206542075420854209542105421154212542135421454215542165421754218542195422054221542225422354224542255422654227542285422954230542315423254233542345423554236542375423854239542405424154242542435424454245542465424754248542495425054251542525425354254542555425654257542585425954260542615426254263542645426554266542675426854269542705427154272542735427454275542765427754278542795428054281542825428354284542855428654287542885428954290542915429254293542945429554296542975429854299543005430154302543035430454305543065430754308543095431054311543125431354314543155431654317543185431954320543215432254323543245432554326543275432854329543305433154332543335433454335543365433754338543395434054341543425434354344543455434654347543485434954350543515435254353543545435554356543575435854359543605436154362543635436454365543665436754368543695437054371543725437354374543755437654377543785437954380543815438254383543845438554386543875438854389543905439154392543935439454395543965439754398543995440054401544025440354404544055440654407544085440954410544115441254413544145441554416544175441854419544205442154422544235442454425544265442754428544295443054431544325443354434544355443654437544385443954440544415444254443544445444554446544475444854449544505445154452544535445454455544565445754458544595446054461544625446354464544655446654467544685446954470544715447254473544745447554476544775447854479544805448154482544835448454485544865448754488544895449054491544925449354494544955449654497544985449954500545015450254503545045450554506545075450854509545105451154512545135451454515545165451754518545195452054521545225452354524545255452654527545285452954530545315453254533545345453554536545375453854539545405454154542545435454454545545465454754548545495455054551545525455354554545555455654557545585455954560545615456254563545645456554566545675456854569545705457154572545735457454575545765457754578545795458054581545825458354584545855458654587545885458954590545915459254593545945459554596545975459854599546005460154602546035460454605546065460754608546095461054611546125461354614546155461654617546185461954620546215462254623546245462554626546275462854629546305463154632546335463454635546365463754638546395464054641546425464354644546455464654647546485464954650546515465254653546545465554656546575465854659546605466154662546635466454665546665466754668546695467054671546725467354674546755467654677546785467954680546815468254683546845468554686546875468854689546905469154692546935469454695546965469754698546995470054701547025470354704547055470654707547085470954710547115471254713547145471554716547175471854719547205472154722547235472454725547265472754728547295473054731547325473354734547355473654737547385473954740547415474254743547445474554746547475474854749547505475154752547535475454755547565475754758547595476054761547625476354764547655476654767547685476954770547715477254773547745477554776547775477854779547805478154782547835478454785547865478754788547895479054791547925479354794547955479654797547985479954800548015480254803548045480554806548075480854809548105481154812548135481454815548165481754818548195482054821548225482354824548255482654827548285482954830548315483254833548345483554836548375483854839548405484154842548435484454845548465484754848548495485054851548525485354854548555485654857548585485954860548615486254863548645486554866548675486854869548705487154872548735487454875548765487754878548795488054881548825488354884548855488654887548885488954890548915489254893548945489554896548975489854899549005490154902549035490454905549065490754908549095491054911549125491354914549155491654917549185491954920549215492254923549245492554926549275492854929549305493154932549335493454935549365493754938549395494054941549425494354944549455494654947549485494954950549515495254953549545495554956549575495854959549605496154962549635496454965549665496754968549695497054971549725497354974549755497654977549785497954980549815498254983549845498554986549875498854989549905499154992549935499454995549965499754998549995500055001550025500355004550055500655007550085500955010550115501255013550145501555016550175501855019550205502155022550235502455025550265502755028550295503055031550325503355034550355503655037550385503955040550415504255043550445504555046550475504855049550505505155052550535505455055550565505755058550595506055061550625506355064550655506655067550685506955070550715507255073550745507555076550775507855079550805508155082550835508455085550865508755088550895509055091550925509355094550955509655097550985509955100551015510255103551045510555106551075510855109551105511155112551135511455115551165511755118551195512055121551225512355124551255512655127551285512955130551315513255133551345513555136551375513855139551405514155142551435514455145551465514755148551495515055151551525515355154551555515655157551585515955160551615516255163551645516555166551675516855169551705517155172551735517455175551765517755178551795518055181551825518355184551855518655187551885518955190551915519255193551945519555196551975519855199552005520155202552035520455205552065520755208552095521055211552125521355214552155521655217552185521955220552215522255223552245522555226552275522855229552305523155232552335523455235552365523755238552395524055241552425524355244552455524655247552485524955250552515525255253552545525555256552575525855259552605526155262552635526455265552665526755268552695527055271552725527355274552755527655277552785527955280552815528255283552845528555286552875528855289552905529155292552935529455295552965529755298552995530055301553025530355304553055530655307553085530955310553115531255313553145531555316553175531855319553205532155322553235532455325553265532755328553295533055331553325533355334553355533655337553385533955340553415534255343553445534555346553475534855349553505535155352553535535455355553565535755358553595536055361553625536355364553655536655367553685536955370553715537255373553745537555376553775537855379553805538155382553835538455385553865538755388553895539055391553925539355394553955539655397553985539955400554015540255403554045540555406554075540855409554105541155412554135541455415554165541755418554195542055421554225542355424554255542655427554285542955430554315543255433554345543555436554375543855439554405544155442554435544455445554465544755448554495545055451554525545355454554555545655457554585545955460554615546255463554645546555466554675546855469554705547155472554735547455475554765547755478554795548055481554825548355484554855548655487554885548955490554915549255493554945549555496554975549855499555005550155502555035550455505555065550755508555095551055511555125551355514555155551655517555185551955520555215552255523555245552555526555275552855529555305553155532555335553455535555365553755538555395554055541555425554355544555455554655547555485554955550555515555255553555545555555556555575555855559555605556155562555635556455565555665556755568555695557055571555725557355574555755557655577555785557955580555815558255583555845558555586555875558855589555905559155592555935559455595555965559755598555995560055601556025560355604556055560655607556085560955610556115561255613556145561555616556175561855619556205562155622556235562455625556265562755628556295563055631556325563355634556355563655637556385563955640556415564255643556445564555646556475564855649556505565155652556535565455655556565565755658556595566055661556625566355664556655566655667556685566955670556715567255673556745567555676556775567855679556805568155682556835568455685556865568755688556895569055691556925569355694556955569655697556985569955700557015570255703557045570555706557075570855709557105571155712557135571455715557165571755718557195572055721557225572355724557255572655727557285572955730557315573255733557345573555736557375573855739557405574155742557435574455745557465574755748557495575055751557525575355754557555575655757557585575955760557615576255763557645576555766557675576855769557705577155772557735577455775557765577755778557795578055781557825578355784557855578655787557885578955790557915579255793557945579555796557975579855799558005580155802558035580455805558065580755808558095581055811558125581355814558155581655817558185581955820558215582255823558245582555826558275582855829558305583155832558335583455835558365583755838558395584055841558425584355844558455584655847558485584955850558515585255853558545585555856558575585855859558605586155862558635586455865558665586755868558695587055871558725587355874558755587655877558785587955880558815588255883558845588555886558875588855889558905589155892558935589455895558965589755898558995590055901559025590355904559055590655907559085590955910559115591255913559145591555916559175591855919559205592155922559235592455925559265592755928559295593055931559325593355934559355593655937559385593955940559415594255943559445594555946559475594855949559505595155952559535595455955559565595755958559595596055961559625596355964559655596655967559685596955970559715597255973559745597555976559775597855979559805598155982559835598455985559865598755988559895599055991559925599355994559955599655997559985599956000560015600256003560045600556006560075600856009560105601156012560135601456015560165601756018560195602056021560225602356024560255602656027560285602956030560315603256033560345603556036560375603856039560405604156042560435604456045560465604756048560495605056051560525605356054560555605656057560585605956060560615606256063560645606556066560675606856069560705607156072560735607456075560765607756078560795608056081560825608356084560855608656087560885608956090560915609256093560945609556096560975609856099561005610156102561035610456105561065610756108561095611056111561125611356114561155611656117561185611956120561215612256123561245612556126561275612856129561305613156132561335613456135561365613756138561395614056141561425614356144561455614656147561485614956150561515615256153561545615556156561575615856159561605616156162561635616456165561665616756168561695617056171561725617356174561755617656177561785617956180561815618256183561845618556186561875618856189561905619156192561935619456195561965619756198561995620056201562025620356204562055620656207562085620956210562115621256213562145621556216562175621856219562205622156222562235622456225562265622756228562295623056231562325623356234562355623656237562385623956240562415624256243562445624556246562475624856249562505625156252562535625456255562565625756258562595626056261562625626356264562655626656267562685626956270562715627256273562745627556276562775627856279562805628156282562835628456285562865628756288562895629056291562925629356294562955629656297562985629956300563015630256303563045630556306563075630856309563105631156312563135631456315563165631756318563195632056321563225632356324563255632656327563285632956330563315633256333563345633556336563375633856339563405634156342563435634456345563465634756348563495635056351563525635356354563555635656357563585635956360563615636256363563645636556366563675636856369563705637156372563735637456375563765637756378563795638056381563825638356384563855638656387563885638956390563915639256393563945639556396563975639856399564005640156402564035640456405564065640756408564095641056411564125641356414564155641656417564185641956420564215642256423564245642556426564275642856429564305643156432564335643456435564365643756438564395644056441564425644356444564455644656447564485644956450564515645256453564545645556456564575645856459564605646156462564635646456465564665646756468564695647056471564725647356474564755647656477564785647956480564815648256483564845648556486564875648856489564905649156492564935649456495564965649756498564995650056501565025650356504565055650656507565085650956510565115651256513565145651556516565175651856519565205652156522565235652456525565265652756528565295653056531565325653356534565355653656537565385653956540565415654256543565445654556546565475654856549565505655156552565535655456555565565655756558565595656056561565625656356564565655656656567565685656956570565715657256573565745657556576565775657856579565805658156582565835658456585565865658756588565895659056591565925659356594565955659656597565985659956600566015660256603566045660556606566075660856609566105661156612566135661456615566165661756618566195662056621566225662356624566255662656627566285662956630566315663256633566345663556636566375663856639566405664156642566435664456645566465664756648566495665056651566525665356654566555665656657566585665956660566615666256663566645666556666566675666856669566705667156672566735667456675566765667756678566795668056681566825668356684566855668656687566885668956690566915669256693566945669556696566975669856699567005670156702567035670456705567065670756708567095671056711567125671356714567155671656717567185671956720567215672256723567245672556726567275672856729567305673156732567335673456735567365673756738567395674056741567425674356744567455674656747567485674956750567515675256753567545675556756567575675856759567605676156762567635676456765567665676756768567695677056771567725677356774567755677656777567785677956780567815678256783567845678556786567875678856789567905679156792567935679456795567965679756798567995680056801568025680356804568055680656807568085680956810568115681256813568145681556816568175681856819568205682156822568235682456825568265682756828568295683056831568325683356834568355683656837568385683956840568415684256843568445684556846568475684856849568505685156852568535685456855568565685756858568595686056861568625686356864568655686656867568685686956870568715687256873568745687556876568775687856879568805688156882568835688456885568865688756888568895689056891568925689356894568955689656897568985689956900569015690256903569045690556906569075690856909569105691156912569135691456915569165691756918569195692056921569225692356924569255692656927569285692956930569315693256933569345693556936569375693856939569405694156942569435694456945569465694756948569495695056951569525695356954569555695656957569585695956960569615696256963569645696556966569675696856969569705697156972569735697456975569765697756978569795698056981569825698356984569855698656987569885698956990569915699256993569945699556996569975699856999570005700157002570035700457005570065700757008570095701057011570125701357014570155701657017570185701957020570215702257023570245702557026570275702857029570305703157032570335703457035570365703757038570395704057041570425704357044570455704657047570485704957050570515705257053570545705557056570575705857059570605706157062570635706457065570665706757068570695707057071570725707357074570755707657077570785707957080570815708257083570845708557086570875708857089570905709157092570935709457095570965709757098570995710057101571025710357104571055710657107571085710957110571115711257113571145711557116571175711857119571205712157122571235712457125571265712757128571295713057131571325713357134571355713657137571385713957140571415714257143571445714557146571475714857149571505715157152571535715457155571565715757158571595716057161571625716357164571655716657167571685716957170571715717257173571745717557176571775717857179571805718157182571835718457185571865718757188571895719057191571925719357194571955719657197571985719957200572015720257203572045720557206572075720857209572105721157212572135721457215572165721757218572195722057221572225722357224572255722657227572285722957230572315723257233572345723557236572375723857239572405724157242572435724457245572465724757248572495725057251572525725357254572555725657257572585725957260572615726257263572645726557266572675726857269572705727157272572735727457275572765727757278572795728057281572825728357284572855728657287572885728957290572915729257293572945729557296572975729857299573005730157302573035730457305573065730757308573095731057311573125731357314573155731657317573185731957320573215732257323573245732557326573275732857329573305733157332573335733457335573365733757338573395734057341573425734357344573455734657347573485734957350573515735257353573545735557356573575735857359573605736157362573635736457365573665736757368573695737057371573725737357374573755737657377573785737957380573815738257383573845738557386573875738857389573905739157392573935739457395573965739757398573995740057401574025740357404574055740657407574085740957410574115741257413574145741557416574175741857419574205742157422574235742457425574265742757428574295743057431574325743357434574355743657437574385743957440574415744257443574445744557446574475744857449574505745157452574535745457455574565745757458574595746057461574625746357464574655746657467574685746957470574715747257473574745747557476574775747857479574805748157482574835748457485574865748757488574895749057491574925749357494574955749657497574985749957500575015750257503575045750557506575075750857509575105751157512575135751457515575165751757518575195752057521575225752357524575255752657527575285752957530575315753257533575345753557536575375753857539575405754157542575435754457545575465754757548575495755057551575525755357554575555755657557575585755957560575615756257563575645756557566575675756857569575705757157572575735757457575575765757757578575795758057581575825758357584575855758657587575885758957590575915759257593575945759557596575975759857599576005760157602576035760457605576065760757608576095761057611576125761357614576155761657617576185761957620576215762257623576245762557626576275762857629576305763157632576335763457635576365763757638576395764057641576425764357644576455764657647576485764957650576515765257653576545765557656576575765857659576605766157662576635766457665576665766757668576695767057671576725767357674576755767657677576785767957680576815768257683576845768557686576875768857689576905769157692576935769457695576965769757698576995770057701577025770357704577055770657707577085770957710577115771257713577145771557716577175771857719577205772157722577235772457725577265772757728577295773057731577325773357734577355773657737577385773957740577415774257743577445774557746577475774857749577505775157752577535775457755577565775757758577595776057761577625776357764577655776657767577685776957770577715777257773577745777557776577775777857779577805778157782577835778457785577865778757788577895779057791577925779357794577955779657797577985779957800578015780257803578045780557806578075780857809578105781157812578135781457815578165781757818578195782057821578225782357824578255782657827578285782957830578315783257833578345783557836578375783857839578405784157842578435784457845578465784757848578495785057851578525785357854578555785657857578585785957860578615786257863578645786557866578675786857869578705787157872578735787457875578765787757878578795788057881578825788357884578855788657887578885788957890578915789257893578945789557896578975789857899579005790157902579035790457905579065790757908579095791057911579125791357914579155791657917579185791957920579215792257923579245792557926579275792857929579305793157932579335793457935579365793757938579395794057941579425794357944579455794657947579485794957950579515795257953579545795557956579575795857959579605796157962579635796457965579665796757968579695797057971579725797357974579755797657977579785797957980579815798257983579845798557986579875798857989579905799157992579935799457995579965799757998579995800058001580025800358004580055800658007580085800958010580115801258013580145801558016580175801858019580205802158022580235802458025580265802758028580295803058031580325803358034580355803658037580385803958040580415804258043580445804558046580475804858049580505805158052580535805458055580565805758058580595806058061580625806358064580655806658067580685806958070580715807258073580745807558076580775807858079580805808158082580835808458085580865808758088580895809058091580925809358094580955809658097580985809958100581015810258103581045810558106581075810858109581105811158112581135811458115581165811758118581195812058121581225812358124581255812658127581285812958130581315813258133581345813558136581375813858139581405814158142581435814458145581465814758148581495815058151581525815358154581555815658157581585815958160581615816258163581645816558166581675816858169581705817158172581735817458175581765817758178581795818058181581825818358184581855818658187581885818958190581915819258193581945819558196581975819858199582005820158202582035820458205582065820758208582095821058211582125821358214582155821658217582185821958220582215822258223582245822558226582275822858229582305823158232582335823458235582365823758238582395824058241582425824358244582455824658247582485824958250582515825258253582545825558256582575825858259582605826158262582635826458265582665826758268582695827058271582725827358274582755827658277582785827958280582815828258283582845828558286582875828858289582905829158292582935829458295582965829758298582995830058301583025830358304583055830658307583085830958310583115831258313583145831558316583175831858319583205832158322583235832458325583265832758328583295833058331583325833358334583355833658337583385833958340583415834258343583445834558346583475834858349583505835158352583535835458355583565835758358583595836058361583625836358364583655836658367583685836958370583715837258373583745837558376583775837858379583805838158382583835838458385583865838758388583895839058391583925839358394583955839658397583985839958400584015840258403584045840558406584075840858409584105841158412584135841458415584165841758418584195842058421584225842358424584255842658427584285842958430584315843258433584345843558436584375843858439584405844158442584435844458445584465844758448584495845058451584525845358454584555845658457584585845958460584615846258463584645846558466584675846858469584705847158472584735847458475584765847758478584795848058481584825848358484584855848658487584885848958490584915849258493584945849558496584975849858499585005850158502585035850458505585065850758508585095851058511585125851358514585155851658517585185851958520585215852258523585245852558526585275852858529585305853158532585335853458535585365853758538585395854058541585425854358544585455854658547585485854958550585515855258553585545855558556585575855858559585605856158562585635856458565585665856758568585695857058571585725857358574585755857658577585785857958580585815858258583585845858558586585875858858589585905859158592585935859458595585965859758598585995860058601586025860358604586055860658607586085860958610586115861258613586145861558616586175861858619586205862158622586235862458625586265862758628586295863058631586325863358634586355863658637586385863958640586415864258643586445864558646586475864858649586505865158652586535865458655586565865758658586595866058661586625866358664586655866658667586685866958670586715867258673586745867558676586775867858679586805868158682586835868458685586865868758688586895869058691586925869358694586955869658697586985869958700587015870258703587045870558706587075870858709587105871158712587135871458715587165871758718587195872058721587225872358724587255872658727587285872958730587315873258733587345873558736587375873858739587405874158742587435874458745587465874758748587495875058751587525875358754587555875658757587585875958760587615876258763587645876558766587675876858769587705877158772587735877458775587765877758778587795878058781587825878358784587855878658787587885878958790587915879258793587945879558796587975879858799588005880158802588035880458805588065880758808588095881058811588125881358814588155881658817588185881958820588215882258823588245882558826588275882858829588305883158832588335883458835588365883758838588395884058841588425884358844588455884658847588485884958850588515885258853588545885558856588575885858859588605886158862588635886458865588665886758868588695887058871588725887358874588755887658877588785887958880588815888258883588845888558886588875888858889588905889158892588935889458895588965889758898588995890058901589025890358904589055890658907589085890958910589115891258913589145891558916589175891858919589205892158922589235892458925589265892758928589295893058931589325893358934589355893658937589385893958940589415894258943589445894558946589475894858949589505895158952589535895458955589565895758958589595896058961589625896358964589655896658967589685896958970589715897258973589745897558976589775897858979589805898158982589835898458985589865898758988589895899058991589925899358994589955899658997589985899959000590015900259003590045900559006590075900859009590105901159012590135901459015590165901759018590195902059021590225902359024590255902659027590285902959030590315903259033590345903559036590375903859039590405904159042590435904459045590465904759048590495905059051590525905359054590555905659057590585905959060590615906259063590645906559066590675906859069590705907159072590735907459075590765907759078590795908059081590825908359084590855908659087590885908959090590915909259093590945909559096590975909859099591005910159102591035910459105591065910759108591095911059111591125911359114591155911659117591185911959120591215912259123591245912559126591275912859129591305913159132591335913459135591365913759138591395914059141591425914359144591455914659147591485914959150591515915259153591545915559156591575915859159591605916159162591635916459165591665916759168591695917059171591725917359174591755917659177591785917959180591815918259183591845918559186591875918859189591905919159192591935919459195591965919759198591995920059201592025920359204592055920659207592085920959210592115921259213592145921559216592175921859219592205922159222592235922459225592265922759228592295923059231592325923359234592355923659237592385923959240592415924259243592445924559246592475924859249592505925159252592535925459255592565925759258592595926059261592625926359264592655926659267592685926959270592715927259273592745927559276592775927859279592805928159282592835928459285592865928759288592895929059291592925929359294592955929659297592985929959300593015930259303593045930559306593075930859309593105931159312593135931459315593165931759318593195932059321593225932359324593255932659327593285932959330593315933259333593345933559336593375933859339593405934159342593435934459345593465934759348593495935059351593525935359354593555935659357593585935959360593615936259363593645936559366593675936859369593705937159372593735937459375593765937759378593795938059381593825938359384593855938659387593885938959390593915939259393593945939559396593975939859399594005940159402594035940459405594065940759408594095941059411594125941359414594155941659417594185941959420594215942259423594245942559426594275942859429594305943159432594335943459435594365943759438594395944059441594425944359444594455944659447594485944959450594515945259453594545945559456594575945859459594605946159462594635946459465594665946759468594695947059471594725947359474594755947659477594785947959480594815948259483594845948559486594875948859489594905949159492594935949459495594965949759498594995950059501595025950359504595055950659507595085950959510595115951259513595145951559516595175951859519595205952159522595235952459525595265952759528595295953059531595325953359534595355953659537595385953959540595415954259543595445954559546595475954859549595505955159552595535955459555595565955759558595595956059561595625956359564595655956659567595685956959570595715957259573595745957559576595775957859579595805958159582595835958459585595865958759588595895959059591595925959359594595955959659597595985959959600596015960259603596045960559606596075960859609596105961159612596135961459615596165961759618596195962059621596225962359624596255962659627596285962959630596315963259633596345963559636596375963859639596405964159642596435964459645596465964759648596495965059651596525965359654596555965659657596585965959660596615966259663596645966559666596675966859669596705967159672596735967459675596765967759678596795968059681596825968359684596855968659687596885968959690596915969259693596945969559696596975969859699597005970159702597035970459705597065970759708597095971059711597125971359714597155971659717597185971959720597215972259723597245972559726597275972859729597305973159732597335973459735597365973759738597395974059741597425974359744597455974659747597485974959750597515975259753597545975559756597575975859759597605976159762597635976459765597665976759768597695977059771597725977359774597755977659777597785977959780597815978259783597845978559786597875978859789597905979159792597935979459795597965979759798597995980059801598025980359804598055980659807598085980959810598115981259813598145981559816598175981859819598205982159822598235982459825598265982759828598295983059831598325983359834598355983659837598385983959840598415984259843598445984559846598475984859849598505985159852598535985459855598565985759858598595986059861598625986359864598655986659867598685986959870598715987259873598745987559876598775987859879598805988159882598835988459885598865988759888598895989059891598925989359894598955989659897598985989959900599015990259903599045990559906599075990859909599105991159912599135991459915599165991759918599195992059921599225992359924599255992659927599285992959930599315993259933599345993559936599375993859939599405994159942599435994459945599465994759948599495995059951599525995359954599555995659957599585995959960599615996259963599645996559966599675996859969599705997159972599735997459975599765997759978599795998059981599825998359984599855998659987599885998959990599915999259993599945999559996599975999859999600006000160002600036000460005600066000760008600096001060011600126001360014600156001660017600186001960020600216002260023600246002560026600276002860029600306003160032600336003460035600366003760038600396004060041600426004360044600456004660047600486004960050600516005260053600546005560056600576005860059600606006160062600636006460065600666006760068600696007060071600726007360074600756007660077600786007960080600816008260083600846008560086600876008860089600906009160092600936009460095600966009760098600996010060101601026010360104601056010660107601086010960110601116011260113601146011560116601176011860119601206012160122601236012460125601266012760128601296013060131601326013360134601356013660137601386013960140601416014260143601446014560146601476014860149601506015160152601536015460155601566015760158601596016060161601626016360164601656016660167601686016960170601716017260173601746017560176601776017860179601806018160182601836018460185601866018760188601896019060191601926019360194601956019660197601986019960200602016020260203602046020560206602076020860209602106021160212602136021460215602166021760218602196022060221602226022360224602256022660227602286022960230602316023260233602346023560236602376023860239602406024160242602436024460245602466024760248602496025060251602526025360254602556025660257602586025960260602616026260263602646026560266602676026860269602706027160272602736027460275602766027760278602796028060281602826028360284602856028660287602886028960290602916029260293602946029560296602976029860299603006030160302603036030460305603066030760308603096031060311603126031360314603156031660317603186031960320603216032260323603246032560326603276032860329603306033160332603336033460335603366033760338603396034060341603426034360344603456034660347603486034960350603516035260353603546035560356603576035860359603606036160362603636036460365603666036760368603696037060371603726037360374603756037660377603786037960380603816038260383603846038560386603876038860389603906039160392603936039460395603966039760398603996040060401604026040360404604056040660407604086040960410604116041260413604146041560416604176041860419604206042160422604236042460425604266042760428604296043060431604326043360434604356043660437604386043960440604416044260443604446044560446604476044860449604506045160452604536045460455604566045760458604596046060461604626046360464604656046660467604686046960470604716047260473604746047560476604776047860479604806048160482604836048460485604866048760488604896049060491604926049360494604956049660497604986049960500605016050260503605046050560506605076050860509605106051160512605136051460515605166051760518605196052060521605226052360524605256052660527605286052960530605316053260533605346053560536605376053860539605406054160542605436054460545605466054760548605496055060551605526055360554605556055660557605586055960560605616056260563605646056560566605676056860569605706057160572605736057460575605766057760578605796058060581605826058360584605856058660587605886058960590605916059260593605946059560596605976059860599606006060160602606036060460605606066060760608606096061060611606126061360614606156061660617606186061960620606216062260623606246062560626606276062860629606306063160632606336063460635606366063760638606396064060641606426064360644606456064660647606486064960650606516065260653606546065560656606576065860659606606066160662606636066460665606666066760668606696067060671606726067360674606756067660677606786067960680606816068260683606846068560686606876068860689606906069160692606936069460695606966069760698606996070060701607026070360704607056070660707607086070960710607116071260713607146071560716607176071860719607206072160722607236072460725607266072760728607296073060731607326073360734607356073660737607386073960740607416074260743607446074560746607476074860749607506075160752607536075460755607566075760758607596076060761607626076360764607656076660767607686076960770607716077260773607746077560776607776077860779607806078160782607836078460785607866078760788607896079060791607926079360794607956079660797607986079960800608016080260803608046080560806608076080860809608106081160812608136081460815608166081760818608196082060821608226082360824608256082660827608286082960830608316083260833608346083560836608376083860839608406084160842608436084460845608466084760848608496085060851608526085360854608556085660857608586085960860608616086260863608646086560866608676086860869608706087160872608736087460875608766087760878608796088060881608826088360884608856088660887608886088960890608916089260893608946089560896608976089860899609006090160902609036090460905609066090760908609096091060911609126091360914609156091660917609186091960920609216092260923609246092560926609276092860929609306093160932609336093460935609366093760938609396094060941609426094360944609456094660947609486094960950609516095260953609546095560956609576095860959609606096160962609636096460965609666096760968609696097060971609726097360974609756097660977609786097960980609816098260983609846098560986609876098860989609906099160992609936099460995609966099760998609996100061001610026100361004610056100661007610086100961010610116101261013610146101561016610176101861019610206102161022610236102461025610266102761028610296103061031610326103361034610356103661037610386103961040610416104261043610446104561046610476104861049610506105161052610536105461055610566105761058610596106061061610626106361064610656106661067610686106961070610716107261073610746107561076610776107861079610806108161082610836108461085610866108761088610896109061091610926109361094610956109661097610986109961100611016110261103611046110561106611076110861109611106111161112611136111461115611166111761118611196112061121611226112361124611256112661127611286112961130611316113261133611346113561136611376113861139611406114161142611436114461145611466114761148611496115061151611526115361154611556115661157611586115961160611616116261163611646116561166611676116861169611706117161172611736117461175611766117761178611796118061181611826118361184611856118661187611886118961190611916119261193611946119561196611976119861199612006120161202612036120461205612066120761208612096121061211612126121361214612156121661217612186121961220612216122261223612246122561226612276122861229612306123161232612336123461235612366123761238612396124061241612426124361244612456124661247612486124961250612516125261253612546125561256612576125861259612606126161262612636126461265612666126761268612696127061271612726127361274612756127661277612786127961280612816128261283612846128561286612876128861289612906129161292612936129461295612966129761298612996130061301613026130361304613056130661307613086130961310613116131261313613146131561316613176131861319613206132161322613236132461325613266132761328613296133061331613326133361334613356133661337613386133961340613416134261343613446134561346613476134861349613506135161352613536135461355613566135761358613596136061361613626136361364613656136661367613686136961370613716137261373613746137561376613776137861379613806138161382613836138461385613866138761388613896139061391613926139361394613956139661397613986139961400614016140261403614046140561406614076140861409614106141161412614136141461415614166141761418614196142061421614226142361424614256142661427614286142961430614316143261433614346143561436614376143861439614406144161442614436144461445614466144761448614496145061451614526145361454614556145661457614586145961460614616146261463614646146561466614676146861469614706147161472614736147461475614766147761478614796148061481614826148361484614856148661487614886148961490614916149261493614946149561496614976149861499615006150161502615036150461505615066150761508615096151061511615126151361514615156151661517615186151961520615216152261523615246152561526615276152861529615306153161532615336153461535615366153761538615396154061541615426154361544615456154661547615486154961550615516155261553615546155561556615576155861559615606156161562615636156461565615666156761568615696157061571615726157361574615756157661577615786157961580615816158261583615846158561586615876158861589615906159161592615936159461595615966159761598615996160061601616026160361604616056160661607616086160961610616116161261613616146161561616616176161861619616206162161622616236162461625616266162761628616296163061631616326163361634616356163661637616386163961640616416164261643616446164561646616476164861649616506165161652616536165461655616566165761658616596166061661616626166361664616656166661667616686166961670616716167261673616746167561676616776167861679616806168161682616836168461685616866168761688616896169061691616926169361694616956169661697616986169961700617016170261703617046170561706617076170861709617106171161712617136171461715617166171761718617196172061721617226172361724617256172661727617286172961730617316173261733617346173561736617376173861739617406174161742617436174461745617466174761748617496175061751617526175361754617556175661757617586175961760617616176261763617646176561766617676176861769617706177161772617736177461775617766177761778617796178061781617826178361784617856178661787617886178961790617916179261793617946179561796617976179861799618006180161802618036180461805618066180761808618096181061811618126181361814618156181661817618186181961820618216182261823618246182561826618276182861829618306183161832618336183461835618366183761838618396184061841618426184361844618456184661847618486184961850618516185261853618546185561856618576185861859618606186161862618636186461865618666186761868618696187061871618726187361874618756187661877618786187961880618816188261883618846188561886618876188861889618906189161892618936189461895618966189761898618996190061901619026190361904619056190661907619086190961910619116191261913619146191561916619176191861919619206192161922619236192461925619266192761928619296193061931619326193361934619356193661937619386193961940619416194261943619446194561946619476194861949619506195161952619536195461955619566195761958619596196061961619626196361964619656196661967619686196961970619716197261973619746197561976619776197861979619806198161982619836198461985619866198761988619896199061991619926199361994619956199661997619986199962000620016200262003620046200562006620076200862009620106201162012620136201462015620166201762018620196202062021620226202362024620256202662027620286202962030620316203262033620346203562036620376203862039620406204162042620436204462045620466204762048620496205062051620526205362054620556205662057620586205962060620616206262063620646206562066620676206862069620706207162072620736207462075620766207762078620796208062081620826208362084620856208662087620886208962090620916209262093620946209562096620976209862099621006210162102621036210462105621066210762108621096211062111621126211362114621156211662117621186211962120621216212262123621246212562126621276212862129621306213162132621336213462135621366213762138621396214062141621426214362144621456214662147621486214962150621516215262153621546215562156621576215862159621606216162162621636216462165621666216762168621696217062171621726217362174621756217662177621786217962180621816218262183621846218562186621876218862189621906219162192621936219462195621966219762198621996220062201622026220362204622056220662207622086220962210622116221262213622146221562216622176221862219622206222162222622236222462225622266222762228622296223062231622326223362234622356223662237622386223962240622416224262243622446224562246622476224862249622506225162252622536225462255622566225762258622596226062261622626226362264622656226662267622686226962270622716227262273622746227562276622776227862279622806228162282622836228462285622866228762288622896229062291622926229362294622956229662297622986229962300623016230262303623046230562306623076230862309623106231162312623136231462315623166231762318623196232062321623226232362324623256232662327623286232962330623316233262333623346233562336623376233862339623406234162342623436234462345623466234762348623496235062351623526235362354623556235662357623586235962360623616236262363623646236562366623676236862369623706237162372623736237462375623766237762378623796238062381623826238362384623856238662387623886238962390623916239262393623946239562396623976239862399624006240162402624036240462405624066240762408624096241062411624126241362414624156241662417624186241962420624216242262423624246242562426624276242862429624306243162432624336243462435624366243762438624396244062441624426244362444624456244662447624486244962450624516245262453624546245562456624576245862459624606246162462624636246462465624666246762468624696247062471624726247362474624756247662477624786247962480624816248262483624846248562486624876248862489624906249162492624936249462495624966249762498624996250062501625026250362504625056250662507625086250962510625116251262513625146251562516625176251862519625206252162522625236252462525625266252762528625296253062531625326253362534625356253662537625386253962540625416254262543625446254562546625476254862549625506255162552625536255462555625566255762558625596256062561625626256362564625656256662567625686256962570625716257262573625746257562576625776257862579625806258162582625836258462585625866258762588625896259062591625926259362594625956259662597625986259962600626016260262603626046260562606626076260862609626106261162612626136261462615626166261762618626196262062621626226262362624626256262662627626286262962630626316263262633626346263562636626376263862639626406264162642626436264462645626466264762648626496265062651626526265362654626556265662657626586265962660626616266262663626646266562666626676266862669626706267162672626736267462675626766267762678626796268062681626826268362684626856268662687626886268962690626916269262693626946269562696626976269862699627006270162702627036270462705627066270762708627096271062711627126271362714627156271662717627186271962720627216272262723627246272562726627276272862729627306273162732627336273462735627366273762738627396274062741627426274362744627456274662747627486274962750627516275262753627546275562756627576275862759627606276162762627636276462765627666276762768627696277062771627726277362774627756277662777627786277962780627816278262783627846278562786627876278862789627906279162792627936279462795627966279762798627996280062801628026280362804628056280662807628086280962810628116281262813628146281562816628176281862819628206282162822628236282462825628266282762828628296283062831628326283362834628356283662837628386283962840628416284262843628446284562846628476284862849628506285162852628536285462855628566285762858628596286062861628626286362864628656286662867628686286962870628716287262873628746287562876628776287862879628806288162882628836288462885628866288762888628896289062891628926289362894628956289662897628986289962900629016290262903629046290562906629076290862909629106291162912629136291462915629166291762918629196292062921629226292362924629256292662927629286292962930629316293262933629346293562936629376293862939629406294162942629436294462945629466294762948629496295062951629526295362954629556295662957629586295962960629616296262963629646296562966629676296862969629706297162972629736297462975629766297762978629796298062981629826298362984629856298662987629886298962990629916299262993629946299562996629976299862999630006300163002630036300463005630066300763008630096301063011630126301363014630156301663017630186301963020630216302263023630246302563026630276302863029630306303163032630336303463035630366303763038630396304063041630426304363044630456304663047630486304963050630516305263053630546305563056630576305863059630606306163062630636306463065630666306763068630696307063071630726307363074630756307663077630786307963080630816308263083630846308563086630876308863089630906309163092630936309463095630966309763098630996310063101631026310363104631056310663107631086310963110631116311263113631146311563116631176311863119631206312163122631236312463125631266312763128631296313063131631326313363134631356313663137631386313963140631416314263143631446314563146631476314863149631506315163152631536315463155631566315763158631596316063161631626316363164631656316663167631686316963170631716317263173631746317563176631776317863179631806318163182631836318463185631866318763188631896319063191631926319363194631956319663197631986319963200632016320263203632046320563206632076320863209632106321163212632136321463215632166321763218632196322063221632226322363224632256322663227632286322963230632316323263233632346323563236632376323863239632406324163242632436324463245632466324763248632496325063251632526325363254632556325663257632586325963260632616326263263632646326563266632676326863269632706327163272632736327463275632766327763278632796328063281632826328363284632856328663287632886328963290632916329263293632946329563296632976329863299633006330163302633036330463305633066330763308633096331063311633126331363314633156331663317633186331963320633216332263323633246332563326633276332863329633306333163332633336333463335633366333763338633396334063341633426334363344633456334663347633486334963350633516335263353633546335563356633576335863359633606336163362633636336463365633666336763368633696337063371633726337363374633756337663377633786337963380633816338263383633846338563386633876338863389633906339163392633936339463395633966339763398633996340063401634026340363404634056340663407634086340963410634116341263413634146341563416634176341863419634206342163422634236342463425634266342763428634296343063431634326343363434634356343663437634386343963440634416344263443634446344563446634476344863449634506345163452634536345463455634566345763458634596346063461634626346363464634656346663467634686346963470634716347263473634746347563476634776347863479634806348163482634836348463485634866348763488634896349063491634926349363494634956349663497634986349963500635016350263503635046350563506635076350863509635106351163512635136351463515635166351763518635196352063521635226352363524635256352663527635286352963530635316353263533635346353563536635376353863539635406354163542635436354463545635466354763548635496355063551635526355363554635556355663557635586355963560635616356263563635646356563566635676356863569635706357163572635736357463575635766357763578635796358063581635826358363584635856358663587635886358963590635916359263593635946359563596635976359863599636006360163602636036360463605636066360763608636096361063611636126361363614636156361663617636186361963620636216362263623636246362563626636276362863629636306363163632636336363463635636366363763638636396364063641636426364363644636456364663647636486364963650636516365263653636546365563656636576365863659636606366163662636636366463665636666366763668636696367063671636726367363674636756367663677636786367963680636816368263683636846368563686636876368863689636906369163692636936369463695636966369763698636996370063701637026370363704637056370663707637086370963710637116371263713637146371563716637176371863719637206372163722637236372463725637266372763728637296373063731637326373363734637356373663737637386373963740637416374263743637446374563746637476374863749637506375163752637536375463755637566375763758637596376063761637626376363764637656376663767637686376963770637716377263773637746377563776637776377863779637806378163782637836378463785637866378763788637896379063791637926379363794637956379663797637986379963800638016380263803638046380563806638076380863809638106381163812638136381463815638166381763818638196382063821638226382363824638256382663827638286382963830638316383263833638346383563836638376383863839638406384163842638436384463845638466384763848638496385063851638526385363854638556385663857638586385963860638616386263863638646386563866638676386863869638706387163872638736387463875638766387763878638796388063881638826388363884638856388663887638886388963890638916389263893638946389563896638976389863899639006390163902639036390463905639066390763908639096391063911639126391363914639156391663917639186391963920639216392263923639246392563926639276392863929639306393163932639336393463935639366393763938639396394063941639426394363944639456394663947639486394963950639516395263953639546395563956639576395863959639606396163962639636396463965639666396763968639696397063971639726397363974639756397663977639786397963980639816398263983639846398563986639876398863989639906399163992639936399463995639966399763998639996400064001640026400364004640056400664007640086400964010640116401264013640146401564016640176401864019640206402164022640236402464025640266402764028640296403064031640326403364034640356403664037640386403964040640416404264043640446404564046640476404864049640506405164052640536405464055640566405764058640596406064061640626406364064640656406664067640686406964070640716407264073640746407564076640776407864079640806408164082640836408464085640866408764088640896409064091640926409364094640956409664097640986409964100641016410264103641046410564106641076410864109641106411164112641136411464115641166411764118641196412064121641226412364124641256412664127641286412964130641316413264133641346413564136641376413864139641406414164142641436414464145641466414764148641496415064151641526415364154641556415664157641586415964160641616416264163641646416564166641676416864169641706417164172641736417464175641766417764178641796418064181641826418364184641856418664187641886418964190641916419264193641946419564196641976419864199642006420164202642036420464205642066420764208642096421064211642126421364214642156421664217642186421964220642216422264223642246422564226642276422864229642306423164232642336423464235642366423764238642396424064241642426424364244642456424664247642486424964250642516425264253642546425564256642576425864259642606426164262642636426464265642666426764268642696427064271642726427364274642756427664277642786427964280642816428264283642846428564286642876428864289642906429164292642936429464295642966429764298642996430064301643026430364304643056430664307643086430964310643116431264313643146431564316643176431864319643206432164322643236432464325643266432764328643296433064331643326433364334643356433664337643386433964340643416434264343643446434564346643476434864349643506435164352643536435464355643566435764358643596436064361643626436364364643656436664367643686436964370643716437264373643746437564376643776437864379643806438164382643836438464385643866438764388643896439064391643926439364394643956439664397643986439964400644016440264403644046440564406644076440864409644106441164412644136441464415644166441764418644196442064421644226442364424644256442664427644286442964430644316443264433644346443564436644376443864439644406444164442644436444464445644466444764448644496445064451644526445364454644556445664457644586445964460644616446264463644646446564466644676446864469644706447164472644736447464475644766447764478644796448064481644826448364484644856448664487644886448964490644916449264493644946449564496644976449864499645006450164502645036450464505645066450764508645096451064511645126451364514645156451664517645186451964520645216452264523645246452564526645276452864529645306453164532645336453464535645366453764538645396454064541645426454364544645456454664547645486454964550645516455264553645546455564556645576455864559645606456164562645636456464565645666456764568645696457064571645726457364574645756457664577645786457964580645816458264583645846458564586645876458864589645906459164592645936459464595645966459764598645996460064601646026460364604646056460664607646086460964610646116461264613646146461564616646176461864619646206462164622646236462464625646266462764628646296463064631646326463364634646356463664637646386463964640646416464264643646446464564646646476464864649646506465164652646536465464655646566465764658646596466064661646626466364664646656466664667646686466964670646716467264673646746467564676646776467864679646806468164682646836468464685646866468764688646896469064691646926469364694646956469664697646986469964700647016470264703647046470564706647076470864709647106471164712647136471464715647166471764718647196472064721647226472364724647256472664727647286472964730647316473264733647346473564736647376473864739647406474164742647436474464745647466474764748647496475064751647526475364754647556475664757647586475964760647616476264763647646476564766647676476864769647706477164772647736477464775647766477764778647796478064781647826478364784647856478664787647886478964790647916479264793647946479564796647976479864799648006480164802648036480464805648066480764808648096481064811648126481364814648156481664817648186481964820648216482264823648246482564826648276482864829648306483164832648336483464835648366483764838648396484064841648426484364844648456484664847648486484964850648516485264853648546485564856648576485864859648606486164862648636486464865648666486764868648696487064871648726487364874648756487664877648786487964880648816488264883648846488564886648876488864889648906489164892648936489464895648966489764898648996490064901649026490364904649056490664907649086490964910649116491264913649146491564916649176491864919649206492164922649236492464925649266492764928649296493064931649326493364934649356493664937649386493964940649416494264943649446494564946649476494864949649506495164952649536495464955649566495764958649596496064961649626496364964649656496664967649686496964970649716497264973649746497564976649776497864979649806498164982649836498464985649866498764988649896499064991649926499364994649956499664997649986499965000650016500265003650046500565006650076500865009650106501165012650136501465015650166501765018650196502065021650226502365024650256502665027650286502965030650316503265033650346503565036650376503865039650406504165042650436504465045650466504765048650496505065051650526505365054650556505665057650586505965060650616506265063650646506565066650676506865069650706507165072650736507465075650766507765078650796508065081650826508365084650856508665087650886508965090650916509265093650946509565096650976509865099651006510165102651036510465105651066510765108651096511065111651126511365114651156511665117651186511965120651216512265123651246512565126651276512865129651306513165132651336513465135651366513765138651396514065141651426514365144651456514665147651486514965150651516515265153651546515565156651576515865159651606516165162651636516465165651666516765168651696517065171651726517365174651756517665177651786517965180651816518265183651846518565186651876518865189651906519165192651936519465195651966519765198651996520065201652026520365204652056520665207652086520965210652116521265213652146521565216652176521865219652206522165222652236522465225652266522765228652296523065231652326523365234652356523665237652386523965240652416524265243652446524565246652476524865249652506525165252652536525465255652566525765258652596526065261652626526365264652656526665267652686526965270652716527265273652746527565276652776527865279652806528165282652836528465285652866528765288652896529065291652926529365294652956529665297652986529965300653016530265303653046530565306653076530865309653106531165312653136531465315653166531765318653196532065321653226532365324653256532665327653286532965330653316533265333653346533565336653376533865339653406534165342653436534465345653466534765348653496535065351653526535365354653556535665357653586535965360653616536265363653646536565366653676536865369653706537165372653736537465375653766537765378653796538065381653826538365384653856538665387653886538965390653916539265393653946539565396653976539865399654006540165402654036540465405654066540765408654096541065411654126541365414654156541665417654186541965420654216542265423654246542565426654276542865429654306543165432654336543465435654366543765438654396544065441654426544365444654456544665447654486544965450654516545265453654546545565456654576545865459654606546165462654636546465465654666546765468654696547065471654726547365474654756547665477654786547965480654816548265483654846548565486654876548865489654906549165492654936549465495654966549765498654996550065501655026550365504655056550665507655086550965510655116551265513655146551565516655176551865519655206552165522655236552465525655266552765528655296553065531655326553365534655356553665537655386553965540655416554265543655446554565546655476554865549655506555165552655536555465555655566555765558655596556065561655626556365564655656556665567655686556965570655716557265573655746557565576655776557865579655806558165582655836558465585655866558765588655896559065591655926559365594655956559665597655986559965600656016560265603656046560565606656076560865609656106561165612656136561465615656166561765618656196562065621656226562365624656256562665627656286562965630656316563265633656346563565636656376563865639656406564165642656436564465645656466564765648656496565065651656526565365654656556565665657656586565965660656616566265663656646566565666656676566865669656706567165672656736567465675656766567765678656796568065681656826568365684656856568665687656886568965690656916569265693656946569565696656976569865699657006570165702657036570465705657066570765708657096571065711657126571365714657156571665717657186571965720657216572265723657246572565726657276572865729657306573165732657336573465735657366573765738657396574065741657426574365744657456574665747657486574965750657516575265753657546575565756657576575865759657606576165762657636576465765657666576765768657696577065771657726577365774657756577665777657786577965780657816578265783657846578565786657876578865789657906579165792657936579465795657966579765798657996580065801658026580365804658056580665807658086580965810658116581265813658146581565816658176581865819658206582165822658236582465825658266582765828658296583065831658326583365834658356583665837658386583965840658416584265843658446584565846658476584865849658506585165852658536585465855658566585765858658596586065861658626586365864658656586665867658686586965870658716587265873658746587565876658776587865879658806588165882658836588465885658866588765888658896589065891658926589365894658956589665897658986589965900659016590265903659046590565906659076590865909659106591165912659136591465915659166591765918659196592065921659226592365924659256592665927659286592965930659316593265933659346593565936659376593865939659406594165942659436594465945659466594765948659496595065951659526595365954659556595665957659586595965960659616596265963659646596565966659676596865969659706597165972659736597465975659766597765978659796598065981659826598365984659856598665987659886598965990659916599265993659946599565996659976599865999660006600166002660036600466005660066600766008660096601066011660126601366014660156601666017660186601966020660216602266023660246602566026660276602866029660306603166032660336603466035660366603766038660396604066041660426604366044660456604666047660486604966050660516605266053660546605566056660576605866059660606606166062660636606466065660666606766068660696607066071660726607366074660756607666077660786607966080660816608266083660846608566086660876608866089660906609166092660936609466095660966609766098660996610066101661026610366104661056610666107661086610966110661116611266113661146611566116661176611866119661206612166122661236612466125661266612766128661296613066131661326613366134661356613666137661386613966140661416614266143661446614566146661476614866149661506615166152661536615466155661566615766158661596616066161661626616366164661656616666167661686616966170661716617266173661746617566176661776617866179661806618166182661836618466185661866618766188661896619066191661926619366194661956619666197661986619966200662016620266203662046620566206662076620866209662106621166212662136621466215662166621766218662196622066221662226622366224662256622666227662286622966230662316623266233662346623566236662376623866239662406624166242662436624466245662466624766248662496625066251662526625366254662556625666257662586625966260662616626266263662646626566266662676626866269662706627166272662736627466275662766627766278662796628066281662826628366284662856628666287662886628966290662916629266293662946629566296662976629866299663006630166302663036630466305663066630766308663096631066311663126631366314663156631666317663186631966320663216632266323663246632566326663276632866329663306633166332663336633466335663366633766338663396634066341663426634366344663456634666347663486634966350663516635266353663546635566356663576635866359663606636166362663636636466365663666636766368663696637066371663726637366374663756637666377663786637966380663816638266383663846638566386663876638866389663906639166392663936639466395663966639766398663996640066401664026640366404664056640666407664086640966410664116641266413664146641566416664176641866419664206642166422664236642466425664266642766428664296643066431664326643366434664356643666437664386643966440664416644266443664446644566446664476644866449664506645166452664536645466455664566645766458664596646066461664626646366464664656646666467664686646966470664716647266473664746647566476664776647866479664806648166482664836648466485664866648766488664896649066491664926649366494664956649666497664986649966500665016650266503665046650566506665076650866509665106651166512665136651466515665166651766518665196652066521665226652366524665256652666527665286652966530665316653266533665346653566536665376653866539665406654166542665436654466545665466654766548665496655066551665526655366554665556655666557665586655966560665616656266563665646656566566665676656866569665706657166572665736657466575665766657766578665796658066581665826658366584665856658666587665886658966590665916659266593665946659566596665976659866599666006660166602666036660466605666066660766608666096661066611666126661366614666156661666617666186661966620666216662266623666246662566626666276662866629666306663166632666336663466635666366663766638666396664066641666426664366644666456664666647666486664966650666516665266653666546665566656666576665866659666606666166662666636666466665666666666766668666696667066671666726667366674666756667666677666786667966680666816668266683666846668566686666876668866689666906669166692666936669466695666966669766698666996670066701667026670366704667056670666707667086670966710667116671266713667146671566716667176671866719667206672166722667236672466725667266672766728667296673066731667326673366734667356673666737667386673966740667416674266743667446674566746667476674866749667506675166752667536675466755667566675766758667596676066761667626676366764667656676666767667686676966770667716677266773667746677566776667776677866779667806678166782667836678466785667866678766788667896679066791667926679366794667956679666797667986679966800668016680266803668046680566806668076680866809668106681166812668136681466815668166681766818668196682066821668226682366824668256682666827668286682966830668316683266833668346683566836668376683866839668406684166842668436684466845668466684766848668496685066851668526685366854668556685666857668586685966860668616686266863668646686566866668676686866869668706687166872668736687466875668766687766878668796688066881668826688366884668856688666887668886688966890668916689266893668946689566896668976689866899669006690166902669036690466905669066690766908669096691066911669126691366914669156691666917669186691966920669216692266923669246692566926669276692866929669306693166932669336693466935669366693766938669396694066941669426694366944669456694666947669486694966950669516695266953669546695566956669576695866959669606696166962669636696466965669666696766968669696697066971669726697366974669756697666977669786697966980669816698266983669846698566986669876698866989669906699166992669936699466995669966699766998669996700067001670026700367004670056700667007670086700967010670116701267013670146701567016670176701867019670206702167022670236702467025670266702767028670296703067031670326703367034670356703667037670386703967040670416704267043670446704567046670476704867049670506705167052670536705467055670566705767058670596706067061670626706367064670656706667067670686706967070670716707267073670746707567076670776707867079670806708167082670836708467085670866708767088670896709067091670926709367094670956709667097670986709967100671016710267103671046710567106671076710867109671106711167112671136711467115671166711767118671196712067121671226712367124671256712667127671286712967130671316713267133671346713567136671376713867139671406714167142671436714467145671466714767148671496715067151671526715367154671556715667157671586715967160671616716267163671646716567166671676716867169671706717167172671736717467175671766717767178671796718067181671826718367184671856718667187671886718967190671916719267193671946719567196671976719867199672006720167202672036720467205672066720767208672096721067211672126721367214672156721667217672186721967220672216722267223672246722567226672276722867229672306723167232672336723467235672366723767238672396724067241672426724367244672456724667247672486724967250672516725267253672546725567256672576725867259672606726167262672636726467265672666726767268672696727067271672726727367274672756727667277672786727967280672816728267283672846728567286672876728867289672906729167292672936729467295672966729767298672996730067301673026730367304673056730667307673086730967310673116731267313673146731567316673176731867319673206732167322673236732467325673266732767328673296733067331673326733367334673356733667337673386733967340673416734267343673446734567346673476734867349673506735167352673536735467355673566735767358673596736067361673626736367364673656736667367673686736967370673716737267373673746737567376673776737867379673806738167382673836738467385673866738767388673896739067391673926739367394673956739667397673986739967400674016740267403674046740567406674076740867409674106741167412674136741467415674166741767418674196742067421674226742367424674256742667427674286742967430674316743267433674346743567436674376743867439674406744167442674436744467445674466744767448674496745067451674526745367454674556745667457674586745967460674616746267463674646746567466674676746867469674706747167472674736747467475674766747767478674796748067481674826748367484674856748667487674886748967490674916749267493674946749567496674976749867499675006750167502675036750467505675066750767508675096751067511675126751367514675156751667517675186751967520675216752267523675246752567526675276752867529675306753167532675336753467535675366753767538675396754067541675426754367544675456754667547675486754967550675516755267553675546755567556675576755867559675606756167562675636756467565675666756767568675696757067571675726757367574675756757667577675786757967580675816758267583675846758567586675876758867589675906759167592675936759467595675966759767598675996760067601676026760367604676056760667607676086760967610676116761267613676146761567616676176761867619676206762167622676236762467625676266762767628676296763067631676326763367634676356763667637676386763967640676416764267643676446764567646676476764867649676506765167652676536765467655676566765767658676596766067661676626766367664676656766667667676686766967670676716767267673676746767567676676776767867679676806768167682676836768467685676866768767688676896769067691676926769367694676956769667697676986769967700677016770267703677046770567706677076770867709677106771167712677136771467715677166771767718677196772067721677226772367724677256772667727677286772967730677316773267733677346773567736677376773867739677406774167742677436774467745677466774767748677496775067751677526775367754677556775667757677586775967760677616776267763677646776567766677676776867769677706777167772677736777467775677766777767778677796778067781677826778367784677856778667787677886778967790677916779267793677946779567796677976779867799678006780167802678036780467805678066780767808678096781067811678126781367814678156781667817678186781967820678216782267823678246782567826678276782867829678306783167832678336783467835678366783767838678396784067841678426784367844678456784667847678486784967850678516785267853678546785567856678576785867859678606786167862678636786467865678666786767868678696787067871678726787367874678756787667877678786787967880678816788267883678846788567886678876788867889678906789167892678936789467895678966789767898678996790067901679026790367904679056790667907679086790967910679116791267913679146791567916679176791867919679206792167922679236792467925679266792767928679296793067931679326793367934679356793667937679386793967940679416794267943679446794567946679476794867949679506795167952679536795467955679566795767958679596796067961679626796367964679656796667967679686796967970679716797267973679746797567976679776797867979679806798167982679836798467985679866798767988679896799067991679926799367994679956799667997679986799968000680016800268003680046800568006680076800868009680106801168012680136801468015680166801768018680196802068021680226802368024680256802668027680286802968030680316803268033680346803568036680376803868039680406804168042680436804468045680466804768048680496805068051680526805368054680556805668057680586805968060680616806268063680646806568066680676806868069680706807168072680736807468075680766807768078680796808068081680826808368084680856808668087680886808968090680916809268093680946809568096680976809868099681006810168102681036810468105681066810768108681096811068111681126811368114681156811668117681186811968120681216812268123681246812568126681276812868129681306813168132681336813468135681366813768138681396814068141681426814368144681456814668147681486814968150681516815268153681546815568156681576815868159681606816168162681636816468165681666816768168681696817068171681726817368174681756817668177681786817968180681816818268183681846818568186681876818868189681906819168192681936819468195681966819768198681996820068201682026820368204682056820668207682086820968210682116821268213682146821568216682176821868219682206822168222682236822468225682266822768228682296823068231682326823368234682356823668237682386823968240682416824268243682446824568246682476824868249682506825168252682536825468255682566825768258682596826068261682626826368264682656826668267682686826968270682716827268273682746827568276682776827868279682806828168282682836828468285682866828768288682896829068291682926829368294682956829668297682986829968300683016830268303683046830568306683076830868309683106831168312683136831468315683166831768318683196832068321683226832368324683256832668327683286832968330683316833268333683346833568336683376833868339683406834168342683436834468345683466834768348683496835068351683526835368354683556835668357683586835968360683616836268363683646836568366683676836868369683706837168372683736837468375683766837768378683796838068381683826838368384683856838668387683886838968390683916839268393683946839568396683976839868399684006840168402684036840468405684066840768408684096841068411684126841368414684156841668417684186841968420684216842268423684246842568426684276842868429684306843168432684336843468435684366843768438684396844068441684426844368444684456844668447684486844968450684516845268453684546845568456684576845868459684606846168462684636846468465684666846768468684696847068471684726847368474684756847668477684786847968480684816848268483684846848568486684876848868489684906849168492684936849468495684966849768498684996850068501685026850368504685056850668507685086850968510685116851268513685146851568516685176851868519685206852168522685236852468525685266852768528685296853068531685326853368534685356853668537685386853968540685416854268543685446854568546685476854868549685506855168552685536855468555685566855768558685596856068561685626856368564685656856668567685686856968570685716857268573685746857568576685776857868579685806858168582685836858468585685866858768588685896859068591685926859368594685956859668597685986859968600686016860268603686046860568606686076860868609686106861168612686136861468615686166861768618686196862068621686226862368624686256862668627686286862968630686316863268633686346863568636686376863868639686406864168642686436864468645686466864768648686496865068651686526865368654686556865668657686586865968660686616866268663686646866568666686676866868669686706867168672686736867468675686766867768678686796868068681686826868368684686856868668687686886868968690686916869268693686946869568696686976869868699687006870168702687036870468705687066870768708687096871068711687126871368714687156871668717687186871968720687216872268723687246872568726687276872868729687306873168732687336873468735687366873768738687396874068741687426874368744687456874668747687486874968750687516875268753687546875568756687576875868759687606876168762687636876468765687666876768768687696877068771687726877368774687756877668777687786877968780687816878268783687846878568786687876878868789687906879168792687936879468795687966879768798687996880068801688026880368804688056880668807688086880968810688116881268813688146881568816688176881868819688206882168822688236882468825688266882768828688296883068831688326883368834688356883668837688386883968840688416884268843688446884568846688476884868849688506885168852688536885468855688566885768858688596886068861688626886368864688656886668867688686886968870688716887268873688746887568876688776887868879688806888168882688836888468885688866888768888688896889068891688926889368894688956889668897688986889968900689016890268903689046890568906689076890868909689106891168912689136891468915689166891768918689196892068921689226892368924689256892668927689286892968930689316893268933689346893568936689376893868939689406894168942689436894468945689466894768948689496895068951689526895368954689556895668957689586895968960689616896268963689646896568966689676896868969689706897168972689736897468975689766897768978689796898068981689826898368984689856898668987689886898968990689916899268993689946899568996689976899868999690006900169002690036900469005690066900769008690096901069011690126901369014690156901669017690186901969020690216902269023690246902569026690276902869029690306903169032690336903469035690366903769038690396904069041690426904369044690456904669047690486904969050690516905269053690546905569056690576905869059690606906169062690636906469065690666906769068690696907069071690726907369074690756907669077690786907969080690816908269083690846908569086690876908869089690906909169092690936909469095690966909769098690996910069101691026910369104691056910669107691086910969110691116911269113691146911569116691176911869119691206912169122691236912469125691266912769128691296913069131691326913369134691356913669137691386913969140691416914269143691446914569146691476914869149691506915169152691536915469155691566915769158691596916069161691626916369164691656916669167691686916969170691716917269173691746917569176691776917869179691806918169182691836918469185691866918769188691896919069191691926919369194691956919669197691986919969200692016920269203692046920569206692076920869209692106921169212692136921469215692166921769218692196922069221692226922369224692256922669227692286922969230692316923269233692346923569236692376923869239692406924169242692436924469245692466924769248692496925069251692526925369254692556925669257692586925969260692616926269263692646926569266692676926869269692706927169272692736927469275692766927769278692796928069281692826928369284692856928669287692886928969290692916929269293692946929569296692976929869299693006930169302693036930469305693066930769308693096931069311693126931369314693156931669317693186931969320693216932269323693246932569326693276932869329693306933169332693336933469335693366933769338693396934069341693426934369344693456934669347693486934969350693516935269353693546935569356693576935869359693606936169362693636936469365693666936769368693696937069371693726937369374693756937669377693786937969380693816938269383693846938569386693876938869389693906939169392693936939469395693966939769398693996940069401694026940369404694056940669407694086940969410694116941269413694146941569416694176941869419694206942169422694236942469425694266942769428694296943069431694326943369434694356943669437694386943969440694416944269443694446944569446694476944869449694506945169452694536945469455694566945769458694596946069461694626946369464694656946669467694686946969470694716947269473694746947569476694776947869479694806948169482694836948469485694866948769488694896949069491694926949369494694956949669497694986949969500695016950269503695046950569506695076950869509695106951169512695136951469515695166951769518695196952069521695226952369524695256952669527695286952969530695316953269533695346953569536695376953869539695406954169542695436954469545695466954769548695496955069551695526955369554695556955669557695586955969560695616956269563695646956569566695676956869569695706957169572695736957469575695766957769578695796958069581695826958369584695856958669587695886958969590695916959269593695946959569596695976959869599696006960169602696036960469605696066960769608696096961069611696126961369614696156961669617696186961969620696216962269623696246962569626696276962869629696306963169632696336963469635696366963769638696396964069641696426964369644696456964669647696486964969650696516965269653696546965569656696576965869659696606966169662696636966469665696666966769668696696967069671696726967369674696756967669677696786967969680696816968269683696846968569686696876968869689696906969169692696936969469695696966969769698696996970069701697026970369704697056970669707697086970969710697116971269713697146971569716697176971869719697206972169722697236972469725697266972769728697296973069731697326973369734697356973669737697386973969740697416974269743697446974569746697476974869749697506975169752697536975469755697566975769758697596976069761697626976369764697656976669767697686976969770697716977269773697746977569776697776977869779697806978169782697836978469785697866978769788697896979069791697926979369794697956979669797697986979969800698016980269803698046980569806698076980869809698106981169812698136981469815698166981769818698196982069821698226982369824698256982669827698286982969830698316983269833698346983569836698376983869839698406984169842698436984469845698466984769848698496985069851698526985369854698556985669857698586985969860698616986269863698646986569866698676986869869698706987169872698736987469875698766987769878698796988069881698826988369884698856988669887698886988969890698916989269893698946989569896698976989869899699006990169902699036990469905699066990769908699096991069911699126991369914699156991669917699186991969920699216992269923699246992569926699276992869929699306993169932699336993469935699366993769938699396994069941699426994369944699456994669947699486994969950699516995269953699546995569956699576995869959699606996169962699636996469965699666996769968699696997069971699726997369974699756997669977699786997969980699816998269983699846998569986699876998869989699906999169992699936999469995699966999769998699997000070001700027000370004700057000670007700087000970010700117001270013700147001570016700177001870019700207002170022700237002470025700267002770028700297003070031700327003370034700357003670037700387003970040700417004270043700447004570046700477004870049700507005170052700537005470055700567005770058700597006070061700627006370064700657006670067700687006970070700717007270073700747007570076700777007870079700807008170082700837008470085700867008770088700897009070091700927009370094700957009670097700987009970100701017010270103701047010570106701077010870109701107011170112701137011470115701167011770118701197012070121701227012370124701257012670127701287012970130701317013270133701347013570136701377013870139701407014170142701437014470145701467014770148701497015070151701527015370154701557015670157701587015970160701617016270163701647016570166701677016870169701707017170172701737017470175701767017770178701797018070181701827018370184701857018670187701887018970190701917019270193701947019570196701977019870199702007020170202702037020470205702067020770208702097021070211702127021370214702157021670217702187021970220702217022270223702247022570226702277022870229702307023170232702337023470235702367023770238702397024070241702427024370244702457024670247702487024970250702517025270253702547025570256702577025870259702607026170262702637026470265702667026770268702697027070271702727027370274702757027670277702787027970280702817028270283702847028570286702877028870289702907029170292702937029470295702967029770298702997030070301703027030370304703057030670307703087030970310703117031270313703147031570316703177031870319703207032170322703237032470325703267032770328703297033070331703327033370334703357033670337703387033970340703417034270343703447034570346703477034870349703507035170352703537035470355703567035770358703597036070361703627036370364703657036670367703687036970370703717037270373703747037570376703777037870379703807038170382703837038470385703867038770388703897039070391703927039370394703957039670397703987039970400704017040270403704047040570406704077040870409704107041170412704137041470415704167041770418704197042070421704227042370424704257042670427704287042970430704317043270433704347043570436704377043870439704407044170442704437044470445704467044770448704497045070451704527045370454704557045670457704587045970460704617046270463704647046570466704677046870469704707047170472704737047470475704767047770478704797048070481704827048370484704857048670487704887048970490704917049270493704947049570496704977049870499705007050170502705037050470505705067050770508705097051070511705127051370514705157051670517705187051970520705217052270523705247052570526705277052870529705307053170532705337053470535705367053770538705397054070541705427054370544705457054670547705487054970550705517055270553705547055570556705577055870559705607056170562705637056470565705667056770568705697057070571705727057370574705757057670577705787057970580705817058270583705847058570586705877058870589705907059170592705937059470595705967059770598705997060070601706027060370604706057060670607706087060970610706117061270613706147061570616706177061870619706207062170622706237062470625706267062770628706297063070631706327063370634706357063670637706387063970640706417064270643706447064570646706477064870649706507065170652706537065470655706567065770658706597066070661706627066370664706657066670667706687066970670706717067270673706747067570676706777067870679706807068170682706837068470685706867068770688706897069070691706927069370694706957069670697706987069970700707017070270703707047070570706707077070870709707107071170712707137071470715707167071770718707197072070721707227072370724707257072670727707287072970730707317073270733707347073570736707377073870739707407074170742707437074470745707467074770748707497075070751707527075370754707557075670757707587075970760707617076270763707647076570766707677076870769707707077170772707737077470775707767077770778707797078070781707827078370784707857078670787707887078970790707917079270793707947079570796707977079870799708007080170802708037080470805708067080770808708097081070811708127081370814708157081670817708187081970820708217082270823708247082570826708277082870829708307083170832708337083470835708367083770838708397084070841708427084370844708457084670847708487084970850708517085270853708547085570856708577085870859708607086170862708637086470865708667086770868708697087070871708727087370874708757087670877708787087970880708817088270883708847088570886708877088870889708907089170892708937089470895708967089770898708997090070901709027090370904709057090670907709087090970910709117091270913709147091570916709177091870919709207092170922709237092470925709267092770928709297093070931709327093370934709357093670937709387093970940709417094270943709447094570946709477094870949709507095170952709537095470955709567095770958709597096070961709627096370964709657096670967709687096970970709717097270973709747097570976709777097870979709807098170982709837098470985709867098770988709897099070991709927099370994709957099670997709987099971000710017100271003710047100571006710077100871009710107101171012710137101471015710167101771018710197102071021710227102371024710257102671027710287102971030710317103271033710347103571036710377103871039710407104171042710437104471045710467104771048710497105071051710527105371054710557105671057710587105971060710617106271063710647106571066710677106871069710707107171072710737107471075710767107771078710797108071081710827108371084710857108671087710887108971090710917109271093710947109571096710977109871099711007110171102711037110471105711067110771108711097111071111711127111371114711157111671117711187111971120711217112271123711247112571126711277112871129711307113171132711337113471135711367113771138711397114071141711427114371144711457114671147711487114971150711517115271153711547115571156711577115871159711607116171162711637116471165711667116771168711697117071171711727117371174711757117671177711787117971180711817118271183711847118571186711877118871189711907119171192711937119471195711967119771198711997120071201712027120371204712057120671207712087120971210712117121271213712147121571216712177121871219712207122171222712237122471225712267122771228712297123071231712327123371234712357123671237712387123971240712417124271243712447124571246712477124871249712507125171252712537125471255712567125771258712597126071261712627126371264712657126671267712687126971270712717127271273712747127571276712777127871279712807128171282712837128471285712867128771288712897129071291712927129371294712957129671297712987129971300713017130271303713047130571306713077130871309713107131171312713137131471315713167131771318713197132071321713227132371324713257132671327713287132971330713317133271333713347133571336713377133871339713407134171342713437134471345713467134771348713497135071351713527135371354713557135671357713587135971360713617136271363713647136571366713677136871369713707137171372713737137471375713767137771378713797138071381713827138371384713857138671387713887138971390713917139271393713947139571396713977139871399714007140171402714037140471405714067140771408714097141071411714127141371414714157141671417714187141971420714217142271423714247142571426714277142871429714307143171432714337143471435714367143771438714397144071441714427144371444714457144671447714487144971450714517145271453714547145571456714577145871459714607146171462714637146471465714667146771468714697147071471714727147371474714757147671477714787147971480714817148271483714847148571486714877148871489714907149171492714937149471495714967149771498714997150071501715027150371504715057150671507715087150971510715117151271513715147151571516715177151871519715207152171522715237152471525715267152771528715297153071531715327153371534715357153671537715387153971540715417154271543715447154571546715477154871549715507155171552715537155471555715567155771558715597156071561715627156371564715657156671567715687156971570715717157271573715747157571576715777157871579715807158171582715837158471585715867158771588715897159071591715927159371594715957159671597715987159971600716017160271603716047160571606716077160871609716107161171612716137161471615716167161771618716197162071621716227162371624716257162671627716287162971630716317163271633716347163571636716377163871639716407164171642716437164471645716467164771648716497165071651716527165371654716557165671657716587165971660716617166271663716647166571666716677166871669716707167171672716737167471675716767167771678716797168071681716827168371684716857168671687716887168971690716917169271693716947169571696716977169871699717007170171702717037170471705717067170771708717097171071711717127171371714717157171671717717187171971720717217172271723717247172571726717277172871729
  1. // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
  2. package ec2
  3. import (
  4. "fmt"
  5. "time"
  6. "github.com/aws/aws-sdk-go/aws"
  7. "github.com/aws/aws-sdk-go/aws/awsutil"
  8. "github.com/aws/aws-sdk-go/aws/request"
  9. "github.com/aws/aws-sdk-go/private/protocol"
  10. "github.com/aws/aws-sdk-go/private/protocol/ec2query"
  11. )
  12. const opAcceptReservedInstancesExchangeQuote = "AcceptReservedInstancesExchangeQuote"
  13. // AcceptReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
  14. // client's request for the AcceptReservedInstancesExchangeQuote operation. The "output" return
  15. // value will be populated with the request's response once the request completes
  16. // successfuly.
  17. //
  18. // Use "Send" method on the returned Request to send the API call to the service.
  19. // the "output" return value is not valid until after Send returns without error.
  20. //
  21. // See AcceptReservedInstancesExchangeQuote for more information on using the AcceptReservedInstancesExchangeQuote
  22. // API call, and error handling.
  23. //
  24. // This method is useful when you want to inject custom logic or configuration
  25. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26. //
  27. //
  28. // // Example sending a request using the AcceptReservedInstancesExchangeQuoteRequest method.
  29. // req, resp := client.AcceptReservedInstancesExchangeQuoteRequest(params)
  30. //
  31. // err := req.Send()
  32. // if err == nil { // resp is now filled
  33. // fmt.Println(resp)
  34. // }
  35. //
  36. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote
  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. output = &AcceptReservedInstancesExchangeQuoteOutput{}
  47. req = c.newRequest(op, input, output)
  48. return
  49. }
  50. // AcceptReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  51. //
  52. // Accepts the Convertible Reserved Instance exchange quote described in the
  53. // GetReservedInstancesExchangeQuote call.
  54. //
  55. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  56. // with awserr.Error's Code and Message methods to get detailed information about
  57. // the error.
  58. //
  59. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  60. // API operation AcceptReservedInstancesExchangeQuote for usage and error information.
  61. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote
  62. func (c *EC2) AcceptReservedInstancesExchangeQuote(input *AcceptReservedInstancesExchangeQuoteInput) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
  63. req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
  64. return out, req.Send()
  65. }
  66. // AcceptReservedInstancesExchangeQuoteWithContext is the same as AcceptReservedInstancesExchangeQuote with the addition of
  67. // the ability to pass a context and additional request options.
  68. //
  69. // See AcceptReservedInstancesExchangeQuote for details on how to use this API operation.
  70. //
  71. // The context must be non-nil and will be used for request cancellation. If
  72. // the context is nil a panic will occur. In the future the SDK may create
  73. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  74. // for more information on using Contexts.
  75. func (c *EC2) AcceptReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *AcceptReservedInstancesExchangeQuoteInput, opts ...request.Option) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
  76. req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
  77. req.SetContext(ctx)
  78. req.ApplyOptions(opts...)
  79. return out, req.Send()
  80. }
  81. const opAcceptVpcEndpointConnections = "AcceptVpcEndpointConnections"
  82. // AcceptVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
  83. // client's request for the AcceptVpcEndpointConnections operation. The "output" return
  84. // value will be populated with the request's response once the request completes
  85. // successfuly.
  86. //
  87. // Use "Send" method on the returned Request to send the API call to the service.
  88. // the "output" return value is not valid until after Send returns without error.
  89. //
  90. // See AcceptVpcEndpointConnections for more information on using the AcceptVpcEndpointConnections
  91. // API call, and error handling.
  92. //
  93. // This method is useful when you want to inject custom logic or configuration
  94. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  95. //
  96. //
  97. // // Example sending a request using the AcceptVpcEndpointConnectionsRequest method.
  98. // req, resp := client.AcceptVpcEndpointConnectionsRequest(params)
  99. //
  100. // err := req.Send()
  101. // if err == nil { // resp is now filled
  102. // fmt.Println(resp)
  103. // }
  104. //
  105. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections
  106. func (c *EC2) AcceptVpcEndpointConnectionsRequest(input *AcceptVpcEndpointConnectionsInput) (req *request.Request, output *AcceptVpcEndpointConnectionsOutput) {
  107. op := &request.Operation{
  108. Name: opAcceptVpcEndpointConnections,
  109. HTTPMethod: "POST",
  110. HTTPPath: "/",
  111. }
  112. if input == nil {
  113. input = &AcceptVpcEndpointConnectionsInput{}
  114. }
  115. output = &AcceptVpcEndpointConnectionsOutput{}
  116. req = c.newRequest(op, input, output)
  117. return
  118. }
  119. // AcceptVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
  120. //
  121. // Accepts one or more interface VPC endpoint connection requests to your VPC
  122. // endpoint service.
  123. //
  124. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  125. // with awserr.Error's Code and Message methods to get detailed information about
  126. // the error.
  127. //
  128. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  129. // API operation AcceptVpcEndpointConnections for usage and error information.
  130. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections
  131. func (c *EC2) AcceptVpcEndpointConnections(input *AcceptVpcEndpointConnectionsInput) (*AcceptVpcEndpointConnectionsOutput, error) {
  132. req, out := c.AcceptVpcEndpointConnectionsRequest(input)
  133. return out, req.Send()
  134. }
  135. // AcceptVpcEndpointConnectionsWithContext is the same as AcceptVpcEndpointConnections with the addition of
  136. // the ability to pass a context and additional request options.
  137. //
  138. // See AcceptVpcEndpointConnections for details on how to use this API operation.
  139. //
  140. // The context must be non-nil and will be used for request cancellation. If
  141. // the context is nil a panic will occur. In the future the SDK may create
  142. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  143. // for more information on using Contexts.
  144. func (c *EC2) AcceptVpcEndpointConnectionsWithContext(ctx aws.Context, input *AcceptVpcEndpointConnectionsInput, opts ...request.Option) (*AcceptVpcEndpointConnectionsOutput, error) {
  145. req, out := c.AcceptVpcEndpointConnectionsRequest(input)
  146. req.SetContext(ctx)
  147. req.ApplyOptions(opts...)
  148. return out, req.Send()
  149. }
  150. const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection"
  151. // AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  152. // client's request for the AcceptVpcPeeringConnection operation. The "output" return
  153. // value will be populated with the request's response once the request completes
  154. // successfuly.
  155. //
  156. // Use "Send" method on the returned Request to send the API call to the service.
  157. // the "output" return value is not valid until after Send returns without error.
  158. //
  159. // See AcceptVpcPeeringConnection for more information on using the AcceptVpcPeeringConnection
  160. // API call, and error handling.
  161. //
  162. // This method is useful when you want to inject custom logic or configuration
  163. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  164. //
  165. //
  166. // // Example sending a request using the AcceptVpcPeeringConnectionRequest method.
  167. // req, resp := client.AcceptVpcPeeringConnectionRequest(params)
  168. //
  169. // err := req.Send()
  170. // if err == nil { // resp is now filled
  171. // fmt.Println(resp)
  172. // }
  173. //
  174. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
  175. func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectionInput) (req *request.Request, output *AcceptVpcPeeringConnectionOutput) {
  176. op := &request.Operation{
  177. Name: opAcceptVpcPeeringConnection,
  178. HTTPMethod: "POST",
  179. HTTPPath: "/",
  180. }
  181. if input == nil {
  182. input = &AcceptVpcPeeringConnectionInput{}
  183. }
  184. output = &AcceptVpcPeeringConnectionOutput{}
  185. req = c.newRequest(op, input, output)
  186. return
  187. }
  188. // AcceptVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  189. //
  190. // Accept a VPC peering connection request. To accept a request, the VPC peering
  191. // connection must be in the pending-acceptance state, and you must be the owner
  192. // of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding
  193. // VPC peering connection requests.
  194. //
  195. // For an inter-region VPC peering connection request, you must accept the VPC
  196. // peering connection in the region of the accepter VPC.
  197. //
  198. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  199. // with awserr.Error's Code and Message methods to get detailed information about
  200. // the error.
  201. //
  202. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  203. // API operation AcceptVpcPeeringConnection for usage and error information.
  204. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
  205. func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) {
  206. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  207. return out, req.Send()
  208. }
  209. // AcceptVpcPeeringConnectionWithContext is the same as AcceptVpcPeeringConnection with the addition of
  210. // the ability to pass a context and additional request options.
  211. //
  212. // See AcceptVpcPeeringConnection for details on how to use this API operation.
  213. //
  214. // The context must be non-nil and will be used for request cancellation. If
  215. // the context is nil a panic will occur. In the future the SDK may create
  216. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  217. // for more information on using Contexts.
  218. func (c *EC2) AcceptVpcPeeringConnectionWithContext(ctx aws.Context, input *AcceptVpcPeeringConnectionInput, opts ...request.Option) (*AcceptVpcPeeringConnectionOutput, error) {
  219. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  220. req.SetContext(ctx)
  221. req.ApplyOptions(opts...)
  222. return out, req.Send()
  223. }
  224. const opAllocateAddress = "AllocateAddress"
  225. // AllocateAddressRequest generates a "aws/request.Request" representing the
  226. // client's request for the AllocateAddress operation. The "output" return
  227. // value will be populated with the request's response once the request completes
  228. // successfuly.
  229. //
  230. // Use "Send" method on the returned Request to send the API call to the service.
  231. // the "output" return value is not valid until after Send returns without error.
  232. //
  233. // See AllocateAddress for more information on using the AllocateAddress
  234. // API call, and error handling.
  235. //
  236. // This method is useful when you want to inject custom logic or configuration
  237. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  238. //
  239. //
  240. // // Example sending a request using the AllocateAddressRequest method.
  241. // req, resp := client.AllocateAddressRequest(params)
  242. //
  243. // err := req.Send()
  244. // if err == nil { // resp is now filled
  245. // fmt.Println(resp)
  246. // }
  247. //
  248. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
  249. func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) {
  250. op := &request.Operation{
  251. Name: opAllocateAddress,
  252. HTTPMethod: "POST",
  253. HTTPPath: "/",
  254. }
  255. if input == nil {
  256. input = &AllocateAddressInput{}
  257. }
  258. output = &AllocateAddressOutput{}
  259. req = c.newRequest(op, input, output)
  260. return
  261. }
  262. // AllocateAddress API operation for Amazon Elastic Compute Cloud.
  263. //
  264. // Allocates an Elastic IP address.
  265. //
  266. // An Elastic IP address is for use either in the EC2-Classic platform or in
  267. // a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic
  268. // per region and 5 Elastic IP addresses for EC2-VPC per region.
  269. //
  270. // If you release an Elastic IP address for use in a VPC, you might be able
  271. // to recover it. To recover an Elastic IP address that you released, specify
  272. // it in the Address parameter. Note that you cannot recover an Elastic IP address
  273. // that you released after it is allocated to another AWS account.
  274. //
  275. // For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  276. // in the Amazon Elastic Compute Cloud User Guide.
  277. //
  278. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  279. // with awserr.Error's Code and Message methods to get detailed information about
  280. // the error.
  281. //
  282. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  283. // API operation AllocateAddress for usage and error information.
  284. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
  285. func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
  286. req, out := c.AllocateAddressRequest(input)
  287. return out, req.Send()
  288. }
  289. // AllocateAddressWithContext is the same as AllocateAddress with the addition of
  290. // the ability to pass a context and additional request options.
  291. //
  292. // See AllocateAddress for details on how to use this API operation.
  293. //
  294. // The context must be non-nil and will be used for request cancellation. If
  295. // the context is nil a panic will occur. In the future the SDK may create
  296. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  297. // for more information on using Contexts.
  298. func (c *EC2) AllocateAddressWithContext(ctx aws.Context, input *AllocateAddressInput, opts ...request.Option) (*AllocateAddressOutput, error) {
  299. req, out := c.AllocateAddressRequest(input)
  300. req.SetContext(ctx)
  301. req.ApplyOptions(opts...)
  302. return out, req.Send()
  303. }
  304. const opAllocateHosts = "AllocateHosts"
  305. // AllocateHostsRequest generates a "aws/request.Request" representing the
  306. // client's request for the AllocateHosts operation. The "output" return
  307. // value will be populated with the request's response once the request completes
  308. // successfuly.
  309. //
  310. // Use "Send" method on the returned Request to send the API call to the service.
  311. // the "output" return value is not valid until after Send returns without error.
  312. //
  313. // See AllocateHosts for more information on using the AllocateHosts
  314. // API call, and error handling.
  315. //
  316. // This method is useful when you want to inject custom logic or configuration
  317. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  318. //
  319. //
  320. // // Example sending a request using the AllocateHostsRequest method.
  321. // req, resp := client.AllocateHostsRequest(params)
  322. //
  323. // err := req.Send()
  324. // if err == nil { // resp is now filled
  325. // fmt.Println(resp)
  326. // }
  327. //
  328. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
  329. func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Request, output *AllocateHostsOutput) {
  330. op := &request.Operation{
  331. Name: opAllocateHosts,
  332. HTTPMethod: "POST",
  333. HTTPPath: "/",
  334. }
  335. if input == nil {
  336. input = &AllocateHostsInput{}
  337. }
  338. output = &AllocateHostsOutput{}
  339. req = c.newRequest(op, input, output)
  340. return
  341. }
  342. // AllocateHosts API operation for Amazon Elastic Compute Cloud.
  343. //
  344. // Allocates a Dedicated Host to your account. At minimum you need to specify
  345. // the instance size type, Availability Zone, and quantity of hosts you want
  346. // to allocate.
  347. //
  348. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  349. // with awserr.Error's Code and Message methods to get detailed information about
  350. // the error.
  351. //
  352. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  353. // API operation AllocateHosts for usage and error information.
  354. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
  355. func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) {
  356. req, out := c.AllocateHostsRequest(input)
  357. return out, req.Send()
  358. }
  359. // AllocateHostsWithContext is the same as AllocateHosts with the addition of
  360. // the ability to pass a context and additional request options.
  361. //
  362. // See AllocateHosts for details on how to use this API operation.
  363. //
  364. // The context must be non-nil and will be used for request cancellation. If
  365. // the context is nil a panic will occur. In the future the SDK may create
  366. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  367. // for more information on using Contexts.
  368. func (c *EC2) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInput, opts ...request.Option) (*AllocateHostsOutput, error) {
  369. req, out := c.AllocateHostsRequest(input)
  370. req.SetContext(ctx)
  371. req.ApplyOptions(opts...)
  372. return out, req.Send()
  373. }
  374. const opAssignIpv6Addresses = "AssignIpv6Addresses"
  375. // AssignIpv6AddressesRequest generates a "aws/request.Request" representing the
  376. // client's request for the AssignIpv6Addresses operation. The "output" return
  377. // value will be populated with the request's response once the request completes
  378. // successfuly.
  379. //
  380. // Use "Send" method on the returned Request to send the API call to the service.
  381. // the "output" return value is not valid until after Send returns without error.
  382. //
  383. // See AssignIpv6Addresses for more information on using the AssignIpv6Addresses
  384. // API call, and error handling.
  385. //
  386. // This method is useful when you want to inject custom logic or configuration
  387. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  388. //
  389. //
  390. // // Example sending a request using the AssignIpv6AddressesRequest method.
  391. // req, resp := client.AssignIpv6AddressesRequest(params)
  392. //
  393. // err := req.Send()
  394. // if err == nil { // resp is now filled
  395. // fmt.Println(resp)
  396. // }
  397. //
  398. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
  399. func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req *request.Request, output *AssignIpv6AddressesOutput) {
  400. op := &request.Operation{
  401. Name: opAssignIpv6Addresses,
  402. HTTPMethod: "POST",
  403. HTTPPath: "/",
  404. }
  405. if input == nil {
  406. input = &AssignIpv6AddressesInput{}
  407. }
  408. output = &AssignIpv6AddressesOutput{}
  409. req = c.newRequest(op, input, output)
  410. return
  411. }
  412. // AssignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
  413. //
  414. // Assigns one or more IPv6 addresses to the specified network interface. You
  415. // can specify one or more specific IPv6 addresses, or you can specify the number
  416. // of IPv6 addresses to be automatically assigned from within the subnet's IPv6
  417. // CIDR block range. You can assign as many IPv6 addresses to a network interface
  418. // as you can assign private IPv4 addresses, and the limit varies per instance
  419. // type. For information, see IP Addresses Per Network Interface Per Instance
  420. // Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  421. // in the Amazon Elastic Compute Cloud User Guide.
  422. //
  423. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  424. // with awserr.Error's Code and Message methods to get detailed information about
  425. // the error.
  426. //
  427. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  428. // API operation AssignIpv6Addresses for usage and error information.
  429. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
  430. func (c *EC2) AssignIpv6Addresses(input *AssignIpv6AddressesInput) (*AssignIpv6AddressesOutput, error) {
  431. req, out := c.AssignIpv6AddressesRequest(input)
  432. return out, req.Send()
  433. }
  434. // AssignIpv6AddressesWithContext is the same as AssignIpv6Addresses with the addition of
  435. // the ability to pass a context and additional request options.
  436. //
  437. // See AssignIpv6Addresses for details on how to use this API operation.
  438. //
  439. // The context must be non-nil and will be used for request cancellation. If
  440. // the context is nil a panic will occur. In the future the SDK may create
  441. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  442. // for more information on using Contexts.
  443. func (c *EC2) AssignIpv6AddressesWithContext(ctx aws.Context, input *AssignIpv6AddressesInput, opts ...request.Option) (*AssignIpv6AddressesOutput, error) {
  444. req, out := c.AssignIpv6AddressesRequest(input)
  445. req.SetContext(ctx)
  446. req.ApplyOptions(opts...)
  447. return out, req.Send()
  448. }
  449. const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
  450. // AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  451. // client's request for the AssignPrivateIpAddresses operation. The "output" return
  452. // value will be populated with the request's response once the request completes
  453. // successfuly.
  454. //
  455. // Use "Send" method on the returned Request to send the API call to the service.
  456. // the "output" return value is not valid until after Send returns without error.
  457. //
  458. // See AssignPrivateIpAddresses for more information on using the AssignPrivateIpAddresses
  459. // API call, and error handling.
  460. //
  461. // This method is useful when you want to inject custom logic or configuration
  462. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  463. //
  464. //
  465. // // Example sending a request using the AssignPrivateIpAddressesRequest method.
  466. // req, resp := client.AssignPrivateIpAddressesRequest(params)
  467. //
  468. // err := req.Send()
  469. // if err == nil { // resp is now filled
  470. // fmt.Println(resp)
  471. // }
  472. //
  473. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
  474. func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
  475. op := &request.Operation{
  476. Name: opAssignPrivateIpAddresses,
  477. HTTPMethod: "POST",
  478. HTTPPath: "/",
  479. }
  480. if input == nil {
  481. input = &AssignPrivateIpAddressesInput{}
  482. }
  483. output = &AssignPrivateIpAddressesOutput{}
  484. req = c.newRequest(op, input, output)
  485. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  486. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  487. return
  488. }
  489. // AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  490. //
  491. // Assigns one or more secondary private IP addresses to the specified network
  492. // interface. You can specify one or more specific secondary IP addresses, or
  493. // you can specify the number of secondary IP addresses to be automatically
  494. // assigned within the subnet's CIDR block range. The number of secondary IP
  495. // addresses that you can assign to an instance varies by instance type. For
  496. // information about instance types, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  497. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  498. // Elastic IP addresses, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  499. // in the Amazon Elastic Compute Cloud User Guide.
  500. //
  501. // AssignPrivateIpAddresses is available only in EC2-VPC.
  502. //
  503. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  504. // with awserr.Error's Code and Message methods to get detailed information about
  505. // the error.
  506. //
  507. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  508. // API operation AssignPrivateIpAddresses for usage and error information.
  509. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
  510. func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
  511. req, out := c.AssignPrivateIpAddressesRequest(input)
  512. return out, req.Send()
  513. }
  514. // AssignPrivateIpAddressesWithContext is the same as AssignPrivateIpAddresses with the addition of
  515. // the ability to pass a context and additional request options.
  516. //
  517. // See AssignPrivateIpAddresses for details on how to use this API operation.
  518. //
  519. // The context must be non-nil and will be used for request cancellation. If
  520. // the context is nil a panic will occur. In the future the SDK may create
  521. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  522. // for more information on using Contexts.
  523. func (c *EC2) AssignPrivateIpAddressesWithContext(ctx aws.Context, input *AssignPrivateIpAddressesInput, opts ...request.Option) (*AssignPrivateIpAddressesOutput, error) {
  524. req, out := c.AssignPrivateIpAddressesRequest(input)
  525. req.SetContext(ctx)
  526. req.ApplyOptions(opts...)
  527. return out, req.Send()
  528. }
  529. const opAssociateAddress = "AssociateAddress"
  530. // AssociateAddressRequest generates a "aws/request.Request" representing the
  531. // client's request for the AssociateAddress operation. The "output" return
  532. // value will be populated with the request's response once the request completes
  533. // successfuly.
  534. //
  535. // Use "Send" method on the returned Request to send the API call to the service.
  536. // the "output" return value is not valid until after Send returns without error.
  537. //
  538. // See AssociateAddress for more information on using the AssociateAddress
  539. // API call, and error handling.
  540. //
  541. // This method is useful when you want to inject custom logic or configuration
  542. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  543. //
  544. //
  545. // // Example sending a request using the AssociateAddressRequest method.
  546. // req, resp := client.AssociateAddressRequest(params)
  547. //
  548. // err := req.Send()
  549. // if err == nil { // resp is now filled
  550. // fmt.Println(resp)
  551. // }
  552. //
  553. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
  554. func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
  555. op := &request.Operation{
  556. Name: opAssociateAddress,
  557. HTTPMethod: "POST",
  558. HTTPPath: "/",
  559. }
  560. if input == nil {
  561. input = &AssociateAddressInput{}
  562. }
  563. output = &AssociateAddressOutput{}
  564. req = c.newRequest(op, input, output)
  565. return
  566. }
  567. // AssociateAddress API operation for Amazon Elastic Compute Cloud.
  568. //
  569. // Associates an Elastic IP address with an instance or a network interface.
  570. //
  571. // An Elastic IP address is for use in either the EC2-Classic platform or in
  572. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  573. // in the Amazon Elastic Compute Cloud User Guide.
  574. //
  575. // [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
  576. // already associated with a different instance, it is disassociated from that
  577. // instance and associated with the specified instance. If you associate an
  578. // Elastic IP address with an instance that has an existing Elastic IP address,
  579. // the existing address is disassociated from the instance, but remains allocated
  580. // to your account.
  581. //
  582. // [VPC in an EC2-Classic account] If you don't specify a private IP address,
  583. // the Elastic IP address is associated with the primary IP address. If the
  584. // Elastic IP address is already associated with a different instance or a network
  585. // interface, you get an error unless you allow reassociation. You cannot associate
  586. // an Elastic IP address with an instance or network interface that has an existing
  587. // Elastic IP address.
  588. //
  589. // This is an idempotent operation. If you perform the operation more than once,
  590. // Amazon EC2 doesn't return an error, and you may be charged for each time
  591. // the Elastic IP address is remapped to the same instance. For more information,
  592. // see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
  593. //
  594. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  595. // with awserr.Error's Code and Message methods to get detailed information about
  596. // the error.
  597. //
  598. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  599. // API operation AssociateAddress for usage and error information.
  600. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
  601. func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
  602. req, out := c.AssociateAddressRequest(input)
  603. return out, req.Send()
  604. }
  605. // AssociateAddressWithContext is the same as AssociateAddress with the addition of
  606. // the ability to pass a context and additional request options.
  607. //
  608. // See AssociateAddress for details on how to use this API operation.
  609. //
  610. // The context must be non-nil and will be used for request cancellation. If
  611. // the context is nil a panic will occur. In the future the SDK may create
  612. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  613. // for more information on using Contexts.
  614. func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddressInput, opts ...request.Option) (*AssociateAddressOutput, error) {
  615. req, out := c.AssociateAddressRequest(input)
  616. req.SetContext(ctx)
  617. req.ApplyOptions(opts...)
  618. return out, req.Send()
  619. }
  620. const opAssociateDhcpOptions = "AssociateDhcpOptions"
  621. // AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
  622. // client's request for the AssociateDhcpOptions operation. The "output" return
  623. // value will be populated with the request's response once the request completes
  624. // successfuly.
  625. //
  626. // Use "Send" method on the returned Request to send the API call to the service.
  627. // the "output" return value is not valid until after Send returns without error.
  628. //
  629. // See AssociateDhcpOptions for more information on using the AssociateDhcpOptions
  630. // API call, and error handling.
  631. //
  632. // This method is useful when you want to inject custom logic or configuration
  633. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  634. //
  635. //
  636. // // Example sending a request using the AssociateDhcpOptionsRequest method.
  637. // req, resp := client.AssociateDhcpOptionsRequest(params)
  638. //
  639. // err := req.Send()
  640. // if err == nil { // resp is now filled
  641. // fmt.Println(resp)
  642. // }
  643. //
  644. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
  645. func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
  646. op := &request.Operation{
  647. Name: opAssociateDhcpOptions,
  648. HTTPMethod: "POST",
  649. HTTPPath: "/",
  650. }
  651. if input == nil {
  652. input = &AssociateDhcpOptionsInput{}
  653. }
  654. output = &AssociateDhcpOptionsOutput{}
  655. req = c.newRequest(op, input, output)
  656. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  657. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  658. return
  659. }
  660. // AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  661. //
  662. // Associates a set of DHCP options (that you've previously created) with the
  663. // specified VPC, or associates no DHCP options with the VPC.
  664. //
  665. // After you associate the options with the VPC, any existing instances and
  666. // all new instances that you launch in that VPC use the options. You don't
  667. // need to restart or relaunch the instances. They automatically pick up the
  668. // changes within a few hours, depending on how frequently the instance renews
  669. // its DHCP lease. You can explicitly renew the lease using the operating system
  670. // on the instance.
  671. //
  672. // For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  673. // in the Amazon Virtual Private Cloud User Guide.
  674. //
  675. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  676. // with awserr.Error's Code and Message methods to get detailed information about
  677. // the error.
  678. //
  679. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  680. // API operation AssociateDhcpOptions for usage and error information.
  681. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
  682. func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
  683. req, out := c.AssociateDhcpOptionsRequest(input)
  684. return out, req.Send()
  685. }
  686. // AssociateDhcpOptionsWithContext is the same as AssociateDhcpOptions with the addition of
  687. // the ability to pass a context and additional request options.
  688. //
  689. // See AssociateDhcpOptions for details on how to use this API operation.
  690. //
  691. // The context must be non-nil and will be used for request cancellation. If
  692. // the context is nil a panic will occur. In the future the SDK may create
  693. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  694. // for more information on using Contexts.
  695. func (c *EC2) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateDhcpOptionsInput, opts ...request.Option) (*AssociateDhcpOptionsOutput, error) {
  696. req, out := c.AssociateDhcpOptionsRequest(input)
  697. req.SetContext(ctx)
  698. req.ApplyOptions(opts...)
  699. return out, req.Send()
  700. }
  701. const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
  702. // AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
  703. // client's request for the AssociateIamInstanceProfile operation. The "output" return
  704. // value will be populated with the request's response once the request completes
  705. // successfuly.
  706. //
  707. // Use "Send" method on the returned Request to send the API call to the service.
  708. // the "output" return value is not valid until after Send returns without error.
  709. //
  710. // See AssociateIamInstanceProfile for more information on using the AssociateIamInstanceProfile
  711. // API call, and error handling.
  712. //
  713. // This method is useful when you want to inject custom logic or configuration
  714. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  715. //
  716. //
  717. // // Example sending a request using the AssociateIamInstanceProfileRequest method.
  718. // req, resp := client.AssociateIamInstanceProfileRequest(params)
  719. //
  720. // err := req.Send()
  721. // if err == nil { // resp is now filled
  722. // fmt.Println(resp)
  723. // }
  724. //
  725. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
  726. func (c *EC2) AssociateIamInstanceProfileRequest(input *AssociateIamInstanceProfileInput) (req *request.Request, output *AssociateIamInstanceProfileOutput) {
  727. op := &request.Operation{
  728. Name: opAssociateIamInstanceProfile,
  729. HTTPMethod: "POST",
  730. HTTPPath: "/",
  731. }
  732. if input == nil {
  733. input = &AssociateIamInstanceProfileInput{}
  734. }
  735. output = &AssociateIamInstanceProfileOutput{}
  736. req = c.newRequest(op, input, output)
  737. return
  738. }
  739. // AssociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
  740. //
  741. // Associates an IAM instance profile with a running or stopped instance. You
  742. // cannot associate more than one IAM instance profile with an instance.
  743. //
  744. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  745. // with awserr.Error's Code and Message methods to get detailed information about
  746. // the error.
  747. //
  748. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  749. // API operation AssociateIamInstanceProfile for usage and error information.
  750. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
  751. func (c *EC2) AssociateIamInstanceProfile(input *AssociateIamInstanceProfileInput) (*AssociateIamInstanceProfileOutput, error) {
  752. req, out := c.AssociateIamInstanceProfileRequest(input)
  753. return out, req.Send()
  754. }
  755. // AssociateIamInstanceProfileWithContext is the same as AssociateIamInstanceProfile with the addition of
  756. // the ability to pass a context and additional request options.
  757. //
  758. // See AssociateIamInstanceProfile for details on how to use this API operation.
  759. //
  760. // The context must be non-nil and will be used for request cancellation. If
  761. // the context is nil a panic will occur. In the future the SDK may create
  762. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  763. // for more information on using Contexts.
  764. func (c *EC2) AssociateIamInstanceProfileWithContext(ctx aws.Context, input *AssociateIamInstanceProfileInput, opts ...request.Option) (*AssociateIamInstanceProfileOutput, error) {
  765. req, out := c.AssociateIamInstanceProfileRequest(input)
  766. req.SetContext(ctx)
  767. req.ApplyOptions(opts...)
  768. return out, req.Send()
  769. }
  770. const opAssociateRouteTable = "AssociateRouteTable"
  771. // AssociateRouteTableRequest generates a "aws/request.Request" representing the
  772. // client's request for the AssociateRouteTable operation. The "output" return
  773. // value will be populated with the request's response once the request completes
  774. // successfuly.
  775. //
  776. // Use "Send" method on the returned Request to send the API call to the service.
  777. // the "output" return value is not valid until after Send returns without error.
  778. //
  779. // See AssociateRouteTable for more information on using the AssociateRouteTable
  780. // API call, and error handling.
  781. //
  782. // This method is useful when you want to inject custom logic or configuration
  783. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  784. //
  785. //
  786. // // Example sending a request using the AssociateRouteTableRequest method.
  787. // req, resp := client.AssociateRouteTableRequest(params)
  788. //
  789. // err := req.Send()
  790. // if err == nil { // resp is now filled
  791. // fmt.Println(resp)
  792. // }
  793. //
  794. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
  795. func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
  796. op := &request.Operation{
  797. Name: opAssociateRouteTable,
  798. HTTPMethod: "POST",
  799. HTTPPath: "/",
  800. }
  801. if input == nil {
  802. input = &AssociateRouteTableInput{}
  803. }
  804. output = &AssociateRouteTableOutput{}
  805. req = c.newRequest(op, input, output)
  806. return
  807. }
  808. // AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
  809. //
  810. // Associates a subnet with a route table. The subnet and route table must be
  811. // in the same VPC. This association causes traffic originating from the subnet
  812. // to be routed according to the routes in the route table. The action returns
  813. // an association ID, which you need in order to disassociate the route table
  814. // from the subnet later. A route table can be associated with multiple subnets.
  815. //
  816. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  817. // in the Amazon Virtual Private Cloud User Guide.
  818. //
  819. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  820. // with awserr.Error's Code and Message methods to get detailed information about
  821. // the error.
  822. //
  823. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  824. // API operation AssociateRouteTable for usage and error information.
  825. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
  826. func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
  827. req, out := c.AssociateRouteTableRequest(input)
  828. return out, req.Send()
  829. }
  830. // AssociateRouteTableWithContext is the same as AssociateRouteTable with the addition of
  831. // the ability to pass a context and additional request options.
  832. //
  833. // See AssociateRouteTable for details on how to use this API operation.
  834. //
  835. // The context must be non-nil and will be used for request cancellation. If
  836. // the context is nil a panic will occur. In the future the SDK may create
  837. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  838. // for more information on using Contexts.
  839. func (c *EC2) AssociateRouteTableWithContext(ctx aws.Context, input *AssociateRouteTableInput, opts ...request.Option) (*AssociateRouteTableOutput, error) {
  840. req, out := c.AssociateRouteTableRequest(input)
  841. req.SetContext(ctx)
  842. req.ApplyOptions(opts...)
  843. return out, req.Send()
  844. }
  845. const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock"
  846. // AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
  847. // client's request for the AssociateSubnetCidrBlock operation. The "output" return
  848. // value will be populated with the request's response once the request completes
  849. // successfuly.
  850. //
  851. // Use "Send" method on the returned Request to send the API call to the service.
  852. // the "output" return value is not valid until after Send returns without error.
  853. //
  854. // See AssociateSubnetCidrBlock for more information on using the AssociateSubnetCidrBlock
  855. // API call, and error handling.
  856. //
  857. // This method is useful when you want to inject custom logic or configuration
  858. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  859. //
  860. //
  861. // // Example sending a request using the AssociateSubnetCidrBlockRequest method.
  862. // req, resp := client.AssociateSubnetCidrBlockRequest(params)
  863. //
  864. // err := req.Send()
  865. // if err == nil { // resp is now filled
  866. // fmt.Println(resp)
  867. // }
  868. //
  869. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
  870. func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInput) (req *request.Request, output *AssociateSubnetCidrBlockOutput) {
  871. op := &request.Operation{
  872. Name: opAssociateSubnetCidrBlock,
  873. HTTPMethod: "POST",
  874. HTTPPath: "/",
  875. }
  876. if input == nil {
  877. input = &AssociateSubnetCidrBlockInput{}
  878. }
  879. output = &AssociateSubnetCidrBlockOutput{}
  880. req = c.newRequest(op, input, output)
  881. return
  882. }
  883. // AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
  884. //
  885. // Associates a CIDR block with your subnet. You can only associate a single
  886. // IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
  887. // of /64.
  888. //
  889. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  890. // with awserr.Error's Code and Message methods to get detailed information about
  891. // the error.
  892. //
  893. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  894. // API operation AssociateSubnetCidrBlock for usage and error information.
  895. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
  896. func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) {
  897. req, out := c.AssociateSubnetCidrBlockRequest(input)
  898. return out, req.Send()
  899. }
  900. // AssociateSubnetCidrBlockWithContext is the same as AssociateSubnetCidrBlock with the addition of
  901. // the ability to pass a context and additional request options.
  902. //
  903. // See AssociateSubnetCidrBlock for details on how to use this API operation.
  904. //
  905. // The context must be non-nil and will be used for request cancellation. If
  906. // the context is nil a panic will occur. In the future the SDK may create
  907. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  908. // for more information on using Contexts.
  909. func (c *EC2) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *AssociateSubnetCidrBlockInput, opts ...request.Option) (*AssociateSubnetCidrBlockOutput, error) {
  910. req, out := c.AssociateSubnetCidrBlockRequest(input)
  911. req.SetContext(ctx)
  912. req.ApplyOptions(opts...)
  913. return out, req.Send()
  914. }
  915. const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock"
  916. // AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
  917. // client's request for the AssociateVpcCidrBlock operation. The "output" return
  918. // value will be populated with the request's response once the request completes
  919. // successfuly.
  920. //
  921. // Use "Send" method on the returned Request to send the API call to the service.
  922. // the "output" return value is not valid until after Send returns without error.
  923. //
  924. // See AssociateVpcCidrBlock for more information on using the AssociateVpcCidrBlock
  925. // API call, and error handling.
  926. //
  927. // This method is useful when you want to inject custom logic or configuration
  928. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  929. //
  930. //
  931. // // Example sending a request using the AssociateVpcCidrBlockRequest method.
  932. // req, resp := client.AssociateVpcCidrBlockRequest(params)
  933. //
  934. // err := req.Send()
  935. // if err == nil { // resp is now filled
  936. // fmt.Println(resp)
  937. // }
  938. //
  939. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
  940. func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (req *request.Request, output *AssociateVpcCidrBlockOutput) {
  941. op := &request.Operation{
  942. Name: opAssociateVpcCidrBlock,
  943. HTTPMethod: "POST",
  944. HTTPPath: "/",
  945. }
  946. if input == nil {
  947. input = &AssociateVpcCidrBlockInput{}
  948. }
  949. output = &AssociateVpcCidrBlockOutput{}
  950. req = c.newRequest(op, input, output)
  951. return
  952. }
  953. // AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
  954. //
  955. // Associates a CIDR block with your VPC. You can associate a secondary IPv4
  956. // CIDR block, or you can associate an Amazon-provided IPv6 CIDR block. The
  957. // IPv6 CIDR block size is fixed at /56.
  958. //
  959. // For more information about associating CIDR blocks with your VPC and applicable
  960. // restrictions, see VPC and Subnet Sizing (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#VPC_Sizing)
  961. // in the Amazon Virtual Private Cloud User Guide.
  962. //
  963. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  964. // with awserr.Error's Code and Message methods to get detailed information about
  965. // the error.
  966. //
  967. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  968. // API operation AssociateVpcCidrBlock for usage and error information.
  969. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
  970. func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) {
  971. req, out := c.AssociateVpcCidrBlockRequest(input)
  972. return out, req.Send()
  973. }
  974. // AssociateVpcCidrBlockWithContext is the same as AssociateVpcCidrBlock with the addition of
  975. // the ability to pass a context and additional request options.
  976. //
  977. // See AssociateVpcCidrBlock for details on how to use this API operation.
  978. //
  979. // The context must be non-nil and will be used for request cancellation. If
  980. // the context is nil a panic will occur. In the future the SDK may create
  981. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  982. // for more information on using Contexts.
  983. func (c *EC2) AssociateVpcCidrBlockWithContext(ctx aws.Context, input *AssociateVpcCidrBlockInput, opts ...request.Option) (*AssociateVpcCidrBlockOutput, error) {
  984. req, out := c.AssociateVpcCidrBlockRequest(input)
  985. req.SetContext(ctx)
  986. req.ApplyOptions(opts...)
  987. return out, req.Send()
  988. }
  989. const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
  990. // AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  991. // client's request for the AttachClassicLinkVpc operation. The "output" return
  992. // value will be populated with the request's response once the request completes
  993. // successfuly.
  994. //
  995. // Use "Send" method on the returned Request to send the API call to the service.
  996. // the "output" return value is not valid until after Send returns without error.
  997. //
  998. // See AttachClassicLinkVpc for more information on using the AttachClassicLinkVpc
  999. // API call, and error handling.
  1000. //
  1001. // This method is useful when you want to inject custom logic or configuration
  1002. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1003. //
  1004. //
  1005. // // Example sending a request using the AttachClassicLinkVpcRequest method.
  1006. // req, resp := client.AttachClassicLinkVpcRequest(params)
  1007. //
  1008. // err := req.Send()
  1009. // if err == nil { // resp is now filled
  1010. // fmt.Println(resp)
  1011. // }
  1012. //
  1013. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
  1014. func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
  1015. op := &request.Operation{
  1016. Name: opAttachClassicLinkVpc,
  1017. HTTPMethod: "POST",
  1018. HTTPPath: "/",
  1019. }
  1020. if input == nil {
  1021. input = &AttachClassicLinkVpcInput{}
  1022. }
  1023. output = &AttachClassicLinkVpcOutput{}
  1024. req = c.newRequest(op, input, output)
  1025. return
  1026. }
  1027. // AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  1028. //
  1029. // Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
  1030. // more of the VPC's security groups. You cannot link an EC2-Classic instance
  1031. // to more than one VPC at a time. You can only link an instance that's in the
  1032. // running state. An instance is automatically unlinked from a VPC when it's
  1033. // stopped - you can link it to the VPC again when you restart it.
  1034. //
  1035. // After you've linked an instance, you cannot change the VPC security groups
  1036. // that are associated with it. To change the security groups, you must first
  1037. // unlink the instance, and then link it again.
  1038. //
  1039. // Linking your instance to a VPC is sometimes referred to as attaching your
  1040. // instance.
  1041. //
  1042. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1043. // with awserr.Error's Code and Message methods to get detailed information about
  1044. // the error.
  1045. //
  1046. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1047. // API operation AttachClassicLinkVpc for usage and error information.
  1048. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
  1049. func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
  1050. req, out := c.AttachClassicLinkVpcRequest(input)
  1051. return out, req.Send()
  1052. }
  1053. // AttachClassicLinkVpcWithContext is the same as AttachClassicLinkVpc with the addition of
  1054. // the ability to pass a context and additional request options.
  1055. //
  1056. // See AttachClassicLinkVpc for details on how to use this API operation.
  1057. //
  1058. // The context must be non-nil and will be used for request cancellation. If
  1059. // the context is nil a panic will occur. In the future the SDK may create
  1060. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1061. // for more information on using Contexts.
  1062. func (c *EC2) AttachClassicLinkVpcWithContext(ctx aws.Context, input *AttachClassicLinkVpcInput, opts ...request.Option) (*AttachClassicLinkVpcOutput, error) {
  1063. req, out := c.AttachClassicLinkVpcRequest(input)
  1064. req.SetContext(ctx)
  1065. req.ApplyOptions(opts...)
  1066. return out, req.Send()
  1067. }
  1068. const opAttachInternetGateway = "AttachInternetGateway"
  1069. // AttachInternetGatewayRequest generates a "aws/request.Request" representing the
  1070. // client's request for the AttachInternetGateway operation. The "output" return
  1071. // value will be populated with the request's response once the request completes
  1072. // successfuly.
  1073. //
  1074. // Use "Send" method on the returned Request to send the API call to the service.
  1075. // the "output" return value is not valid until after Send returns without error.
  1076. //
  1077. // See AttachInternetGateway for more information on using the AttachInternetGateway
  1078. // API call, and error handling.
  1079. //
  1080. // This method is useful when you want to inject custom logic or configuration
  1081. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1082. //
  1083. //
  1084. // // Example sending a request using the AttachInternetGatewayRequest method.
  1085. // req, resp := client.AttachInternetGatewayRequest(params)
  1086. //
  1087. // err := req.Send()
  1088. // if err == nil { // resp is now filled
  1089. // fmt.Println(resp)
  1090. // }
  1091. //
  1092. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
  1093. func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
  1094. op := &request.Operation{
  1095. Name: opAttachInternetGateway,
  1096. HTTPMethod: "POST",
  1097. HTTPPath: "/",
  1098. }
  1099. if input == nil {
  1100. input = &AttachInternetGatewayInput{}
  1101. }
  1102. output = &AttachInternetGatewayOutput{}
  1103. req = c.newRequest(op, input, output)
  1104. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1105. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1106. return
  1107. }
  1108. // AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
  1109. //
  1110. // Attaches an Internet gateway to a VPC, enabling connectivity between the
  1111. // Internet and the VPC. For more information about your VPC and Internet gateway,
  1112. // see the Amazon Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  1113. //
  1114. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1115. // with awserr.Error's Code and Message methods to get detailed information about
  1116. // the error.
  1117. //
  1118. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1119. // API operation AttachInternetGateway for usage and error information.
  1120. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
  1121. func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
  1122. req, out := c.AttachInternetGatewayRequest(input)
  1123. return out, req.Send()
  1124. }
  1125. // AttachInternetGatewayWithContext is the same as AttachInternetGateway with the addition of
  1126. // the ability to pass a context and additional request options.
  1127. //
  1128. // See AttachInternetGateway for details on how to use this API operation.
  1129. //
  1130. // The context must be non-nil and will be used for request cancellation. If
  1131. // the context is nil a panic will occur. In the future the SDK may create
  1132. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1133. // for more information on using Contexts.
  1134. func (c *EC2) AttachInternetGatewayWithContext(ctx aws.Context, input *AttachInternetGatewayInput, opts ...request.Option) (*AttachInternetGatewayOutput, error) {
  1135. req, out := c.AttachInternetGatewayRequest(input)
  1136. req.SetContext(ctx)
  1137. req.ApplyOptions(opts...)
  1138. return out, req.Send()
  1139. }
  1140. const opAttachNetworkInterface = "AttachNetworkInterface"
  1141. // AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  1142. // client's request for the AttachNetworkInterface operation. The "output" return
  1143. // value will be populated with the request's response once the request completes
  1144. // successfuly.
  1145. //
  1146. // Use "Send" method on the returned Request to send the API call to the service.
  1147. // the "output" return value is not valid until after Send returns without error.
  1148. //
  1149. // See AttachNetworkInterface for more information on using the AttachNetworkInterface
  1150. // API call, and error handling.
  1151. //
  1152. // This method is useful when you want to inject custom logic or configuration
  1153. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1154. //
  1155. //
  1156. // // Example sending a request using the AttachNetworkInterfaceRequest method.
  1157. // req, resp := client.AttachNetworkInterfaceRequest(params)
  1158. //
  1159. // err := req.Send()
  1160. // if err == nil { // resp is now filled
  1161. // fmt.Println(resp)
  1162. // }
  1163. //
  1164. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
  1165. func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
  1166. op := &request.Operation{
  1167. Name: opAttachNetworkInterface,
  1168. HTTPMethod: "POST",
  1169. HTTPPath: "/",
  1170. }
  1171. if input == nil {
  1172. input = &AttachNetworkInterfaceInput{}
  1173. }
  1174. output = &AttachNetworkInterfaceOutput{}
  1175. req = c.newRequest(op, input, output)
  1176. return
  1177. }
  1178. // AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  1179. //
  1180. // Attaches a network interface to an instance.
  1181. //
  1182. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1183. // with awserr.Error's Code and Message methods to get detailed information about
  1184. // the error.
  1185. //
  1186. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1187. // API operation AttachNetworkInterface for usage and error information.
  1188. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
  1189. func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
  1190. req, out := c.AttachNetworkInterfaceRequest(input)
  1191. return out, req.Send()
  1192. }
  1193. // AttachNetworkInterfaceWithContext is the same as AttachNetworkInterface with the addition of
  1194. // the ability to pass a context and additional request options.
  1195. //
  1196. // See AttachNetworkInterface for details on how to use this API operation.
  1197. //
  1198. // The context must be non-nil and will be used for request cancellation. If
  1199. // the context is nil a panic will occur. In the future the SDK may create
  1200. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1201. // for more information on using Contexts.
  1202. func (c *EC2) AttachNetworkInterfaceWithContext(ctx aws.Context, input *AttachNetworkInterfaceInput, opts ...request.Option) (*AttachNetworkInterfaceOutput, error) {
  1203. req, out := c.AttachNetworkInterfaceRequest(input)
  1204. req.SetContext(ctx)
  1205. req.ApplyOptions(opts...)
  1206. return out, req.Send()
  1207. }
  1208. const opAttachVolume = "AttachVolume"
  1209. // AttachVolumeRequest generates a "aws/request.Request" representing the
  1210. // client's request for the AttachVolume operation. The "output" return
  1211. // value will be populated with the request's response once the request completes
  1212. // successfuly.
  1213. //
  1214. // Use "Send" method on the returned Request to send the API call to the service.
  1215. // the "output" return value is not valid until after Send returns without error.
  1216. //
  1217. // See AttachVolume for more information on using the AttachVolume
  1218. // API call, and error handling.
  1219. //
  1220. // This method is useful when you want to inject custom logic or configuration
  1221. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1222. //
  1223. //
  1224. // // Example sending a request using the AttachVolumeRequest method.
  1225. // req, resp := client.AttachVolumeRequest(params)
  1226. //
  1227. // err := req.Send()
  1228. // if err == nil { // resp is now filled
  1229. // fmt.Println(resp)
  1230. // }
  1231. //
  1232. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
  1233. func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  1234. op := &request.Operation{
  1235. Name: opAttachVolume,
  1236. HTTPMethod: "POST",
  1237. HTTPPath: "/",
  1238. }
  1239. if input == nil {
  1240. input = &AttachVolumeInput{}
  1241. }
  1242. output = &VolumeAttachment{}
  1243. req = c.newRequest(op, input, output)
  1244. return
  1245. }
  1246. // AttachVolume API operation for Amazon Elastic Compute Cloud.
  1247. //
  1248. // Attaches an EBS volume to a running or stopped instance and exposes it to
  1249. // the instance with the specified device name.
  1250. //
  1251. // Encrypted EBS volumes may only be attached to instances that support Amazon
  1252. // EBS encryption. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  1253. // in the Amazon Elastic Compute Cloud User Guide.
  1254. //
  1255. // For a list of supported device names, see Attaching an EBS Volume to an Instance
  1256. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html).
  1257. // Any device names that aren't reserved for instance store volumes can be used
  1258. // for EBS volumes. For more information, see Amazon EC2 Instance Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)
  1259. // in the Amazon Elastic Compute Cloud User Guide.
  1260. //
  1261. // If a volume has an AWS Marketplace product code:
  1262. //
  1263. // * The volume can be attached only to a stopped instance.
  1264. //
  1265. // * AWS Marketplace product codes are copied from the volume to the instance.
  1266. //
  1267. // * You must be subscribed to the product.
  1268. //
  1269. // * The instance type and operating system of the instance must support
  1270. // the product. For example, you can't detach a volume from a Windows instance
  1271. // and attach it to a Linux instance.
  1272. //
  1273. // For an overview of the AWS Marketplace, see Introducing AWS Marketplace (https://aws.amazon.com/marketplace/help/200900000).
  1274. //
  1275. // For more information about EBS volumes, see Attaching Amazon EBS Volumes
  1276. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
  1277. // in the Amazon Elastic Compute Cloud User Guide.
  1278. //
  1279. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1280. // with awserr.Error's Code and Message methods to get detailed information about
  1281. // the error.
  1282. //
  1283. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1284. // API operation AttachVolume for usage and error information.
  1285. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
  1286. func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
  1287. req, out := c.AttachVolumeRequest(input)
  1288. return out, req.Send()
  1289. }
  1290. // AttachVolumeWithContext is the same as AttachVolume with the addition of
  1291. // the ability to pass a context and additional request options.
  1292. //
  1293. // See AttachVolume for details on how to use this API operation.
  1294. //
  1295. // The context must be non-nil and will be used for request cancellation. If
  1296. // the context is nil a panic will occur. In the future the SDK may create
  1297. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1298. // for more information on using Contexts.
  1299. func (c *EC2) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
  1300. req, out := c.AttachVolumeRequest(input)
  1301. req.SetContext(ctx)
  1302. req.ApplyOptions(opts...)
  1303. return out, req.Send()
  1304. }
  1305. const opAttachVpnGateway = "AttachVpnGateway"
  1306. // AttachVpnGatewayRequest generates a "aws/request.Request" representing the
  1307. // client's request for the AttachVpnGateway operation. The "output" return
  1308. // value will be populated with the request's response once the request completes
  1309. // successfuly.
  1310. //
  1311. // Use "Send" method on the returned Request to send the API call to the service.
  1312. // the "output" return value is not valid until after Send returns without error.
  1313. //
  1314. // See AttachVpnGateway for more information on using the AttachVpnGateway
  1315. // API call, and error handling.
  1316. //
  1317. // This method is useful when you want to inject custom logic or configuration
  1318. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1319. //
  1320. //
  1321. // // Example sending a request using the AttachVpnGatewayRequest method.
  1322. // req, resp := client.AttachVpnGatewayRequest(params)
  1323. //
  1324. // err := req.Send()
  1325. // if err == nil { // resp is now filled
  1326. // fmt.Println(resp)
  1327. // }
  1328. //
  1329. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
  1330. func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
  1331. op := &request.Operation{
  1332. Name: opAttachVpnGateway,
  1333. HTTPMethod: "POST",
  1334. HTTPPath: "/",
  1335. }
  1336. if input == nil {
  1337. input = &AttachVpnGatewayInput{}
  1338. }
  1339. output = &AttachVpnGatewayOutput{}
  1340. req = c.newRequest(op, input, output)
  1341. return
  1342. }
  1343. // AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
  1344. //
  1345. // Attaches a virtual private gateway to a VPC. You can attach one virtual private
  1346. // gateway to one VPC at a time.
  1347. //
  1348. // For more information, see AWS Managed VPN Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  1349. // in the Amazon Virtual Private Cloud User Guide.
  1350. //
  1351. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1352. // with awserr.Error's Code and Message methods to get detailed information about
  1353. // the error.
  1354. //
  1355. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1356. // API operation AttachVpnGateway for usage and error information.
  1357. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
  1358. func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
  1359. req, out := c.AttachVpnGatewayRequest(input)
  1360. return out, req.Send()
  1361. }
  1362. // AttachVpnGatewayWithContext is the same as AttachVpnGateway with the addition of
  1363. // the ability to pass a context and additional request options.
  1364. //
  1365. // See AttachVpnGateway for details on how to use this API operation.
  1366. //
  1367. // The context must be non-nil and will be used for request cancellation. If
  1368. // the context is nil a panic will occur. In the future the SDK may create
  1369. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1370. // for more information on using Contexts.
  1371. func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatewayInput, opts ...request.Option) (*AttachVpnGatewayOutput, error) {
  1372. req, out := c.AttachVpnGatewayRequest(input)
  1373. req.SetContext(ctx)
  1374. req.ApplyOptions(opts...)
  1375. return out, req.Send()
  1376. }
  1377. const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
  1378. // AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  1379. // client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
  1380. // value will be populated with the request's response once the request completes
  1381. // successfuly.
  1382. //
  1383. // Use "Send" method on the returned Request to send the API call to the service.
  1384. // the "output" return value is not valid until after Send returns without error.
  1385. //
  1386. // See AuthorizeSecurityGroupEgress for more information on using the AuthorizeSecurityGroupEgress
  1387. // API call, and error handling.
  1388. //
  1389. // This method is useful when you want to inject custom logic or configuration
  1390. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1391. //
  1392. //
  1393. // // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
  1394. // req, resp := client.AuthorizeSecurityGroupEgressRequest(params)
  1395. //
  1396. // err := req.Send()
  1397. // if err == nil { // resp is now filled
  1398. // fmt.Println(resp)
  1399. // }
  1400. //
  1401. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
  1402. func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
  1403. op := &request.Operation{
  1404. Name: opAuthorizeSecurityGroupEgress,
  1405. HTTPMethod: "POST",
  1406. HTTPPath: "/",
  1407. }
  1408. if input == nil {
  1409. input = &AuthorizeSecurityGroupEgressInput{}
  1410. }
  1411. output = &AuthorizeSecurityGroupEgressOutput{}
  1412. req = c.newRequest(op, input, output)
  1413. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1414. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1415. return
  1416. }
  1417. // AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  1418. //
  1419. // [EC2-VPC only] Adds one or more egress rules to a security group for use
  1420. // with a VPC. Specifically, this action permits instances to send traffic to
  1421. // one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more
  1422. // destination security groups for the same VPC. This action doesn't apply to
  1423. // security groups for use in EC2-Classic. For more information, see Security
  1424. // Groups for Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  1425. // in the Amazon Virtual Private Cloud User Guide. For more information about
  1426. // security group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html).
  1427. //
  1428. // Each rule consists of the protocol (for example, TCP), plus either a CIDR
  1429. // range or a source group. For the TCP and UDP protocols, you must also specify
  1430. // the destination port or port range. For the ICMP protocol, you must also
  1431. // specify the ICMP type and code. You can use -1 for the type or code to mean
  1432. // all types or all codes. You can optionally specify a description for the
  1433. // rule.
  1434. //
  1435. // Rule changes are propagated to affected instances as quickly as possible.
  1436. // However, a small delay might occur.
  1437. //
  1438. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1439. // with awserr.Error's Code and Message methods to get detailed information about
  1440. // the error.
  1441. //
  1442. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1443. // API operation AuthorizeSecurityGroupEgress for usage and error information.
  1444. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
  1445. func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
  1446. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  1447. return out, req.Send()
  1448. }
  1449. // AuthorizeSecurityGroupEgressWithContext is the same as AuthorizeSecurityGroupEgress with the addition of
  1450. // the ability to pass a context and additional request options.
  1451. //
  1452. // See AuthorizeSecurityGroupEgress for details on how to use this API operation.
  1453. //
  1454. // The context must be non-nil and will be used for request cancellation. If
  1455. // the context is nil a panic will occur. In the future the SDK may create
  1456. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1457. // for more information on using Contexts.
  1458. func (c *EC2) AuthorizeSecurityGroupEgressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupEgressInput, opts ...request.Option) (*AuthorizeSecurityGroupEgressOutput, error) {
  1459. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  1460. req.SetContext(ctx)
  1461. req.ApplyOptions(opts...)
  1462. return out, req.Send()
  1463. }
  1464. const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
  1465. // AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  1466. // client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
  1467. // value will be populated with the request's response once the request completes
  1468. // successfuly.
  1469. //
  1470. // Use "Send" method on the returned Request to send the API call to the service.
  1471. // the "output" return value is not valid until after Send returns without error.
  1472. //
  1473. // See AuthorizeSecurityGroupIngress for more information on using the AuthorizeSecurityGroupIngress
  1474. // API call, and error handling.
  1475. //
  1476. // This method is useful when you want to inject custom logic or configuration
  1477. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1478. //
  1479. //
  1480. // // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
  1481. // req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
  1482. //
  1483. // err := req.Send()
  1484. // if err == nil { // resp is now filled
  1485. // fmt.Println(resp)
  1486. // }
  1487. //
  1488. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
  1489. func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
  1490. op := &request.Operation{
  1491. Name: opAuthorizeSecurityGroupIngress,
  1492. HTTPMethod: "POST",
  1493. HTTPPath: "/",
  1494. }
  1495. if input == nil {
  1496. input = &AuthorizeSecurityGroupIngressInput{}
  1497. }
  1498. output = &AuthorizeSecurityGroupIngressOutput{}
  1499. req = c.newRequest(op, input, output)
  1500. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1501. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1502. return
  1503. }
  1504. // AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  1505. //
  1506. // Adds one or more ingress rules to a security group.
  1507. //
  1508. // Rule changes are propagated to instances within the security group as quickly
  1509. // as possible. However, a small delay might occur.
  1510. //
  1511. // [EC2-Classic] This action gives one or more IPv4 CIDR address ranges permission
  1512. // to access a security group in your account, or gives one or more security
  1513. // groups (called the source groups) permission to access a security group for
  1514. // your account. A source group can be for your own AWS account, or another.
  1515. // You can have up to 100 rules per group.
  1516. //
  1517. // [EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address ranges
  1518. // permission to access a security group in your VPC, or gives one or more other
  1519. // security groups (called the source groups) permission to access a security
  1520. // group for your VPC. The security groups must all be for the same VPC or a
  1521. // peer VPC in a VPC peering connection. For more information about VPC security
  1522. // group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html).
  1523. //
  1524. // You can optionally specify a description for the security group rule.
  1525. //
  1526. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1527. // with awserr.Error's Code and Message methods to get detailed information about
  1528. // the error.
  1529. //
  1530. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1531. // API operation AuthorizeSecurityGroupIngress for usage and error information.
  1532. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
  1533. func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
  1534. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  1535. return out, req.Send()
  1536. }
  1537. // AuthorizeSecurityGroupIngressWithContext is the same as AuthorizeSecurityGroupIngress with the addition of
  1538. // the ability to pass a context and additional request options.
  1539. //
  1540. // See AuthorizeSecurityGroupIngress for details on how to use this API operation.
  1541. //
  1542. // The context must be non-nil and will be used for request cancellation. If
  1543. // the context is nil a panic will occur. In the future the SDK may create
  1544. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1545. // for more information on using Contexts.
  1546. func (c *EC2) AuthorizeSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeSecurityGroupIngressOutput, error) {
  1547. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  1548. req.SetContext(ctx)
  1549. req.ApplyOptions(opts...)
  1550. return out, req.Send()
  1551. }
  1552. const opBundleInstance = "BundleInstance"
  1553. // BundleInstanceRequest generates a "aws/request.Request" representing the
  1554. // client's request for the BundleInstance operation. The "output" return
  1555. // value will be populated with the request's response once the request completes
  1556. // successfuly.
  1557. //
  1558. // Use "Send" method on the returned Request to send the API call to the service.
  1559. // the "output" return value is not valid until after Send returns without error.
  1560. //
  1561. // See BundleInstance for more information on using the BundleInstance
  1562. // API call, and error handling.
  1563. //
  1564. // This method is useful when you want to inject custom logic or configuration
  1565. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1566. //
  1567. //
  1568. // // Example sending a request using the BundleInstanceRequest method.
  1569. // req, resp := client.BundleInstanceRequest(params)
  1570. //
  1571. // err := req.Send()
  1572. // if err == nil { // resp is now filled
  1573. // fmt.Println(resp)
  1574. // }
  1575. //
  1576. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
  1577. func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
  1578. op := &request.Operation{
  1579. Name: opBundleInstance,
  1580. HTTPMethod: "POST",
  1581. HTTPPath: "/",
  1582. }
  1583. if input == nil {
  1584. input = &BundleInstanceInput{}
  1585. }
  1586. output = &BundleInstanceOutput{}
  1587. req = c.newRequest(op, input, output)
  1588. return
  1589. }
  1590. // BundleInstance API operation for Amazon Elastic Compute Cloud.
  1591. //
  1592. // Bundles an Amazon instance store-backed Windows instance.
  1593. //
  1594. // During bundling, only the root device volume (C:\) is bundled. Data on other
  1595. // instance store volumes is not preserved.
  1596. //
  1597. // This action is not applicable for Linux/Unix instances or Windows instances
  1598. // that are backed by Amazon EBS.
  1599. //
  1600. // For more information, see Creating an Instance Store-Backed Windows AMI (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html).
  1601. //
  1602. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1603. // with awserr.Error's Code and Message methods to get detailed information about
  1604. // the error.
  1605. //
  1606. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1607. // API operation BundleInstance for usage and error information.
  1608. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
  1609. func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
  1610. req, out := c.BundleInstanceRequest(input)
  1611. return out, req.Send()
  1612. }
  1613. // BundleInstanceWithContext is the same as BundleInstance with the addition of
  1614. // the ability to pass a context and additional request options.
  1615. //
  1616. // See BundleInstance for details on how to use this API operation.
  1617. //
  1618. // The context must be non-nil and will be used for request cancellation. If
  1619. // the context is nil a panic will occur. In the future the SDK may create
  1620. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1621. // for more information on using Contexts.
  1622. func (c *EC2) BundleInstanceWithContext(ctx aws.Context, input *BundleInstanceInput, opts ...request.Option) (*BundleInstanceOutput, error) {
  1623. req, out := c.BundleInstanceRequest(input)
  1624. req.SetContext(ctx)
  1625. req.ApplyOptions(opts...)
  1626. return out, req.Send()
  1627. }
  1628. const opCancelBundleTask = "CancelBundleTask"
  1629. // CancelBundleTaskRequest generates a "aws/request.Request" representing the
  1630. // client's request for the CancelBundleTask operation. The "output" return
  1631. // value will be populated with the request's response once the request completes
  1632. // successfuly.
  1633. //
  1634. // Use "Send" method on the returned Request to send the API call to the service.
  1635. // the "output" return value is not valid until after Send returns without error.
  1636. //
  1637. // See CancelBundleTask for more information on using the CancelBundleTask
  1638. // API call, and error handling.
  1639. //
  1640. // This method is useful when you want to inject custom logic or configuration
  1641. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1642. //
  1643. //
  1644. // // Example sending a request using the CancelBundleTaskRequest method.
  1645. // req, resp := client.CancelBundleTaskRequest(params)
  1646. //
  1647. // err := req.Send()
  1648. // if err == nil { // resp is now filled
  1649. // fmt.Println(resp)
  1650. // }
  1651. //
  1652. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
  1653. func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
  1654. op := &request.Operation{
  1655. Name: opCancelBundleTask,
  1656. HTTPMethod: "POST",
  1657. HTTPPath: "/",
  1658. }
  1659. if input == nil {
  1660. input = &CancelBundleTaskInput{}
  1661. }
  1662. output = &CancelBundleTaskOutput{}
  1663. req = c.newRequest(op, input, output)
  1664. return
  1665. }
  1666. // CancelBundleTask API operation for Amazon Elastic Compute Cloud.
  1667. //
  1668. // Cancels a bundling operation for an instance store-backed Windows instance.
  1669. //
  1670. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1671. // with awserr.Error's Code and Message methods to get detailed information about
  1672. // the error.
  1673. //
  1674. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1675. // API operation CancelBundleTask for usage and error information.
  1676. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
  1677. func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
  1678. req, out := c.CancelBundleTaskRequest(input)
  1679. return out, req.Send()
  1680. }
  1681. // CancelBundleTaskWithContext is the same as CancelBundleTask with the addition of
  1682. // the ability to pass a context and additional request options.
  1683. //
  1684. // See CancelBundleTask for details on how to use this API operation.
  1685. //
  1686. // The context must be non-nil and will be used for request cancellation. If
  1687. // the context is nil a panic will occur. In the future the SDK may create
  1688. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1689. // for more information on using Contexts.
  1690. func (c *EC2) CancelBundleTaskWithContext(ctx aws.Context, input *CancelBundleTaskInput, opts ...request.Option) (*CancelBundleTaskOutput, error) {
  1691. req, out := c.CancelBundleTaskRequest(input)
  1692. req.SetContext(ctx)
  1693. req.ApplyOptions(opts...)
  1694. return out, req.Send()
  1695. }
  1696. const opCancelConversionTask = "CancelConversionTask"
  1697. // CancelConversionTaskRequest generates a "aws/request.Request" representing the
  1698. // client's request for the CancelConversionTask operation. The "output" return
  1699. // value will be populated with the request's response once the request completes
  1700. // successfuly.
  1701. //
  1702. // Use "Send" method on the returned Request to send the API call to the service.
  1703. // the "output" return value is not valid until after Send returns without error.
  1704. //
  1705. // See CancelConversionTask for more information on using the CancelConversionTask
  1706. // API call, and error handling.
  1707. //
  1708. // This method is useful when you want to inject custom logic or configuration
  1709. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1710. //
  1711. //
  1712. // // Example sending a request using the CancelConversionTaskRequest method.
  1713. // req, resp := client.CancelConversionTaskRequest(params)
  1714. //
  1715. // err := req.Send()
  1716. // if err == nil { // resp is now filled
  1717. // fmt.Println(resp)
  1718. // }
  1719. //
  1720. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
  1721. func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
  1722. op := &request.Operation{
  1723. Name: opCancelConversionTask,
  1724. HTTPMethod: "POST",
  1725. HTTPPath: "/",
  1726. }
  1727. if input == nil {
  1728. input = &CancelConversionTaskInput{}
  1729. }
  1730. output = &CancelConversionTaskOutput{}
  1731. req = c.newRequest(op, input, output)
  1732. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1733. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1734. return
  1735. }
  1736. // CancelConversionTask API operation for Amazon Elastic Compute Cloud.
  1737. //
  1738. // Cancels an active conversion task. The task can be the import of an instance
  1739. // or volume. The action removes all artifacts of the conversion, including
  1740. // a partially uploaded volume or instance. If the conversion is complete or
  1741. // is in the process of transferring the final disk image, the command fails
  1742. // and returns an exception.
  1743. //
  1744. // For more information, see Importing a Virtual Machine Using the Amazon EC2
  1745. // CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  1746. //
  1747. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1748. // with awserr.Error's Code and Message methods to get detailed information about
  1749. // the error.
  1750. //
  1751. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1752. // API operation CancelConversionTask for usage and error information.
  1753. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
  1754. func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
  1755. req, out := c.CancelConversionTaskRequest(input)
  1756. return out, req.Send()
  1757. }
  1758. // CancelConversionTaskWithContext is the same as CancelConversionTask with the addition of
  1759. // the ability to pass a context and additional request options.
  1760. //
  1761. // See CancelConversionTask for details on how to use this API operation.
  1762. //
  1763. // The context must be non-nil and will be used for request cancellation. If
  1764. // the context is nil a panic will occur. In the future the SDK may create
  1765. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1766. // for more information on using Contexts.
  1767. func (c *EC2) CancelConversionTaskWithContext(ctx aws.Context, input *CancelConversionTaskInput, opts ...request.Option) (*CancelConversionTaskOutput, error) {
  1768. req, out := c.CancelConversionTaskRequest(input)
  1769. req.SetContext(ctx)
  1770. req.ApplyOptions(opts...)
  1771. return out, req.Send()
  1772. }
  1773. const opCancelExportTask = "CancelExportTask"
  1774. // CancelExportTaskRequest generates a "aws/request.Request" representing the
  1775. // client's request for the CancelExportTask operation. The "output" return
  1776. // value will be populated with the request's response once the request completes
  1777. // successfuly.
  1778. //
  1779. // Use "Send" method on the returned Request to send the API call to the service.
  1780. // the "output" return value is not valid until after Send returns without error.
  1781. //
  1782. // See CancelExportTask for more information on using the CancelExportTask
  1783. // API call, and error handling.
  1784. //
  1785. // This method is useful when you want to inject custom logic or configuration
  1786. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1787. //
  1788. //
  1789. // // Example sending a request using the CancelExportTaskRequest method.
  1790. // req, resp := client.CancelExportTaskRequest(params)
  1791. //
  1792. // err := req.Send()
  1793. // if err == nil { // resp is now filled
  1794. // fmt.Println(resp)
  1795. // }
  1796. //
  1797. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
  1798. func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
  1799. op := &request.Operation{
  1800. Name: opCancelExportTask,
  1801. HTTPMethod: "POST",
  1802. HTTPPath: "/",
  1803. }
  1804. if input == nil {
  1805. input = &CancelExportTaskInput{}
  1806. }
  1807. output = &CancelExportTaskOutput{}
  1808. req = c.newRequest(op, input, output)
  1809. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1810. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1811. return
  1812. }
  1813. // CancelExportTask API operation for Amazon Elastic Compute Cloud.
  1814. //
  1815. // Cancels an active export task. The request removes all artifacts of the export,
  1816. // including any partially-created Amazon S3 objects. If the export task is
  1817. // complete or is in the process of transferring the final disk image, the command
  1818. // fails and returns an error.
  1819. //
  1820. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1821. // with awserr.Error's Code and Message methods to get detailed information about
  1822. // the error.
  1823. //
  1824. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1825. // API operation CancelExportTask for usage and error information.
  1826. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
  1827. func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
  1828. req, out := c.CancelExportTaskRequest(input)
  1829. return out, req.Send()
  1830. }
  1831. // CancelExportTaskWithContext is the same as CancelExportTask with the addition of
  1832. // the ability to pass a context and additional request options.
  1833. //
  1834. // See CancelExportTask for details on how to use this API operation.
  1835. //
  1836. // The context must be non-nil and will be used for request cancellation. If
  1837. // the context is nil a panic will occur. In the future the SDK may create
  1838. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1839. // for more information on using Contexts.
  1840. func (c *EC2) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
  1841. req, out := c.CancelExportTaskRequest(input)
  1842. req.SetContext(ctx)
  1843. req.ApplyOptions(opts...)
  1844. return out, req.Send()
  1845. }
  1846. const opCancelImportTask = "CancelImportTask"
  1847. // CancelImportTaskRequest generates a "aws/request.Request" representing the
  1848. // client's request for the CancelImportTask operation. The "output" return
  1849. // value will be populated with the request's response once the request completes
  1850. // successfuly.
  1851. //
  1852. // Use "Send" method on the returned Request to send the API call to the service.
  1853. // the "output" return value is not valid until after Send returns without error.
  1854. //
  1855. // See CancelImportTask for more information on using the CancelImportTask
  1856. // API call, and error handling.
  1857. //
  1858. // This method is useful when you want to inject custom logic or configuration
  1859. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1860. //
  1861. //
  1862. // // Example sending a request using the CancelImportTaskRequest method.
  1863. // req, resp := client.CancelImportTaskRequest(params)
  1864. //
  1865. // err := req.Send()
  1866. // if err == nil { // resp is now filled
  1867. // fmt.Println(resp)
  1868. // }
  1869. //
  1870. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
  1871. func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
  1872. op := &request.Operation{
  1873. Name: opCancelImportTask,
  1874. HTTPMethod: "POST",
  1875. HTTPPath: "/",
  1876. }
  1877. if input == nil {
  1878. input = &CancelImportTaskInput{}
  1879. }
  1880. output = &CancelImportTaskOutput{}
  1881. req = c.newRequest(op, input, output)
  1882. return
  1883. }
  1884. // CancelImportTask API operation for Amazon Elastic Compute Cloud.
  1885. //
  1886. // Cancels an in-process import virtual machine or import snapshot task.
  1887. //
  1888. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1889. // with awserr.Error's Code and Message methods to get detailed information about
  1890. // the error.
  1891. //
  1892. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1893. // API operation CancelImportTask for usage and error information.
  1894. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
  1895. func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
  1896. req, out := c.CancelImportTaskRequest(input)
  1897. return out, req.Send()
  1898. }
  1899. // CancelImportTaskWithContext is the same as CancelImportTask with the addition of
  1900. // the ability to pass a context and additional request options.
  1901. //
  1902. // See CancelImportTask for details on how to use this API operation.
  1903. //
  1904. // The context must be non-nil and will be used for request cancellation. If
  1905. // the context is nil a panic will occur. In the future the SDK may create
  1906. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1907. // for more information on using Contexts.
  1908. func (c *EC2) CancelImportTaskWithContext(ctx aws.Context, input *CancelImportTaskInput, opts ...request.Option) (*CancelImportTaskOutput, error) {
  1909. req, out := c.CancelImportTaskRequest(input)
  1910. req.SetContext(ctx)
  1911. req.ApplyOptions(opts...)
  1912. return out, req.Send()
  1913. }
  1914. const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
  1915. // CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
  1916. // client's request for the CancelReservedInstancesListing operation. The "output" return
  1917. // value will be populated with the request's response once the request completes
  1918. // successfuly.
  1919. //
  1920. // Use "Send" method on the returned Request to send the API call to the service.
  1921. // the "output" return value is not valid until after Send returns without error.
  1922. //
  1923. // See CancelReservedInstancesListing for more information on using the CancelReservedInstancesListing
  1924. // API call, and error handling.
  1925. //
  1926. // This method is useful when you want to inject custom logic or configuration
  1927. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1928. //
  1929. //
  1930. // // Example sending a request using the CancelReservedInstancesListingRequest method.
  1931. // req, resp := client.CancelReservedInstancesListingRequest(params)
  1932. //
  1933. // err := req.Send()
  1934. // if err == nil { // resp is now filled
  1935. // fmt.Println(resp)
  1936. // }
  1937. //
  1938. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
  1939. func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
  1940. op := &request.Operation{
  1941. Name: opCancelReservedInstancesListing,
  1942. HTTPMethod: "POST",
  1943. HTTPPath: "/",
  1944. }
  1945. if input == nil {
  1946. input = &CancelReservedInstancesListingInput{}
  1947. }
  1948. output = &CancelReservedInstancesListingOutput{}
  1949. req = c.newRequest(op, input, output)
  1950. return
  1951. }
  1952. // CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  1953. //
  1954. // Cancels the specified Reserved Instance listing in the Reserved Instance
  1955. // Marketplace.
  1956. //
  1957. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  1958. // in the Amazon Elastic Compute Cloud User Guide.
  1959. //
  1960. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1961. // with awserr.Error's Code and Message methods to get detailed information about
  1962. // the error.
  1963. //
  1964. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1965. // API operation CancelReservedInstancesListing for usage and error information.
  1966. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
  1967. func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
  1968. req, out := c.CancelReservedInstancesListingRequest(input)
  1969. return out, req.Send()
  1970. }
  1971. // CancelReservedInstancesListingWithContext is the same as CancelReservedInstancesListing with the addition of
  1972. // the ability to pass a context and additional request options.
  1973. //
  1974. // See CancelReservedInstancesListing for details on how to use this API operation.
  1975. //
  1976. // The context must be non-nil and will be used for request cancellation. If
  1977. // the context is nil a panic will occur. In the future the SDK may create
  1978. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1979. // for more information on using Contexts.
  1980. func (c *EC2) CancelReservedInstancesListingWithContext(ctx aws.Context, input *CancelReservedInstancesListingInput, opts ...request.Option) (*CancelReservedInstancesListingOutput, error) {
  1981. req, out := c.CancelReservedInstancesListingRequest(input)
  1982. req.SetContext(ctx)
  1983. req.ApplyOptions(opts...)
  1984. return out, req.Send()
  1985. }
  1986. const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
  1987. // CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  1988. // client's request for the CancelSpotFleetRequests operation. The "output" return
  1989. // value will be populated with the request's response once the request completes
  1990. // successfuly.
  1991. //
  1992. // Use "Send" method on the returned Request to send the API call to the service.
  1993. // the "output" return value is not valid until after Send returns without error.
  1994. //
  1995. // See CancelSpotFleetRequests for more information on using the CancelSpotFleetRequests
  1996. // API call, and error handling.
  1997. //
  1998. // This method is useful when you want to inject custom logic or configuration
  1999. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2000. //
  2001. //
  2002. // // Example sending a request using the CancelSpotFleetRequestsRequest method.
  2003. // req, resp := client.CancelSpotFleetRequestsRequest(params)
  2004. //
  2005. // err := req.Send()
  2006. // if err == nil { // resp is now filled
  2007. // fmt.Println(resp)
  2008. // }
  2009. //
  2010. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
  2011. func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
  2012. op := &request.Operation{
  2013. Name: opCancelSpotFleetRequests,
  2014. HTTPMethod: "POST",
  2015. HTTPPath: "/",
  2016. }
  2017. if input == nil {
  2018. input = &CancelSpotFleetRequestsInput{}
  2019. }
  2020. output = &CancelSpotFleetRequestsOutput{}
  2021. req = c.newRequest(op, input, output)
  2022. return
  2023. }
  2024. // CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  2025. //
  2026. // Cancels the specified Spot Fleet requests.
  2027. //
  2028. // After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot
  2029. // Instances. You must specify whether the Spot Fleet should also terminate
  2030. // its Spot Instances. If you terminate the instances, the Spot Fleet request
  2031. // enters the cancelled_terminating state. Otherwise, the Spot Fleet request
  2032. // enters the cancelled_running state and the instances continue to run until
  2033. // they are interrupted or you terminate them manually.
  2034. //
  2035. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2036. // with awserr.Error's Code and Message methods to get detailed information about
  2037. // the error.
  2038. //
  2039. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2040. // API operation CancelSpotFleetRequests for usage and error information.
  2041. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
  2042. func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
  2043. req, out := c.CancelSpotFleetRequestsRequest(input)
  2044. return out, req.Send()
  2045. }
  2046. // CancelSpotFleetRequestsWithContext is the same as CancelSpotFleetRequests with the addition of
  2047. // the ability to pass a context and additional request options.
  2048. //
  2049. // See CancelSpotFleetRequests for details on how to use this API operation.
  2050. //
  2051. // The context must be non-nil and will be used for request cancellation. If
  2052. // the context is nil a panic will occur. In the future the SDK may create
  2053. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2054. // for more information on using Contexts.
  2055. func (c *EC2) CancelSpotFleetRequestsWithContext(ctx aws.Context, input *CancelSpotFleetRequestsInput, opts ...request.Option) (*CancelSpotFleetRequestsOutput, error) {
  2056. req, out := c.CancelSpotFleetRequestsRequest(input)
  2057. req.SetContext(ctx)
  2058. req.ApplyOptions(opts...)
  2059. return out, req.Send()
  2060. }
  2061. const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
  2062. // CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  2063. // client's request for the CancelSpotInstanceRequests operation. The "output" return
  2064. // value will be populated with the request's response once the request completes
  2065. // successfuly.
  2066. //
  2067. // Use "Send" method on the returned Request to send the API call to the service.
  2068. // the "output" return value is not valid until after Send returns without error.
  2069. //
  2070. // See CancelSpotInstanceRequests for more information on using the CancelSpotInstanceRequests
  2071. // API call, and error handling.
  2072. //
  2073. // This method is useful when you want to inject custom logic or configuration
  2074. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2075. //
  2076. //
  2077. // // Example sending a request using the CancelSpotInstanceRequestsRequest method.
  2078. // req, resp := client.CancelSpotInstanceRequestsRequest(params)
  2079. //
  2080. // err := req.Send()
  2081. // if err == nil { // resp is now filled
  2082. // fmt.Println(resp)
  2083. // }
  2084. //
  2085. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
  2086. func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
  2087. op := &request.Operation{
  2088. Name: opCancelSpotInstanceRequests,
  2089. HTTPMethod: "POST",
  2090. HTTPPath: "/",
  2091. }
  2092. if input == nil {
  2093. input = &CancelSpotInstanceRequestsInput{}
  2094. }
  2095. output = &CancelSpotInstanceRequestsOutput{}
  2096. req = c.newRequest(op, input, output)
  2097. return
  2098. }
  2099. // CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  2100. //
  2101. // Cancels one or more Spot Instance requests. Spot Instances are instances
  2102. // that Amazon EC2 starts on your behalf when the maximum price that you specify
  2103. // exceeds the current Spot price. For more information, see Spot Instance Requests
  2104. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) in
  2105. // the Amazon EC2 User Guide for Linux Instances.
  2106. //
  2107. // Canceling a Spot Instance request does not terminate running Spot Instances
  2108. // associated with the request.
  2109. //
  2110. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2111. // with awserr.Error's Code and Message methods to get detailed information about
  2112. // the error.
  2113. //
  2114. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2115. // API operation CancelSpotInstanceRequests for usage and error information.
  2116. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
  2117. func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
  2118. req, out := c.CancelSpotInstanceRequestsRequest(input)
  2119. return out, req.Send()
  2120. }
  2121. // CancelSpotInstanceRequestsWithContext is the same as CancelSpotInstanceRequests with the addition of
  2122. // the ability to pass a context and additional request options.
  2123. //
  2124. // See CancelSpotInstanceRequests for details on how to use this API operation.
  2125. //
  2126. // The context must be non-nil and will be used for request cancellation. If
  2127. // the context is nil a panic will occur. In the future the SDK may create
  2128. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2129. // for more information on using Contexts.
  2130. func (c *EC2) CancelSpotInstanceRequestsWithContext(ctx aws.Context, input *CancelSpotInstanceRequestsInput, opts ...request.Option) (*CancelSpotInstanceRequestsOutput, error) {
  2131. req, out := c.CancelSpotInstanceRequestsRequest(input)
  2132. req.SetContext(ctx)
  2133. req.ApplyOptions(opts...)
  2134. return out, req.Send()
  2135. }
  2136. const opConfirmProductInstance = "ConfirmProductInstance"
  2137. // ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
  2138. // client's request for the ConfirmProductInstance operation. The "output" return
  2139. // value will be populated with the request's response once the request completes
  2140. // successfuly.
  2141. //
  2142. // Use "Send" method on the returned Request to send the API call to the service.
  2143. // the "output" return value is not valid until after Send returns without error.
  2144. //
  2145. // See ConfirmProductInstance for more information on using the ConfirmProductInstance
  2146. // API call, and error handling.
  2147. //
  2148. // This method is useful when you want to inject custom logic or configuration
  2149. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2150. //
  2151. //
  2152. // // Example sending a request using the ConfirmProductInstanceRequest method.
  2153. // req, resp := client.ConfirmProductInstanceRequest(params)
  2154. //
  2155. // err := req.Send()
  2156. // if err == nil { // resp is now filled
  2157. // fmt.Println(resp)
  2158. // }
  2159. //
  2160. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
  2161. func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
  2162. op := &request.Operation{
  2163. Name: opConfirmProductInstance,
  2164. HTTPMethod: "POST",
  2165. HTTPPath: "/",
  2166. }
  2167. if input == nil {
  2168. input = &ConfirmProductInstanceInput{}
  2169. }
  2170. output = &ConfirmProductInstanceOutput{}
  2171. req = c.newRequest(op, input, output)
  2172. return
  2173. }
  2174. // ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
  2175. //
  2176. // Determines whether a product code is associated with an instance. This action
  2177. // can only be used by the owner of the product code. It is useful when a product
  2178. // code owner must verify whether another user's instance is eligible for support.
  2179. //
  2180. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2181. // with awserr.Error's Code and Message methods to get detailed information about
  2182. // the error.
  2183. //
  2184. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2185. // API operation ConfirmProductInstance for usage and error information.
  2186. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
  2187. func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
  2188. req, out := c.ConfirmProductInstanceRequest(input)
  2189. return out, req.Send()
  2190. }
  2191. // ConfirmProductInstanceWithContext is the same as ConfirmProductInstance with the addition of
  2192. // the ability to pass a context and additional request options.
  2193. //
  2194. // See ConfirmProductInstance for details on how to use this API operation.
  2195. //
  2196. // The context must be non-nil and will be used for request cancellation. If
  2197. // the context is nil a panic will occur. In the future the SDK may create
  2198. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2199. // for more information on using Contexts.
  2200. func (c *EC2) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmProductInstanceInput, opts ...request.Option) (*ConfirmProductInstanceOutput, error) {
  2201. req, out := c.ConfirmProductInstanceRequest(input)
  2202. req.SetContext(ctx)
  2203. req.ApplyOptions(opts...)
  2204. return out, req.Send()
  2205. }
  2206. const opCopyFpgaImage = "CopyFpgaImage"
  2207. // CopyFpgaImageRequest generates a "aws/request.Request" representing the
  2208. // client's request for the CopyFpgaImage operation. The "output" return
  2209. // value will be populated with the request's response once the request completes
  2210. // successfuly.
  2211. //
  2212. // Use "Send" method on the returned Request to send the API call to the service.
  2213. // the "output" return value is not valid until after Send returns without error.
  2214. //
  2215. // See CopyFpgaImage for more information on using the CopyFpgaImage
  2216. // API call, and error handling.
  2217. //
  2218. // This method is useful when you want to inject custom logic or configuration
  2219. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2220. //
  2221. //
  2222. // // Example sending a request using the CopyFpgaImageRequest method.
  2223. // req, resp := client.CopyFpgaImageRequest(params)
  2224. //
  2225. // err := req.Send()
  2226. // if err == nil { // resp is now filled
  2227. // fmt.Println(resp)
  2228. // }
  2229. //
  2230. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
  2231. func (c *EC2) CopyFpgaImageRequest(input *CopyFpgaImageInput) (req *request.Request, output *CopyFpgaImageOutput) {
  2232. op := &request.Operation{
  2233. Name: opCopyFpgaImage,
  2234. HTTPMethod: "POST",
  2235. HTTPPath: "/",
  2236. }
  2237. if input == nil {
  2238. input = &CopyFpgaImageInput{}
  2239. }
  2240. output = &CopyFpgaImageOutput{}
  2241. req = c.newRequest(op, input, output)
  2242. return
  2243. }
  2244. // CopyFpgaImage API operation for Amazon Elastic Compute Cloud.
  2245. //
  2246. // Copies the specified Amazon FPGA Image (AFI) to the current region.
  2247. //
  2248. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2249. // with awserr.Error's Code and Message methods to get detailed information about
  2250. // the error.
  2251. //
  2252. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2253. // API operation CopyFpgaImage for usage and error information.
  2254. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
  2255. func (c *EC2) CopyFpgaImage(input *CopyFpgaImageInput) (*CopyFpgaImageOutput, error) {
  2256. req, out := c.CopyFpgaImageRequest(input)
  2257. return out, req.Send()
  2258. }
  2259. // CopyFpgaImageWithContext is the same as CopyFpgaImage with the addition of
  2260. // the ability to pass a context and additional request options.
  2261. //
  2262. // See CopyFpgaImage for details on how to use this API operation.
  2263. //
  2264. // The context must be non-nil and will be used for request cancellation. If
  2265. // the context is nil a panic will occur. In the future the SDK may create
  2266. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2267. // for more information on using Contexts.
  2268. func (c *EC2) CopyFpgaImageWithContext(ctx aws.Context, input *CopyFpgaImageInput, opts ...request.Option) (*CopyFpgaImageOutput, error) {
  2269. req, out := c.CopyFpgaImageRequest(input)
  2270. req.SetContext(ctx)
  2271. req.ApplyOptions(opts...)
  2272. return out, req.Send()
  2273. }
  2274. const opCopyImage = "CopyImage"
  2275. // CopyImageRequest generates a "aws/request.Request" representing the
  2276. // client's request for the CopyImage operation. The "output" return
  2277. // value will be populated with the request's response once the request completes
  2278. // successfuly.
  2279. //
  2280. // Use "Send" method on the returned Request to send the API call to the service.
  2281. // the "output" return value is not valid until after Send returns without error.
  2282. //
  2283. // See CopyImage for more information on using the CopyImage
  2284. // API call, and error handling.
  2285. //
  2286. // This method is useful when you want to inject custom logic or configuration
  2287. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2288. //
  2289. //
  2290. // // Example sending a request using the CopyImageRequest method.
  2291. // req, resp := client.CopyImageRequest(params)
  2292. //
  2293. // err := req.Send()
  2294. // if err == nil { // resp is now filled
  2295. // fmt.Println(resp)
  2296. // }
  2297. //
  2298. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
  2299. func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
  2300. op := &request.Operation{
  2301. Name: opCopyImage,
  2302. HTTPMethod: "POST",
  2303. HTTPPath: "/",
  2304. }
  2305. if input == nil {
  2306. input = &CopyImageInput{}
  2307. }
  2308. output = &CopyImageOutput{}
  2309. req = c.newRequest(op, input, output)
  2310. return
  2311. }
  2312. // CopyImage API operation for Amazon Elastic Compute Cloud.
  2313. //
  2314. // Initiates the copy of an AMI from the specified source region to the current
  2315. // region. You specify the destination region by using its endpoint when making
  2316. // the request.
  2317. //
  2318. // For more information about the prerequisites and limits when copying an AMI,
  2319. // see Copying an AMI (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
  2320. // in the Amazon Elastic Compute Cloud User Guide.
  2321. //
  2322. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2323. // with awserr.Error's Code and Message methods to get detailed information about
  2324. // the error.
  2325. //
  2326. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2327. // API operation CopyImage for usage and error information.
  2328. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
  2329. func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
  2330. req, out := c.CopyImageRequest(input)
  2331. return out, req.Send()
  2332. }
  2333. // CopyImageWithContext is the same as CopyImage with the addition of
  2334. // the ability to pass a context and additional request options.
  2335. //
  2336. // See CopyImage for details on how to use this API operation.
  2337. //
  2338. // The context must be non-nil and will be used for request cancellation. If
  2339. // the context is nil a panic will occur. In the future the SDK may create
  2340. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2341. // for more information on using Contexts.
  2342. func (c *EC2) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
  2343. req, out := c.CopyImageRequest(input)
  2344. req.SetContext(ctx)
  2345. req.ApplyOptions(opts...)
  2346. return out, req.Send()
  2347. }
  2348. const opCopySnapshot = "CopySnapshot"
  2349. // CopySnapshotRequest generates a "aws/request.Request" representing the
  2350. // client's request for the CopySnapshot operation. The "output" return
  2351. // value will be populated with the request's response once the request completes
  2352. // successfuly.
  2353. //
  2354. // Use "Send" method on the returned Request to send the API call to the service.
  2355. // the "output" return value is not valid until after Send returns without error.
  2356. //
  2357. // See CopySnapshot for more information on using the CopySnapshot
  2358. // API call, and error handling.
  2359. //
  2360. // This method is useful when you want to inject custom logic or configuration
  2361. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2362. //
  2363. //
  2364. // // Example sending a request using the CopySnapshotRequest method.
  2365. // req, resp := client.CopySnapshotRequest(params)
  2366. //
  2367. // err := req.Send()
  2368. // if err == nil { // resp is now filled
  2369. // fmt.Println(resp)
  2370. // }
  2371. //
  2372. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
  2373. func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
  2374. op := &request.Operation{
  2375. Name: opCopySnapshot,
  2376. HTTPMethod: "POST",
  2377. HTTPPath: "/",
  2378. }
  2379. if input == nil {
  2380. input = &CopySnapshotInput{}
  2381. }
  2382. output = &CopySnapshotOutput{}
  2383. req = c.newRequest(op, input, output)
  2384. return
  2385. }
  2386. // CopySnapshot API operation for Amazon Elastic Compute Cloud.
  2387. //
  2388. // Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
  2389. // S3. You can copy the snapshot within the same region or from one region to
  2390. // another. You can use the snapshot to create EBS volumes or Amazon Machine
  2391. // Images (AMIs). The snapshot is copied to the regional endpoint that you send
  2392. // the HTTP request to.
  2393. //
  2394. // Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted
  2395. // snapshots remain unencrypted, unless the Encrypted flag is specified during
  2396. // the snapshot copy operation. By default, encrypted snapshot copies use the
  2397. // default AWS Key Management Service (AWS KMS) customer master key (CMK); however,
  2398. // you can specify a non-default CMK with the KmsKeyId parameter.
  2399. //
  2400. // To copy an encrypted snapshot that has been shared from another account,
  2401. // you must have permissions for the CMK used to encrypt the snapshot.
  2402. //
  2403. // Snapshots created by the CopySnapshot action have an arbitrary volume ID
  2404. // that should not be used for any purpose.
  2405. //
  2406. // For more information, see Copying an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
  2407. // in the Amazon Elastic Compute Cloud User Guide.
  2408. //
  2409. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2410. // with awserr.Error's Code and Message methods to get detailed information about
  2411. // the error.
  2412. //
  2413. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2414. // API operation CopySnapshot for usage and error information.
  2415. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
  2416. func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
  2417. req, out := c.CopySnapshotRequest(input)
  2418. return out, req.Send()
  2419. }
  2420. // CopySnapshotWithContext is the same as CopySnapshot with the addition of
  2421. // the ability to pass a context and additional request options.
  2422. //
  2423. // See CopySnapshot for details on how to use this API operation.
  2424. //
  2425. // The context must be non-nil and will be used for request cancellation. If
  2426. // the context is nil a panic will occur. In the future the SDK may create
  2427. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2428. // for more information on using Contexts.
  2429. func (c *EC2) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
  2430. req, out := c.CopySnapshotRequest(input)
  2431. req.SetContext(ctx)
  2432. req.ApplyOptions(opts...)
  2433. return out, req.Send()
  2434. }
  2435. const opCreateCustomerGateway = "CreateCustomerGateway"
  2436. // CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
  2437. // client's request for the CreateCustomerGateway operation. The "output" return
  2438. // value will be populated with the request's response once the request completes
  2439. // successfuly.
  2440. //
  2441. // Use "Send" method on the returned Request to send the API call to the service.
  2442. // the "output" return value is not valid until after Send returns without error.
  2443. //
  2444. // See CreateCustomerGateway for more information on using the CreateCustomerGateway
  2445. // API call, and error handling.
  2446. //
  2447. // This method is useful when you want to inject custom logic or configuration
  2448. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2449. //
  2450. //
  2451. // // Example sending a request using the CreateCustomerGatewayRequest method.
  2452. // req, resp := client.CreateCustomerGatewayRequest(params)
  2453. //
  2454. // err := req.Send()
  2455. // if err == nil { // resp is now filled
  2456. // fmt.Println(resp)
  2457. // }
  2458. //
  2459. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
  2460. func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
  2461. op := &request.Operation{
  2462. Name: opCreateCustomerGateway,
  2463. HTTPMethod: "POST",
  2464. HTTPPath: "/",
  2465. }
  2466. if input == nil {
  2467. input = &CreateCustomerGatewayInput{}
  2468. }
  2469. output = &CreateCustomerGatewayOutput{}
  2470. req = c.newRequest(op, input, output)
  2471. return
  2472. }
  2473. // CreateCustomerGateway API operation for Amazon Elastic Compute Cloud.
  2474. //
  2475. // Provides information to AWS about your VPN customer gateway device. The customer
  2476. // gateway is the appliance at your end of the VPN connection. (The device on
  2477. // the AWS side of the VPN connection is the virtual private gateway.) You must
  2478. // provide the Internet-routable IP address of the customer gateway's external
  2479. // interface. The IP address must be static and may be behind a device performing
  2480. // network address translation (NAT).
  2481. //
  2482. // For devices that use Border Gateway Protocol (BGP), you can also provide
  2483. // the device's BGP Autonomous System Number (ASN). You can use an existing
  2484. // ASN assigned to your network. If you don't have an ASN already, you can use
  2485. // a private ASN (in the 64512 - 65534 range).
  2486. //
  2487. // Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with
  2488. // the exception of 7224, which is reserved in the us-east-1 region, and 9059,
  2489. // which is reserved in the eu-west-1 region.
  2490. //
  2491. // For more information about VPN customer gateways, see AWS Managed VPN Connections
  2492. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the
  2493. // Amazon Virtual Private Cloud User Guide.
  2494. //
  2495. // You cannot create more than one customer gateway with the same VPN type,
  2496. // IP address, and BGP ASN parameter values. If you run an identical request
  2497. // more than one time, the first request creates the customer gateway, and subsequent
  2498. // requests return information about the existing customer gateway. The subsequent
  2499. // requests do not create new customer gateway resources.
  2500. //
  2501. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2502. // with awserr.Error's Code and Message methods to get detailed information about
  2503. // the error.
  2504. //
  2505. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2506. // API operation CreateCustomerGateway for usage and error information.
  2507. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
  2508. func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
  2509. req, out := c.CreateCustomerGatewayRequest(input)
  2510. return out, req.Send()
  2511. }
  2512. // CreateCustomerGatewayWithContext is the same as CreateCustomerGateway with the addition of
  2513. // the ability to pass a context and additional request options.
  2514. //
  2515. // See CreateCustomerGateway for details on how to use this API operation.
  2516. //
  2517. // The context must be non-nil and will be used for request cancellation. If
  2518. // the context is nil a panic will occur. In the future the SDK may create
  2519. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2520. // for more information on using Contexts.
  2521. func (c *EC2) CreateCustomerGatewayWithContext(ctx aws.Context, input *CreateCustomerGatewayInput, opts ...request.Option) (*CreateCustomerGatewayOutput, error) {
  2522. req, out := c.CreateCustomerGatewayRequest(input)
  2523. req.SetContext(ctx)
  2524. req.ApplyOptions(opts...)
  2525. return out, req.Send()
  2526. }
  2527. const opCreateDefaultSubnet = "CreateDefaultSubnet"
  2528. // CreateDefaultSubnetRequest generates a "aws/request.Request" representing the
  2529. // client's request for the CreateDefaultSubnet operation. The "output" return
  2530. // value will be populated with the request's response once the request completes
  2531. // successfuly.
  2532. //
  2533. // Use "Send" method on the returned Request to send the API call to the service.
  2534. // the "output" return value is not valid until after Send returns without error.
  2535. //
  2536. // See CreateDefaultSubnet for more information on using the CreateDefaultSubnet
  2537. // API call, and error handling.
  2538. //
  2539. // This method is useful when you want to inject custom logic or configuration
  2540. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2541. //
  2542. //
  2543. // // Example sending a request using the CreateDefaultSubnetRequest method.
  2544. // req, resp := client.CreateDefaultSubnetRequest(params)
  2545. //
  2546. // err := req.Send()
  2547. // if err == nil { // resp is now filled
  2548. // fmt.Println(resp)
  2549. // }
  2550. //
  2551. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
  2552. func (c *EC2) CreateDefaultSubnetRequest(input *CreateDefaultSubnetInput) (req *request.Request, output *CreateDefaultSubnetOutput) {
  2553. op := &request.Operation{
  2554. Name: opCreateDefaultSubnet,
  2555. HTTPMethod: "POST",
  2556. HTTPPath: "/",
  2557. }
  2558. if input == nil {
  2559. input = &CreateDefaultSubnetInput{}
  2560. }
  2561. output = &CreateDefaultSubnetOutput{}
  2562. req = c.newRequest(op, input, output)
  2563. return
  2564. }
  2565. // CreateDefaultSubnet API operation for Amazon Elastic Compute Cloud.
  2566. //
  2567. // Creates a default subnet with a size /20 IPv4 CIDR block in the specified
  2568. // Availability Zone in your default VPC. You can have only one default subnet
  2569. // per Availability Zone. For more information, see Creating a Default Subnet
  2570. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html#create-default-subnet)
  2571. // in the Amazon Virtual Private Cloud User Guide.
  2572. //
  2573. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2574. // with awserr.Error's Code and Message methods to get detailed information about
  2575. // the error.
  2576. //
  2577. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2578. // API operation CreateDefaultSubnet for usage and error information.
  2579. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
  2580. func (c *EC2) CreateDefaultSubnet(input *CreateDefaultSubnetInput) (*CreateDefaultSubnetOutput, error) {
  2581. req, out := c.CreateDefaultSubnetRequest(input)
  2582. return out, req.Send()
  2583. }
  2584. // CreateDefaultSubnetWithContext is the same as CreateDefaultSubnet with the addition of
  2585. // the ability to pass a context and additional request options.
  2586. //
  2587. // See CreateDefaultSubnet for details on how to use this API operation.
  2588. //
  2589. // The context must be non-nil and will be used for request cancellation. If
  2590. // the context is nil a panic will occur. In the future the SDK may create
  2591. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2592. // for more information on using Contexts.
  2593. func (c *EC2) CreateDefaultSubnetWithContext(ctx aws.Context, input *CreateDefaultSubnetInput, opts ...request.Option) (*CreateDefaultSubnetOutput, error) {
  2594. req, out := c.CreateDefaultSubnetRequest(input)
  2595. req.SetContext(ctx)
  2596. req.ApplyOptions(opts...)
  2597. return out, req.Send()
  2598. }
  2599. const opCreateDefaultVpc = "CreateDefaultVpc"
  2600. // CreateDefaultVpcRequest generates a "aws/request.Request" representing the
  2601. // client's request for the CreateDefaultVpc operation. The "output" return
  2602. // value will be populated with the request's response once the request completes
  2603. // successfuly.
  2604. //
  2605. // Use "Send" method on the returned Request to send the API call to the service.
  2606. // the "output" return value is not valid until after Send returns without error.
  2607. //
  2608. // See CreateDefaultVpc for more information on using the CreateDefaultVpc
  2609. // API call, and error handling.
  2610. //
  2611. // This method is useful when you want to inject custom logic or configuration
  2612. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2613. //
  2614. //
  2615. // // Example sending a request using the CreateDefaultVpcRequest method.
  2616. // req, resp := client.CreateDefaultVpcRequest(params)
  2617. //
  2618. // err := req.Send()
  2619. // if err == nil { // resp is now filled
  2620. // fmt.Println(resp)
  2621. // }
  2622. //
  2623. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
  2624. func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *request.Request, output *CreateDefaultVpcOutput) {
  2625. op := &request.Operation{
  2626. Name: opCreateDefaultVpc,
  2627. HTTPMethod: "POST",
  2628. HTTPPath: "/",
  2629. }
  2630. if input == nil {
  2631. input = &CreateDefaultVpcInput{}
  2632. }
  2633. output = &CreateDefaultVpcOutput{}
  2634. req = c.newRequest(op, input, output)
  2635. return
  2636. }
  2637. // CreateDefaultVpc API operation for Amazon Elastic Compute Cloud.
  2638. //
  2639. // Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet
  2640. // in each Availability Zone. For more information about the components of a
  2641. // default VPC, see Default VPC and Default Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html)
  2642. // in the Amazon Virtual Private Cloud User Guide. You cannot specify the components
  2643. // of the default VPC yourself.
  2644. //
  2645. // You can create a default VPC if you deleted your previous default VPC. You
  2646. // cannot have more than one default VPC per region.
  2647. //
  2648. // If your account supports EC2-Classic, you cannot use this action to create
  2649. // a default VPC in a region that supports EC2-Classic. If you want a default
  2650. // VPC in a region that supports EC2-Classic, see "I really want a default VPC
  2651. // for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs).
  2652. //
  2653. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2654. // with awserr.Error's Code and Message methods to get detailed information about
  2655. // the error.
  2656. //
  2657. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2658. // API operation CreateDefaultVpc for usage and error information.
  2659. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
  2660. func (c *EC2) CreateDefaultVpc(input *CreateDefaultVpcInput) (*CreateDefaultVpcOutput, error) {
  2661. req, out := c.CreateDefaultVpcRequest(input)
  2662. return out, req.Send()
  2663. }
  2664. // CreateDefaultVpcWithContext is the same as CreateDefaultVpc with the addition of
  2665. // the ability to pass a context and additional request options.
  2666. //
  2667. // See CreateDefaultVpc for details on how to use this API operation.
  2668. //
  2669. // The context must be non-nil and will be used for request cancellation. If
  2670. // the context is nil a panic will occur. In the future the SDK may create
  2671. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2672. // for more information on using Contexts.
  2673. func (c *EC2) CreateDefaultVpcWithContext(ctx aws.Context, input *CreateDefaultVpcInput, opts ...request.Option) (*CreateDefaultVpcOutput, error) {
  2674. req, out := c.CreateDefaultVpcRequest(input)
  2675. req.SetContext(ctx)
  2676. req.ApplyOptions(opts...)
  2677. return out, req.Send()
  2678. }
  2679. const opCreateDhcpOptions = "CreateDhcpOptions"
  2680. // CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
  2681. // client's request for the CreateDhcpOptions operation. The "output" return
  2682. // value will be populated with the request's response once the request completes
  2683. // successfuly.
  2684. //
  2685. // Use "Send" method on the returned Request to send the API call to the service.
  2686. // the "output" return value is not valid until after Send returns without error.
  2687. //
  2688. // See CreateDhcpOptions for more information on using the CreateDhcpOptions
  2689. // API call, and error handling.
  2690. //
  2691. // This method is useful when you want to inject custom logic or configuration
  2692. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2693. //
  2694. //
  2695. // // Example sending a request using the CreateDhcpOptionsRequest method.
  2696. // req, resp := client.CreateDhcpOptionsRequest(params)
  2697. //
  2698. // err := req.Send()
  2699. // if err == nil { // resp is now filled
  2700. // fmt.Println(resp)
  2701. // }
  2702. //
  2703. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
  2704. func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
  2705. op := &request.Operation{
  2706. Name: opCreateDhcpOptions,
  2707. HTTPMethod: "POST",
  2708. HTTPPath: "/",
  2709. }
  2710. if input == nil {
  2711. input = &CreateDhcpOptionsInput{}
  2712. }
  2713. output = &CreateDhcpOptionsOutput{}
  2714. req = c.newRequest(op, input, output)
  2715. return
  2716. }
  2717. // CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  2718. //
  2719. // Creates a set of DHCP options for your VPC. After creating the set, you must
  2720. // associate it with the VPC, causing all existing and new instances that you
  2721. // launch in the VPC to use this set of DHCP options. The following are the
  2722. // individual DHCP options you can specify. For more information about the options,
  2723. // see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  2724. //
  2725. // * domain-name-servers - The IP addresses of up to four domain name servers,
  2726. // or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
  2727. // If specifying more than one domain name server, specify the IP addresses
  2728. // in a single parameter, separated by commas. If you want your instance
  2729. // to receive a custom DNS hostname as specified in domain-name, you must
  2730. // set domain-name-servers to a custom DNS server.
  2731. //
  2732. // * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify
  2733. // ec2.internal. If you're using AmazonProvidedDNS in another region, specify
  2734. // region.compute.internal (for example, ap-northeast-1.compute.internal).
  2735. // Otherwise, specify a domain name (for example, MyCompany.com). This value
  2736. // is used to complete unqualified DNS hostnames. Important: Some Linux operating
  2737. // systems accept multiple domain names separated by spaces. However, Windows
  2738. // and other Linux operating systems treat the value as a single domain,
  2739. // which results in unexpected behavior. If your DHCP options set is associated
  2740. // with a VPC that has instances with multiple operating systems, specify
  2741. // only one domain name.
  2742. //
  2743. // * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
  2744. // servers.
  2745. //
  2746. // * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
  2747. //
  2748. // * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
  2749. // that you specify 2 (broadcast and multicast are not currently supported).
  2750. // For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  2751. //
  2752. // Your VPC automatically starts out with a set of DHCP options that includes
  2753. // only a DNS server that we provide (AmazonProvidedDNS). If you create a set
  2754. // of options, and if your VPC has an Internet gateway, make sure to set the
  2755. // domain-name-servers option either to AmazonProvidedDNS or to a domain name
  2756. // server of your choice. For more information about DHCP options, see DHCP
  2757. // Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  2758. // in the Amazon Virtual Private Cloud User Guide.
  2759. //
  2760. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2761. // with awserr.Error's Code and Message methods to get detailed information about
  2762. // the error.
  2763. //
  2764. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2765. // API operation CreateDhcpOptions for usage and error information.
  2766. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
  2767. func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
  2768. req, out := c.CreateDhcpOptionsRequest(input)
  2769. return out, req.Send()
  2770. }
  2771. // CreateDhcpOptionsWithContext is the same as CreateDhcpOptions with the addition of
  2772. // the ability to pass a context and additional request options.
  2773. //
  2774. // See CreateDhcpOptions for details on how to use this API operation.
  2775. //
  2776. // The context must be non-nil and will be used for request cancellation. If
  2777. // the context is nil a panic will occur. In the future the SDK may create
  2778. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2779. // for more information on using Contexts.
  2780. func (c *EC2) CreateDhcpOptionsWithContext(ctx aws.Context, input *CreateDhcpOptionsInput, opts ...request.Option) (*CreateDhcpOptionsOutput, error) {
  2781. req, out := c.CreateDhcpOptionsRequest(input)
  2782. req.SetContext(ctx)
  2783. req.ApplyOptions(opts...)
  2784. return out, req.Send()
  2785. }
  2786. const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway"
  2787. // CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
  2788. // client's request for the CreateEgressOnlyInternetGateway operation. The "output" return
  2789. // value will be populated with the request's response once the request completes
  2790. // successfuly.
  2791. //
  2792. // Use "Send" method on the returned Request to send the API call to the service.
  2793. // the "output" return value is not valid until after Send returns without error.
  2794. //
  2795. // See CreateEgressOnlyInternetGateway for more information on using the CreateEgressOnlyInternetGateway
  2796. // API call, and error handling.
  2797. //
  2798. // This method is useful when you want to inject custom logic or configuration
  2799. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2800. //
  2801. //
  2802. // // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method.
  2803. // req, resp := client.CreateEgressOnlyInternetGatewayRequest(params)
  2804. //
  2805. // err := req.Send()
  2806. // if err == nil { // resp is now filled
  2807. // fmt.Println(resp)
  2808. // }
  2809. //
  2810. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
  2811. func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInternetGatewayInput) (req *request.Request, output *CreateEgressOnlyInternetGatewayOutput) {
  2812. op := &request.Operation{
  2813. Name: opCreateEgressOnlyInternetGateway,
  2814. HTTPMethod: "POST",
  2815. HTTPPath: "/",
  2816. }
  2817. if input == nil {
  2818. input = &CreateEgressOnlyInternetGatewayInput{}
  2819. }
  2820. output = &CreateEgressOnlyInternetGatewayOutput{}
  2821. req = c.newRequest(op, input, output)
  2822. return
  2823. }
  2824. // CreateEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
  2825. //
  2826. // [IPv6 only] Creates an egress-only Internet gateway for your VPC. An egress-only
  2827. // Internet gateway is used to enable outbound communication over IPv6 from
  2828. // instances in your VPC to the Internet, and prevents hosts outside of your
  2829. // VPC from initiating an IPv6 connection with your instance.
  2830. //
  2831. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2832. // with awserr.Error's Code and Message methods to get detailed information about
  2833. // the error.
  2834. //
  2835. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2836. // API operation CreateEgressOnlyInternetGateway for usage and error information.
  2837. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
  2838. func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) {
  2839. req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
  2840. return out, req.Send()
  2841. }
  2842. // CreateEgressOnlyInternetGatewayWithContext is the same as CreateEgressOnlyInternetGateway with the addition of
  2843. // the ability to pass a context and additional request options.
  2844. //
  2845. // See CreateEgressOnlyInternetGateway for details on how to use this API operation.
  2846. //
  2847. // The context must be non-nil and will be used for request cancellation. If
  2848. // the context is nil a panic will occur. In the future the SDK may create
  2849. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2850. // for more information on using Contexts.
  2851. func (c *EC2) CreateEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *CreateEgressOnlyInternetGatewayInput, opts ...request.Option) (*CreateEgressOnlyInternetGatewayOutput, error) {
  2852. req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
  2853. req.SetContext(ctx)
  2854. req.ApplyOptions(opts...)
  2855. return out, req.Send()
  2856. }
  2857. const opCreateFleet = "CreateFleet"
  2858. // CreateFleetRequest generates a "aws/request.Request" representing the
  2859. // client's request for the CreateFleet operation. The "output" return
  2860. // value will be populated with the request's response once the request completes
  2861. // successfuly.
  2862. //
  2863. // Use "Send" method on the returned Request to send the API call to the service.
  2864. // the "output" return value is not valid until after Send returns without error.
  2865. //
  2866. // See CreateFleet for more information on using the CreateFleet
  2867. // API call, and error handling.
  2868. //
  2869. // This method is useful when you want to inject custom logic or configuration
  2870. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2871. //
  2872. //
  2873. // // Example sending a request using the CreateFleetRequest method.
  2874. // req, resp := client.CreateFleetRequest(params)
  2875. //
  2876. // err := req.Send()
  2877. // if err == nil { // resp is now filled
  2878. // fmt.Println(resp)
  2879. // }
  2880. //
  2881. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
  2882. func (c *EC2) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
  2883. op := &request.Operation{
  2884. Name: opCreateFleet,
  2885. HTTPMethod: "POST",
  2886. HTTPPath: "/",
  2887. }
  2888. if input == nil {
  2889. input = &CreateFleetInput{}
  2890. }
  2891. output = &CreateFleetOutput{}
  2892. req = c.newRequest(op, input, output)
  2893. return
  2894. }
  2895. // CreateFleet API operation for Amazon Elastic Compute Cloud.
  2896. //
  2897. // Launches an EC2 Fleet.
  2898. //
  2899. // You can create a single EC2 Fleet that includes multiple launch specifications
  2900. // that vary by instance type, AMI, Availability Zone, or subnet.
  2901. //
  2902. // For more information, see Launching an EC2 Fleet (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html)
  2903. // in the Amazon Elastic Compute Cloud User Guide.
  2904. //
  2905. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2906. // with awserr.Error's Code and Message methods to get detailed information about
  2907. // the error.
  2908. //
  2909. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2910. // API operation CreateFleet for usage and error information.
  2911. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
  2912. func (c *EC2) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
  2913. req, out := c.CreateFleetRequest(input)
  2914. return out, req.Send()
  2915. }
  2916. // CreateFleetWithContext is the same as CreateFleet with the addition of
  2917. // the ability to pass a context and additional request options.
  2918. //
  2919. // See CreateFleet for details on how to use this API operation.
  2920. //
  2921. // The context must be non-nil and will be used for request cancellation. If
  2922. // the context is nil a panic will occur. In the future the SDK may create
  2923. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2924. // for more information on using Contexts.
  2925. func (c *EC2) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
  2926. req, out := c.CreateFleetRequest(input)
  2927. req.SetContext(ctx)
  2928. req.ApplyOptions(opts...)
  2929. return out, req.Send()
  2930. }
  2931. const opCreateFlowLogs = "CreateFlowLogs"
  2932. // CreateFlowLogsRequest generates a "aws/request.Request" representing the
  2933. // client's request for the CreateFlowLogs operation. The "output" return
  2934. // value will be populated with the request's response once the request completes
  2935. // successfuly.
  2936. //
  2937. // Use "Send" method on the returned Request to send the API call to the service.
  2938. // the "output" return value is not valid until after Send returns without error.
  2939. //
  2940. // See CreateFlowLogs for more information on using the CreateFlowLogs
  2941. // API call, and error handling.
  2942. //
  2943. // This method is useful when you want to inject custom logic or configuration
  2944. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2945. //
  2946. //
  2947. // // Example sending a request using the CreateFlowLogsRequest method.
  2948. // req, resp := client.CreateFlowLogsRequest(params)
  2949. //
  2950. // err := req.Send()
  2951. // if err == nil { // resp is now filled
  2952. // fmt.Println(resp)
  2953. // }
  2954. //
  2955. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
  2956. func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
  2957. op := &request.Operation{
  2958. Name: opCreateFlowLogs,
  2959. HTTPMethod: "POST",
  2960. HTTPPath: "/",
  2961. }
  2962. if input == nil {
  2963. input = &CreateFlowLogsInput{}
  2964. }
  2965. output = &CreateFlowLogsOutput{}
  2966. req = c.newRequest(op, input, output)
  2967. return
  2968. }
  2969. // CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
  2970. //
  2971. // Creates one or more flow logs to capture IP traffic for a specific network
  2972. // interface, subnet, or VPC. Flow logs are delivered to a specified log group
  2973. // in Amazon CloudWatch Logs. If you specify a VPC or subnet in the request,
  2974. // a log stream is created in CloudWatch Logs for each network interface in
  2975. // the subnet or VPC. Log streams can include information about accepted and
  2976. // rejected traffic to a network interface. You can view the data in your log
  2977. // streams using Amazon CloudWatch Logs.
  2978. //
  2979. // In your request, you must also specify an IAM role that has permission to
  2980. // publish logs to CloudWatch Logs.
  2981. //
  2982. // For more information, see VPC Flow Logs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html)
  2983. // in the Amazon Virtual Private Cloud User Guide.
  2984. //
  2985. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2986. // with awserr.Error's Code and Message methods to get detailed information about
  2987. // the error.
  2988. //
  2989. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2990. // API operation CreateFlowLogs for usage and error information.
  2991. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
  2992. func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
  2993. req, out := c.CreateFlowLogsRequest(input)
  2994. return out, req.Send()
  2995. }
  2996. // CreateFlowLogsWithContext is the same as CreateFlowLogs with the addition of
  2997. // the ability to pass a context and additional request options.
  2998. //
  2999. // See CreateFlowLogs for details on how to use this API operation.
  3000. //
  3001. // The context must be non-nil and will be used for request cancellation. If
  3002. // the context is nil a panic will occur. In the future the SDK may create
  3003. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3004. // for more information on using Contexts.
  3005. func (c *EC2) CreateFlowLogsWithContext(ctx aws.Context, input *CreateFlowLogsInput, opts ...request.Option) (*CreateFlowLogsOutput, error) {
  3006. req, out := c.CreateFlowLogsRequest(input)
  3007. req.SetContext(ctx)
  3008. req.ApplyOptions(opts...)
  3009. return out, req.Send()
  3010. }
  3011. const opCreateFpgaImage = "CreateFpgaImage"
  3012. // CreateFpgaImageRequest generates a "aws/request.Request" representing the
  3013. // client's request for the CreateFpgaImage operation. The "output" return
  3014. // value will be populated with the request's response once the request completes
  3015. // successfuly.
  3016. //
  3017. // Use "Send" method on the returned Request to send the API call to the service.
  3018. // the "output" return value is not valid until after Send returns without error.
  3019. //
  3020. // See CreateFpgaImage for more information on using the CreateFpgaImage
  3021. // API call, and error handling.
  3022. //
  3023. // This method is useful when you want to inject custom logic or configuration
  3024. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3025. //
  3026. //
  3027. // // Example sending a request using the CreateFpgaImageRequest method.
  3028. // req, resp := client.CreateFpgaImageRequest(params)
  3029. //
  3030. // err := req.Send()
  3031. // if err == nil { // resp is now filled
  3032. // fmt.Println(resp)
  3033. // }
  3034. //
  3035. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
  3036. func (c *EC2) CreateFpgaImageRequest(input *CreateFpgaImageInput) (req *request.Request, output *CreateFpgaImageOutput) {
  3037. op := &request.Operation{
  3038. Name: opCreateFpgaImage,
  3039. HTTPMethod: "POST",
  3040. HTTPPath: "/",
  3041. }
  3042. if input == nil {
  3043. input = &CreateFpgaImageInput{}
  3044. }
  3045. output = &CreateFpgaImageOutput{}
  3046. req = c.newRequest(op, input, output)
  3047. return
  3048. }
  3049. // CreateFpgaImage API operation for Amazon Elastic Compute Cloud.
  3050. //
  3051. // Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).
  3052. //
  3053. // The create operation is asynchronous. To verify that the AFI is ready for
  3054. // use, check the output logs.
  3055. //
  3056. // An AFI contains the FPGA bitstream that is ready to download to an FPGA.
  3057. // You can securely deploy an AFI on one or more FPGA-accelerated instances.
  3058. // For more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/).
  3059. //
  3060. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3061. // with awserr.Error's Code and Message methods to get detailed information about
  3062. // the error.
  3063. //
  3064. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3065. // API operation CreateFpgaImage for usage and error information.
  3066. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
  3067. func (c *EC2) CreateFpgaImage(input *CreateFpgaImageInput) (*CreateFpgaImageOutput, error) {
  3068. req, out := c.CreateFpgaImageRequest(input)
  3069. return out, req.Send()
  3070. }
  3071. // CreateFpgaImageWithContext is the same as CreateFpgaImage with the addition of
  3072. // the ability to pass a context and additional request options.
  3073. //
  3074. // See CreateFpgaImage for details on how to use this API operation.
  3075. //
  3076. // The context must be non-nil and will be used for request cancellation. If
  3077. // the context is nil a panic will occur. In the future the SDK may create
  3078. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3079. // for more information on using Contexts.
  3080. func (c *EC2) CreateFpgaImageWithContext(ctx aws.Context, input *CreateFpgaImageInput, opts ...request.Option) (*CreateFpgaImageOutput, error) {
  3081. req, out := c.CreateFpgaImageRequest(input)
  3082. req.SetContext(ctx)
  3083. req.ApplyOptions(opts...)
  3084. return out, req.Send()
  3085. }
  3086. const opCreateImage = "CreateImage"
  3087. // CreateImageRequest generates a "aws/request.Request" representing the
  3088. // client's request for the CreateImage operation. The "output" return
  3089. // value will be populated with the request's response once the request completes
  3090. // successfuly.
  3091. //
  3092. // Use "Send" method on the returned Request to send the API call to the service.
  3093. // the "output" return value is not valid until after Send returns without error.
  3094. //
  3095. // See CreateImage for more information on using the CreateImage
  3096. // API call, and error handling.
  3097. //
  3098. // This method is useful when you want to inject custom logic or configuration
  3099. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3100. //
  3101. //
  3102. // // Example sending a request using the CreateImageRequest method.
  3103. // req, resp := client.CreateImageRequest(params)
  3104. //
  3105. // err := req.Send()
  3106. // if err == nil { // resp is now filled
  3107. // fmt.Println(resp)
  3108. // }
  3109. //
  3110. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
  3111. func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
  3112. op := &request.Operation{
  3113. Name: opCreateImage,
  3114. HTTPMethod: "POST",
  3115. HTTPPath: "/",
  3116. }
  3117. if input == nil {
  3118. input = &CreateImageInput{}
  3119. }
  3120. output = &CreateImageOutput{}
  3121. req = c.newRequest(op, input, output)
  3122. return
  3123. }
  3124. // CreateImage API operation for Amazon Elastic Compute Cloud.
  3125. //
  3126. // Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
  3127. // is either running or stopped.
  3128. //
  3129. // If you customized your instance with instance store volumes or EBS volumes
  3130. // in addition to the root device volume, the new AMI contains block device
  3131. // mapping information for those volumes. When you launch an instance from this
  3132. // new AMI, the instance automatically launches with those additional volumes.
  3133. //
  3134. // For more information, see Creating Amazon EBS-Backed Linux AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
  3135. // in the Amazon Elastic Compute Cloud User Guide.
  3136. //
  3137. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3138. // with awserr.Error's Code and Message methods to get detailed information about
  3139. // the error.
  3140. //
  3141. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3142. // API operation CreateImage for usage and error information.
  3143. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
  3144. func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
  3145. req, out := c.CreateImageRequest(input)
  3146. return out, req.Send()
  3147. }
  3148. // CreateImageWithContext is the same as CreateImage with the addition of
  3149. // the ability to pass a context and additional request options.
  3150. //
  3151. // See CreateImage for details on how to use this API operation.
  3152. //
  3153. // The context must be non-nil and will be used for request cancellation. If
  3154. // the context is nil a panic will occur. In the future the SDK may create
  3155. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3156. // for more information on using Contexts.
  3157. func (c *EC2) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
  3158. req, out := c.CreateImageRequest(input)
  3159. req.SetContext(ctx)
  3160. req.ApplyOptions(opts...)
  3161. return out, req.Send()
  3162. }
  3163. const opCreateInstanceExportTask = "CreateInstanceExportTask"
  3164. // CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
  3165. // client's request for the CreateInstanceExportTask operation. The "output" return
  3166. // value will be populated with the request's response once the request completes
  3167. // successfuly.
  3168. //
  3169. // Use "Send" method on the returned Request to send the API call to the service.
  3170. // the "output" return value is not valid until after Send returns without error.
  3171. //
  3172. // See CreateInstanceExportTask for more information on using the CreateInstanceExportTask
  3173. // API call, and error handling.
  3174. //
  3175. // This method is useful when you want to inject custom logic or configuration
  3176. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3177. //
  3178. //
  3179. // // Example sending a request using the CreateInstanceExportTaskRequest method.
  3180. // req, resp := client.CreateInstanceExportTaskRequest(params)
  3181. //
  3182. // err := req.Send()
  3183. // if err == nil { // resp is now filled
  3184. // fmt.Println(resp)
  3185. // }
  3186. //
  3187. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
  3188. func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
  3189. op := &request.Operation{
  3190. Name: opCreateInstanceExportTask,
  3191. HTTPMethod: "POST",
  3192. HTTPPath: "/",
  3193. }
  3194. if input == nil {
  3195. input = &CreateInstanceExportTaskInput{}
  3196. }
  3197. output = &CreateInstanceExportTaskOutput{}
  3198. req = c.newRequest(op, input, output)
  3199. return
  3200. }
  3201. // CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
  3202. //
  3203. // Exports a running or stopped instance to an S3 bucket.
  3204. //
  3205. // For information about the supported operating systems, image formats, and
  3206. // known limitations for the types of instances you can export, see Exporting
  3207. // an Instance as a VM Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)
  3208. // in the VM Import/Export User Guide.
  3209. //
  3210. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3211. // with awserr.Error's Code and Message methods to get detailed information about
  3212. // the error.
  3213. //
  3214. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3215. // API operation CreateInstanceExportTask for usage and error information.
  3216. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
  3217. func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
  3218. req, out := c.CreateInstanceExportTaskRequest(input)
  3219. return out, req.Send()
  3220. }
  3221. // CreateInstanceExportTaskWithContext is the same as CreateInstanceExportTask with the addition of
  3222. // the ability to pass a context and additional request options.
  3223. //
  3224. // See CreateInstanceExportTask for details on how to use this API operation.
  3225. //
  3226. // The context must be non-nil and will be used for request cancellation. If
  3227. // the context is nil a panic will occur. In the future the SDK may create
  3228. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3229. // for more information on using Contexts.
  3230. func (c *EC2) CreateInstanceExportTaskWithContext(ctx aws.Context, input *CreateInstanceExportTaskInput, opts ...request.Option) (*CreateInstanceExportTaskOutput, error) {
  3231. req, out := c.CreateInstanceExportTaskRequest(input)
  3232. req.SetContext(ctx)
  3233. req.ApplyOptions(opts...)
  3234. return out, req.Send()
  3235. }
  3236. const opCreateInternetGateway = "CreateInternetGateway"
  3237. // CreateInternetGatewayRequest generates a "aws/request.Request" representing the
  3238. // client's request for the CreateInternetGateway operation. The "output" return
  3239. // value will be populated with the request's response once the request completes
  3240. // successfuly.
  3241. //
  3242. // Use "Send" method on the returned Request to send the API call to the service.
  3243. // the "output" return value is not valid until after Send returns without error.
  3244. //
  3245. // See CreateInternetGateway for more information on using the CreateInternetGateway
  3246. // API call, and error handling.
  3247. //
  3248. // This method is useful when you want to inject custom logic or configuration
  3249. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3250. //
  3251. //
  3252. // // Example sending a request using the CreateInternetGatewayRequest method.
  3253. // req, resp := client.CreateInternetGatewayRequest(params)
  3254. //
  3255. // err := req.Send()
  3256. // if err == nil { // resp is now filled
  3257. // fmt.Println(resp)
  3258. // }
  3259. //
  3260. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
  3261. func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
  3262. op := &request.Operation{
  3263. Name: opCreateInternetGateway,
  3264. HTTPMethod: "POST",
  3265. HTTPPath: "/",
  3266. }
  3267. if input == nil {
  3268. input = &CreateInternetGatewayInput{}
  3269. }
  3270. output = &CreateInternetGatewayOutput{}
  3271. req = c.newRequest(op, input, output)
  3272. return
  3273. }
  3274. // CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
  3275. //
  3276. // Creates an Internet gateway for use with a VPC. After creating the Internet
  3277. // gateway, you attach it to a VPC using AttachInternetGateway.
  3278. //
  3279. // For more information about your VPC and Internet gateway, see the Amazon
  3280. // Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  3281. //
  3282. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3283. // with awserr.Error's Code and Message methods to get detailed information about
  3284. // the error.
  3285. //
  3286. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3287. // API operation CreateInternetGateway for usage and error information.
  3288. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
  3289. func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
  3290. req, out := c.CreateInternetGatewayRequest(input)
  3291. return out, req.Send()
  3292. }
  3293. // CreateInternetGatewayWithContext is the same as CreateInternetGateway with the addition of
  3294. // the ability to pass a context and additional request options.
  3295. //
  3296. // See CreateInternetGateway for details on how to use this API operation.
  3297. //
  3298. // The context must be non-nil and will be used for request cancellation. If
  3299. // the context is nil a panic will occur. In the future the SDK may create
  3300. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3301. // for more information on using Contexts.
  3302. func (c *EC2) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInternetGatewayInput, opts ...request.Option) (*CreateInternetGatewayOutput, error) {
  3303. req, out := c.CreateInternetGatewayRequest(input)
  3304. req.SetContext(ctx)
  3305. req.ApplyOptions(opts...)
  3306. return out, req.Send()
  3307. }
  3308. const opCreateKeyPair = "CreateKeyPair"
  3309. // CreateKeyPairRequest generates a "aws/request.Request" representing the
  3310. // client's request for the CreateKeyPair operation. The "output" return
  3311. // value will be populated with the request's response once the request completes
  3312. // successfuly.
  3313. //
  3314. // Use "Send" method on the returned Request to send the API call to the service.
  3315. // the "output" return value is not valid until after Send returns without error.
  3316. //
  3317. // See CreateKeyPair for more information on using the CreateKeyPair
  3318. // API call, and error handling.
  3319. //
  3320. // This method is useful when you want to inject custom logic or configuration
  3321. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3322. //
  3323. //
  3324. // // Example sending a request using the CreateKeyPairRequest method.
  3325. // req, resp := client.CreateKeyPairRequest(params)
  3326. //
  3327. // err := req.Send()
  3328. // if err == nil { // resp is now filled
  3329. // fmt.Println(resp)
  3330. // }
  3331. //
  3332. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
  3333. func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
  3334. op := &request.Operation{
  3335. Name: opCreateKeyPair,
  3336. HTTPMethod: "POST",
  3337. HTTPPath: "/",
  3338. }
  3339. if input == nil {
  3340. input = &CreateKeyPairInput{}
  3341. }
  3342. output = &CreateKeyPairOutput{}
  3343. req = c.newRequest(op, input, output)
  3344. return
  3345. }
  3346. // CreateKeyPair API operation for Amazon Elastic Compute Cloud.
  3347. //
  3348. // Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
  3349. // the public key and displays the private key for you to save to a file. The
  3350. // private key is returned as an unencrypted PEM encoded PKCS#1 private key.
  3351. // If a key with the specified name already exists, Amazon EC2 returns an error.
  3352. //
  3353. // You can have up to five thousand key pairs per region.
  3354. //
  3355. // The key pair returned to you is available only in the region in which you
  3356. // create it. If you prefer, you can create your own key pair using a third-party
  3357. // tool and upload it to any region using ImportKeyPair.
  3358. //
  3359. // For more information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  3360. // in the Amazon Elastic Compute Cloud User Guide.
  3361. //
  3362. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3363. // with awserr.Error's Code and Message methods to get detailed information about
  3364. // the error.
  3365. //
  3366. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3367. // API operation CreateKeyPair for usage and error information.
  3368. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
  3369. func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
  3370. req, out := c.CreateKeyPairRequest(input)
  3371. return out, req.Send()
  3372. }
  3373. // CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
  3374. // the ability to pass a context and additional request options.
  3375. //
  3376. // See CreateKeyPair for details on how to use this API operation.
  3377. //
  3378. // The context must be non-nil and will be used for request cancellation. If
  3379. // the context is nil a panic will occur. In the future the SDK may create
  3380. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3381. // for more information on using Contexts.
  3382. func (c *EC2) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
  3383. req, out := c.CreateKeyPairRequest(input)
  3384. req.SetContext(ctx)
  3385. req.ApplyOptions(opts...)
  3386. return out, req.Send()
  3387. }
  3388. const opCreateLaunchTemplate = "CreateLaunchTemplate"
  3389. // CreateLaunchTemplateRequest generates a "aws/request.Request" representing the
  3390. // client's request for the CreateLaunchTemplate operation. The "output" return
  3391. // value will be populated with the request's response once the request completes
  3392. // successfuly.
  3393. //
  3394. // Use "Send" method on the returned Request to send the API call to the service.
  3395. // the "output" return value is not valid until after Send returns without error.
  3396. //
  3397. // See CreateLaunchTemplate for more information on using the CreateLaunchTemplate
  3398. // API call, and error handling.
  3399. //
  3400. // This method is useful when you want to inject custom logic or configuration
  3401. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3402. //
  3403. //
  3404. // // Example sending a request using the CreateLaunchTemplateRequest method.
  3405. // req, resp := client.CreateLaunchTemplateRequest(params)
  3406. //
  3407. // err := req.Send()
  3408. // if err == nil { // resp is now filled
  3409. // fmt.Println(resp)
  3410. // }
  3411. //
  3412. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
  3413. func (c *EC2) CreateLaunchTemplateRequest(input *CreateLaunchTemplateInput) (req *request.Request, output *CreateLaunchTemplateOutput) {
  3414. op := &request.Operation{
  3415. Name: opCreateLaunchTemplate,
  3416. HTTPMethod: "POST",
  3417. HTTPPath: "/",
  3418. }
  3419. if input == nil {
  3420. input = &CreateLaunchTemplateInput{}
  3421. }
  3422. output = &CreateLaunchTemplateOutput{}
  3423. req = c.newRequest(op, input, output)
  3424. return
  3425. }
  3426. // CreateLaunchTemplate API operation for Amazon Elastic Compute Cloud.
  3427. //
  3428. // Creates a launch template. A launch template contains the parameters to launch
  3429. // an instance. When you launch an instance using RunInstances, you can specify
  3430. // a launch template instead of providing the launch parameters in the request.
  3431. //
  3432. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3433. // with awserr.Error's Code and Message methods to get detailed information about
  3434. // the error.
  3435. //
  3436. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3437. // API operation CreateLaunchTemplate for usage and error information.
  3438. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
  3439. func (c *EC2) CreateLaunchTemplate(input *CreateLaunchTemplateInput) (*CreateLaunchTemplateOutput, error) {
  3440. req, out := c.CreateLaunchTemplateRequest(input)
  3441. return out, req.Send()
  3442. }
  3443. // CreateLaunchTemplateWithContext is the same as CreateLaunchTemplate with the addition of
  3444. // the ability to pass a context and additional request options.
  3445. //
  3446. // See CreateLaunchTemplate for details on how to use this API operation.
  3447. //
  3448. // The context must be non-nil and will be used for request cancellation. If
  3449. // the context is nil a panic will occur. In the future the SDK may create
  3450. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3451. // for more information on using Contexts.
  3452. func (c *EC2) CreateLaunchTemplateWithContext(ctx aws.Context, input *CreateLaunchTemplateInput, opts ...request.Option) (*CreateLaunchTemplateOutput, error) {
  3453. req, out := c.CreateLaunchTemplateRequest(input)
  3454. req.SetContext(ctx)
  3455. req.ApplyOptions(opts...)
  3456. return out, req.Send()
  3457. }
  3458. const opCreateLaunchTemplateVersion = "CreateLaunchTemplateVersion"
  3459. // CreateLaunchTemplateVersionRequest generates a "aws/request.Request" representing the
  3460. // client's request for the CreateLaunchTemplateVersion operation. The "output" return
  3461. // value will be populated with the request's response once the request completes
  3462. // successfuly.
  3463. //
  3464. // Use "Send" method on the returned Request to send the API call to the service.
  3465. // the "output" return value is not valid until after Send returns without error.
  3466. //
  3467. // See CreateLaunchTemplateVersion for more information on using the CreateLaunchTemplateVersion
  3468. // API call, and error handling.
  3469. //
  3470. // This method is useful when you want to inject custom logic or configuration
  3471. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3472. //
  3473. //
  3474. // // Example sending a request using the CreateLaunchTemplateVersionRequest method.
  3475. // req, resp := client.CreateLaunchTemplateVersionRequest(params)
  3476. //
  3477. // err := req.Send()
  3478. // if err == nil { // resp is now filled
  3479. // fmt.Println(resp)
  3480. // }
  3481. //
  3482. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
  3483. func (c *EC2) CreateLaunchTemplateVersionRequest(input *CreateLaunchTemplateVersionInput) (req *request.Request, output *CreateLaunchTemplateVersionOutput) {
  3484. op := &request.Operation{
  3485. Name: opCreateLaunchTemplateVersion,
  3486. HTTPMethod: "POST",
  3487. HTTPPath: "/",
  3488. }
  3489. if input == nil {
  3490. input = &CreateLaunchTemplateVersionInput{}
  3491. }
  3492. output = &CreateLaunchTemplateVersionOutput{}
  3493. req = c.newRequest(op, input, output)
  3494. return
  3495. }
  3496. // CreateLaunchTemplateVersion API operation for Amazon Elastic Compute Cloud.
  3497. //
  3498. // Creates a new version for a launch template. You can specify an existing
  3499. // version of launch template from which to base the new version.
  3500. //
  3501. // Launch template versions are numbered in the order in which they are created.
  3502. // You cannot specify, change, or replace the numbering of launch template versions.
  3503. //
  3504. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3505. // with awserr.Error's Code and Message methods to get detailed information about
  3506. // the error.
  3507. //
  3508. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3509. // API operation CreateLaunchTemplateVersion for usage and error information.
  3510. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
  3511. func (c *EC2) CreateLaunchTemplateVersion(input *CreateLaunchTemplateVersionInput) (*CreateLaunchTemplateVersionOutput, error) {
  3512. req, out := c.CreateLaunchTemplateVersionRequest(input)
  3513. return out, req.Send()
  3514. }
  3515. // CreateLaunchTemplateVersionWithContext is the same as CreateLaunchTemplateVersion with the addition of
  3516. // the ability to pass a context and additional request options.
  3517. //
  3518. // See CreateLaunchTemplateVersion for details on how to use this API operation.
  3519. //
  3520. // The context must be non-nil and will be used for request cancellation. If
  3521. // the context is nil a panic will occur. In the future the SDK may create
  3522. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3523. // for more information on using Contexts.
  3524. func (c *EC2) CreateLaunchTemplateVersionWithContext(ctx aws.Context, input *CreateLaunchTemplateVersionInput, opts ...request.Option) (*CreateLaunchTemplateVersionOutput, error) {
  3525. req, out := c.CreateLaunchTemplateVersionRequest(input)
  3526. req.SetContext(ctx)
  3527. req.ApplyOptions(opts...)
  3528. return out, req.Send()
  3529. }
  3530. const opCreateNatGateway = "CreateNatGateway"
  3531. // CreateNatGatewayRequest generates a "aws/request.Request" representing the
  3532. // client's request for the CreateNatGateway operation. The "output" return
  3533. // value will be populated with the request's response once the request completes
  3534. // successfuly.
  3535. //
  3536. // Use "Send" method on the returned Request to send the API call to the service.
  3537. // the "output" return value is not valid until after Send returns without error.
  3538. //
  3539. // See CreateNatGateway for more information on using the CreateNatGateway
  3540. // API call, and error handling.
  3541. //
  3542. // This method is useful when you want to inject custom logic or configuration
  3543. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3544. //
  3545. //
  3546. // // Example sending a request using the CreateNatGatewayRequest method.
  3547. // req, resp := client.CreateNatGatewayRequest(params)
  3548. //
  3549. // err := req.Send()
  3550. // if err == nil { // resp is now filled
  3551. // fmt.Println(resp)
  3552. // }
  3553. //
  3554. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
  3555. func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
  3556. op := &request.Operation{
  3557. Name: opCreateNatGateway,
  3558. HTTPMethod: "POST",
  3559. HTTPPath: "/",
  3560. }
  3561. if input == nil {
  3562. input = &CreateNatGatewayInput{}
  3563. }
  3564. output = &CreateNatGatewayOutput{}
  3565. req = c.newRequest(op, input, output)
  3566. return
  3567. }
  3568. // CreateNatGateway API operation for Amazon Elastic Compute Cloud.
  3569. //
  3570. // Creates a NAT gateway in the specified public subnet. This action creates
  3571. // a network interface in the specified subnet with a private IP address from
  3572. // the IP address range of the subnet. Internet-bound traffic from a private
  3573. // subnet can be routed to the NAT gateway, therefore enabling instances in
  3574. // the private subnet to connect to the internet. For more information, see
  3575. // NAT Gateways (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html)
  3576. // in the Amazon Virtual Private Cloud User Guide.
  3577. //
  3578. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3579. // with awserr.Error's Code and Message methods to get detailed information about
  3580. // the error.
  3581. //
  3582. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3583. // API operation CreateNatGateway for usage and error information.
  3584. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
  3585. func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
  3586. req, out := c.CreateNatGatewayRequest(input)
  3587. return out, req.Send()
  3588. }
  3589. // CreateNatGatewayWithContext is the same as CreateNatGateway with the addition of
  3590. // the ability to pass a context and additional request options.
  3591. //
  3592. // See CreateNatGateway for details on how to use this API operation.
  3593. //
  3594. // The context must be non-nil and will be used for request cancellation. If
  3595. // the context is nil a panic will occur. In the future the SDK may create
  3596. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3597. // for more information on using Contexts.
  3598. func (c *EC2) CreateNatGatewayWithContext(ctx aws.Context, input *CreateNatGatewayInput, opts ...request.Option) (*CreateNatGatewayOutput, error) {
  3599. req, out := c.CreateNatGatewayRequest(input)
  3600. req.SetContext(ctx)
  3601. req.ApplyOptions(opts...)
  3602. return out, req.Send()
  3603. }
  3604. const opCreateNetworkAcl = "CreateNetworkAcl"
  3605. // CreateNetworkAclRequest generates a "aws/request.Request" representing the
  3606. // client's request for the CreateNetworkAcl operation. The "output" return
  3607. // value will be populated with the request's response once the request completes
  3608. // successfuly.
  3609. //
  3610. // Use "Send" method on the returned Request to send the API call to the service.
  3611. // the "output" return value is not valid until after Send returns without error.
  3612. //
  3613. // See CreateNetworkAcl for more information on using the CreateNetworkAcl
  3614. // API call, and error handling.
  3615. //
  3616. // This method is useful when you want to inject custom logic or configuration
  3617. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3618. //
  3619. //
  3620. // // Example sending a request using the CreateNetworkAclRequest method.
  3621. // req, resp := client.CreateNetworkAclRequest(params)
  3622. //
  3623. // err := req.Send()
  3624. // if err == nil { // resp is now filled
  3625. // fmt.Println(resp)
  3626. // }
  3627. //
  3628. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
  3629. func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
  3630. op := &request.Operation{
  3631. Name: opCreateNetworkAcl,
  3632. HTTPMethod: "POST",
  3633. HTTPPath: "/",
  3634. }
  3635. if input == nil {
  3636. input = &CreateNetworkAclInput{}
  3637. }
  3638. output = &CreateNetworkAclOutput{}
  3639. req = c.newRequest(op, input, output)
  3640. return
  3641. }
  3642. // CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
  3643. //
  3644. // Creates a network ACL in a VPC. Network ACLs provide an optional layer of
  3645. // security (in addition to security groups) for the instances in your VPC.
  3646. //
  3647. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  3648. // in the Amazon Virtual Private Cloud User Guide.
  3649. //
  3650. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3651. // with awserr.Error's Code and Message methods to get detailed information about
  3652. // the error.
  3653. //
  3654. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3655. // API operation CreateNetworkAcl for usage and error information.
  3656. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
  3657. func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
  3658. req, out := c.CreateNetworkAclRequest(input)
  3659. return out, req.Send()
  3660. }
  3661. // CreateNetworkAclWithContext is the same as CreateNetworkAcl with the addition of
  3662. // the ability to pass a context and additional request options.
  3663. //
  3664. // See CreateNetworkAcl for details on how to use this API operation.
  3665. //
  3666. // The context must be non-nil and will be used for request cancellation. If
  3667. // the context is nil a panic will occur. In the future the SDK may create
  3668. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3669. // for more information on using Contexts.
  3670. func (c *EC2) CreateNetworkAclWithContext(ctx aws.Context, input *CreateNetworkAclInput, opts ...request.Option) (*CreateNetworkAclOutput, error) {
  3671. req, out := c.CreateNetworkAclRequest(input)
  3672. req.SetContext(ctx)
  3673. req.ApplyOptions(opts...)
  3674. return out, req.Send()
  3675. }
  3676. const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
  3677. // CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
  3678. // client's request for the CreateNetworkAclEntry operation. The "output" return
  3679. // value will be populated with the request's response once the request completes
  3680. // successfuly.
  3681. //
  3682. // Use "Send" method on the returned Request to send the API call to the service.
  3683. // the "output" return value is not valid until after Send returns without error.
  3684. //
  3685. // See CreateNetworkAclEntry for more information on using the CreateNetworkAclEntry
  3686. // API call, and error handling.
  3687. //
  3688. // This method is useful when you want to inject custom logic or configuration
  3689. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3690. //
  3691. //
  3692. // // Example sending a request using the CreateNetworkAclEntryRequest method.
  3693. // req, resp := client.CreateNetworkAclEntryRequest(params)
  3694. //
  3695. // err := req.Send()
  3696. // if err == nil { // resp is now filled
  3697. // fmt.Println(resp)
  3698. // }
  3699. //
  3700. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
  3701. func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
  3702. op := &request.Operation{
  3703. Name: opCreateNetworkAclEntry,
  3704. HTTPMethod: "POST",
  3705. HTTPPath: "/",
  3706. }
  3707. if input == nil {
  3708. input = &CreateNetworkAclEntryInput{}
  3709. }
  3710. output = &CreateNetworkAclEntryOutput{}
  3711. req = c.newRequest(op, input, output)
  3712. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3713. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3714. return
  3715. }
  3716. // CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  3717. //
  3718. // Creates an entry (a rule) in a network ACL with the specified rule number.
  3719. // Each network ACL has a set of numbered ingress rules and a separate set of
  3720. // numbered egress rules. When determining whether a packet should be allowed
  3721. // in or out of a subnet associated with the ACL, we process the entries in
  3722. // the ACL according to the rule numbers, in ascending order. Each network ACL
  3723. // has a set of ingress rules and a separate set of egress rules.
  3724. //
  3725. // We recommend that you leave room between the rule numbers (for example, 100,
  3726. // 110, 120, ...), and not number them one right after the other (for example,
  3727. // 101, 102, 103, ...). This makes it easier to add a rule between existing
  3728. // ones without having to renumber the rules.
  3729. //
  3730. // After you add an entry, you can't modify it; you must either replace it,
  3731. // or create an entry and delete the old one.
  3732. //
  3733. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  3734. // in the Amazon Virtual Private Cloud User Guide.
  3735. //
  3736. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3737. // with awserr.Error's Code and Message methods to get detailed information about
  3738. // the error.
  3739. //
  3740. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3741. // API operation CreateNetworkAclEntry for usage and error information.
  3742. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
  3743. func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
  3744. req, out := c.CreateNetworkAclEntryRequest(input)
  3745. return out, req.Send()
  3746. }
  3747. // CreateNetworkAclEntryWithContext is the same as CreateNetworkAclEntry with the addition of
  3748. // the ability to pass a context and additional request options.
  3749. //
  3750. // See CreateNetworkAclEntry for details on how to use this API operation.
  3751. //
  3752. // The context must be non-nil and will be used for request cancellation. If
  3753. // the context is nil a panic will occur. In the future the SDK may create
  3754. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3755. // for more information on using Contexts.
  3756. func (c *EC2) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNetworkAclEntryInput, opts ...request.Option) (*CreateNetworkAclEntryOutput, error) {
  3757. req, out := c.CreateNetworkAclEntryRequest(input)
  3758. req.SetContext(ctx)
  3759. req.ApplyOptions(opts...)
  3760. return out, req.Send()
  3761. }
  3762. const opCreateNetworkInterface = "CreateNetworkInterface"
  3763. // CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
  3764. // client's request for the CreateNetworkInterface operation. The "output" return
  3765. // value will be populated with the request's response once the request completes
  3766. // successfuly.
  3767. //
  3768. // Use "Send" method on the returned Request to send the API call to the service.
  3769. // the "output" return value is not valid until after Send returns without error.
  3770. //
  3771. // See CreateNetworkInterface for more information on using the CreateNetworkInterface
  3772. // API call, and error handling.
  3773. //
  3774. // This method is useful when you want to inject custom logic or configuration
  3775. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3776. //
  3777. //
  3778. // // Example sending a request using the CreateNetworkInterfaceRequest method.
  3779. // req, resp := client.CreateNetworkInterfaceRequest(params)
  3780. //
  3781. // err := req.Send()
  3782. // if err == nil { // resp is now filled
  3783. // fmt.Println(resp)
  3784. // }
  3785. //
  3786. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
  3787. func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
  3788. op := &request.Operation{
  3789. Name: opCreateNetworkInterface,
  3790. HTTPMethod: "POST",
  3791. HTTPPath: "/",
  3792. }
  3793. if input == nil {
  3794. input = &CreateNetworkInterfaceInput{}
  3795. }
  3796. output = &CreateNetworkInterfaceOutput{}
  3797. req = c.newRequest(op, input, output)
  3798. return
  3799. }
  3800. // CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
  3801. //
  3802. // Creates a network interface in the specified subnet.
  3803. //
  3804. // For more information about network interfaces, see Elastic Network Interfaces
  3805. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
  3806. // Amazon Virtual Private Cloud User Guide.
  3807. //
  3808. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3809. // with awserr.Error's Code and Message methods to get detailed information about
  3810. // the error.
  3811. //
  3812. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3813. // API operation CreateNetworkInterface for usage and error information.
  3814. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
  3815. func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
  3816. req, out := c.CreateNetworkInterfaceRequest(input)
  3817. return out, req.Send()
  3818. }
  3819. // CreateNetworkInterfaceWithContext is the same as CreateNetworkInterface with the addition of
  3820. // the ability to pass a context and additional request options.
  3821. //
  3822. // See CreateNetworkInterface for details on how to use this API operation.
  3823. //
  3824. // The context must be non-nil and will be used for request cancellation. If
  3825. // the context is nil a panic will occur. In the future the SDK may create
  3826. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3827. // for more information on using Contexts.
  3828. func (c *EC2) CreateNetworkInterfaceWithContext(ctx aws.Context, input *CreateNetworkInterfaceInput, opts ...request.Option) (*CreateNetworkInterfaceOutput, error) {
  3829. req, out := c.CreateNetworkInterfaceRequest(input)
  3830. req.SetContext(ctx)
  3831. req.ApplyOptions(opts...)
  3832. return out, req.Send()
  3833. }
  3834. const opCreateNetworkInterfacePermission = "CreateNetworkInterfacePermission"
  3835. // CreateNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
  3836. // client's request for the CreateNetworkInterfacePermission operation. The "output" return
  3837. // value will be populated with the request's response once the request completes
  3838. // successfuly.
  3839. //
  3840. // Use "Send" method on the returned Request to send the API call to the service.
  3841. // the "output" return value is not valid until after Send returns without error.
  3842. //
  3843. // See CreateNetworkInterfacePermission for more information on using the CreateNetworkInterfacePermission
  3844. // API call, and error handling.
  3845. //
  3846. // This method is useful when you want to inject custom logic or configuration
  3847. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3848. //
  3849. //
  3850. // // Example sending a request using the CreateNetworkInterfacePermissionRequest method.
  3851. // req, resp := client.CreateNetworkInterfacePermissionRequest(params)
  3852. //
  3853. // err := req.Send()
  3854. // if err == nil { // resp is now filled
  3855. // fmt.Println(resp)
  3856. // }
  3857. //
  3858. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
  3859. func (c *EC2) CreateNetworkInterfacePermissionRequest(input *CreateNetworkInterfacePermissionInput) (req *request.Request, output *CreateNetworkInterfacePermissionOutput) {
  3860. op := &request.Operation{
  3861. Name: opCreateNetworkInterfacePermission,
  3862. HTTPMethod: "POST",
  3863. HTTPPath: "/",
  3864. }
  3865. if input == nil {
  3866. input = &CreateNetworkInterfacePermissionInput{}
  3867. }
  3868. output = &CreateNetworkInterfacePermissionOutput{}
  3869. req = c.newRequest(op, input, output)
  3870. return
  3871. }
  3872. // CreateNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
  3873. //
  3874. // Grants an AWS authorized partner account permission to attach the specified
  3875. // network interface to an instance in their account.
  3876. //
  3877. // You can grant permission to a single AWS account only, and only one account
  3878. // at a time.
  3879. //
  3880. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3881. // with awserr.Error's Code and Message methods to get detailed information about
  3882. // the error.
  3883. //
  3884. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3885. // API operation CreateNetworkInterfacePermission for usage and error information.
  3886. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
  3887. func (c *EC2) CreateNetworkInterfacePermission(input *CreateNetworkInterfacePermissionInput) (*CreateNetworkInterfacePermissionOutput, error) {
  3888. req, out := c.CreateNetworkInterfacePermissionRequest(input)
  3889. return out, req.Send()
  3890. }
  3891. // CreateNetworkInterfacePermissionWithContext is the same as CreateNetworkInterfacePermission with the addition of
  3892. // the ability to pass a context and additional request options.
  3893. //
  3894. // See CreateNetworkInterfacePermission for details on how to use this API operation.
  3895. //
  3896. // The context must be non-nil and will be used for request cancellation. If
  3897. // the context is nil a panic will occur. In the future the SDK may create
  3898. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3899. // for more information on using Contexts.
  3900. func (c *EC2) CreateNetworkInterfacePermissionWithContext(ctx aws.Context, input *CreateNetworkInterfacePermissionInput, opts ...request.Option) (*CreateNetworkInterfacePermissionOutput, error) {
  3901. req, out := c.CreateNetworkInterfacePermissionRequest(input)
  3902. req.SetContext(ctx)
  3903. req.ApplyOptions(opts...)
  3904. return out, req.Send()
  3905. }
  3906. const opCreatePlacementGroup = "CreatePlacementGroup"
  3907. // CreatePlacementGroupRequest generates a "aws/request.Request" representing the
  3908. // client's request for the CreatePlacementGroup operation. The "output" return
  3909. // value will be populated with the request's response once the request completes
  3910. // successfuly.
  3911. //
  3912. // Use "Send" method on the returned Request to send the API call to the service.
  3913. // the "output" return value is not valid until after Send returns without error.
  3914. //
  3915. // See CreatePlacementGroup for more information on using the CreatePlacementGroup
  3916. // API call, and error handling.
  3917. //
  3918. // This method is useful when you want to inject custom logic or configuration
  3919. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3920. //
  3921. //
  3922. // // Example sending a request using the CreatePlacementGroupRequest method.
  3923. // req, resp := client.CreatePlacementGroupRequest(params)
  3924. //
  3925. // err := req.Send()
  3926. // if err == nil { // resp is now filled
  3927. // fmt.Println(resp)
  3928. // }
  3929. //
  3930. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
  3931. func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
  3932. op := &request.Operation{
  3933. Name: opCreatePlacementGroup,
  3934. HTTPMethod: "POST",
  3935. HTTPPath: "/",
  3936. }
  3937. if input == nil {
  3938. input = &CreatePlacementGroupInput{}
  3939. }
  3940. output = &CreatePlacementGroupOutput{}
  3941. req = c.newRequest(op, input, output)
  3942. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3943. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3944. return
  3945. }
  3946. // CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
  3947. //
  3948. // Creates a placement group in which to launch instances. The strategy of the
  3949. // placement group determines how the instances are organized within the group.
  3950. //
  3951. // A cluster placement group is a logical grouping of instances within a single
  3952. // Availability Zone that benefit from low network latency, high network throughput.
  3953. // A spread placement group places instances on distinct hardware.
  3954. //
  3955. // For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
  3956. // in the Amazon Elastic Compute Cloud User Guide.
  3957. //
  3958. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3959. // with awserr.Error's Code and Message methods to get detailed information about
  3960. // the error.
  3961. //
  3962. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3963. // API operation CreatePlacementGroup for usage and error information.
  3964. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
  3965. func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
  3966. req, out := c.CreatePlacementGroupRequest(input)
  3967. return out, req.Send()
  3968. }
  3969. // CreatePlacementGroupWithContext is the same as CreatePlacementGroup with the addition of
  3970. // the ability to pass a context and additional request options.
  3971. //
  3972. // See CreatePlacementGroup for details on how to use this API operation.
  3973. //
  3974. // The context must be non-nil and will be used for request cancellation. If
  3975. // the context is nil a panic will occur. In the future the SDK may create
  3976. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3977. // for more information on using Contexts.
  3978. func (c *EC2) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlacementGroupInput, opts ...request.Option) (*CreatePlacementGroupOutput, error) {
  3979. req, out := c.CreatePlacementGroupRequest(input)
  3980. req.SetContext(ctx)
  3981. req.ApplyOptions(opts...)
  3982. return out, req.Send()
  3983. }
  3984. const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
  3985. // CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
  3986. // client's request for the CreateReservedInstancesListing operation. The "output" return
  3987. // value will be populated with the request's response once the request completes
  3988. // successfuly.
  3989. //
  3990. // Use "Send" method on the returned Request to send the API call to the service.
  3991. // the "output" return value is not valid until after Send returns without error.
  3992. //
  3993. // See CreateReservedInstancesListing for more information on using the CreateReservedInstancesListing
  3994. // API call, and error handling.
  3995. //
  3996. // This method is useful when you want to inject custom logic or configuration
  3997. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3998. //
  3999. //
  4000. // // Example sending a request using the CreateReservedInstancesListingRequest method.
  4001. // req, resp := client.CreateReservedInstancesListingRequest(params)
  4002. //
  4003. // err := req.Send()
  4004. // if err == nil { // resp is now filled
  4005. // fmt.Println(resp)
  4006. // }
  4007. //
  4008. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
  4009. func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
  4010. op := &request.Operation{
  4011. Name: opCreateReservedInstancesListing,
  4012. HTTPMethod: "POST",
  4013. HTTPPath: "/",
  4014. }
  4015. if input == nil {
  4016. input = &CreateReservedInstancesListingInput{}
  4017. }
  4018. output = &CreateReservedInstancesListingOutput{}
  4019. req = c.newRequest(op, input, output)
  4020. return
  4021. }
  4022. // CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  4023. //
  4024. // Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
  4025. // the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
  4026. // listing at a time. To get a list of your Standard Reserved Instances, you
  4027. // can use the DescribeReservedInstances operation.
  4028. //
  4029. // Only Standard Reserved Instances with a capacity reservation can be sold
  4030. // in the Reserved Instance Marketplace. Convertible Reserved Instances and
  4031. // Standard Reserved Instances with a regional benefit cannot be sold.
  4032. //
  4033. // The Reserved Instance Marketplace matches sellers who want to resell Standard
  4034. // Reserved Instance capacity that they no longer need with buyers who want
  4035. // to purchase additional capacity. Reserved Instances bought and sold through
  4036. // the Reserved Instance Marketplace work like any other Reserved Instances.
  4037. //
  4038. // To sell your Standard Reserved Instances, you must first register as a seller
  4039. // in the Reserved Instance Marketplace. After completing the registration process,
  4040. // you can create a Reserved Instance Marketplace listing of some or all of
  4041. // your Standard Reserved Instances, and specify the upfront price to receive
  4042. // for them. Your Standard Reserved Instance listings then become available
  4043. // for purchase. To view the details of your Standard Reserved Instance listing,
  4044. // you can use the DescribeReservedInstancesListings operation.
  4045. //
  4046. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  4047. // in the Amazon Elastic Compute Cloud User Guide.
  4048. //
  4049. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4050. // with awserr.Error's Code and Message methods to get detailed information about
  4051. // the error.
  4052. //
  4053. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4054. // API operation CreateReservedInstancesListing for usage and error information.
  4055. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
  4056. func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
  4057. req, out := c.CreateReservedInstancesListingRequest(input)
  4058. return out, req.Send()
  4059. }
  4060. // CreateReservedInstancesListingWithContext is the same as CreateReservedInstancesListing with the addition of
  4061. // the ability to pass a context and additional request options.
  4062. //
  4063. // See CreateReservedInstancesListing for details on how to use this API operation.
  4064. //
  4065. // The context must be non-nil and will be used for request cancellation. If
  4066. // the context is nil a panic will occur. In the future the SDK may create
  4067. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4068. // for more information on using Contexts.
  4069. func (c *EC2) CreateReservedInstancesListingWithContext(ctx aws.Context, input *CreateReservedInstancesListingInput, opts ...request.Option) (*CreateReservedInstancesListingOutput, error) {
  4070. req, out := c.CreateReservedInstancesListingRequest(input)
  4071. req.SetContext(ctx)
  4072. req.ApplyOptions(opts...)
  4073. return out, req.Send()
  4074. }
  4075. const opCreateRoute = "CreateRoute"
  4076. // CreateRouteRequest generates a "aws/request.Request" representing the
  4077. // client's request for the CreateRoute operation. The "output" return
  4078. // value will be populated with the request's response once the request completes
  4079. // successfuly.
  4080. //
  4081. // Use "Send" method on the returned Request to send the API call to the service.
  4082. // the "output" return value is not valid until after Send returns without error.
  4083. //
  4084. // See CreateRoute for more information on using the CreateRoute
  4085. // API call, and error handling.
  4086. //
  4087. // This method is useful when you want to inject custom logic or configuration
  4088. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4089. //
  4090. //
  4091. // // Example sending a request using the CreateRouteRequest method.
  4092. // req, resp := client.CreateRouteRequest(params)
  4093. //
  4094. // err := req.Send()
  4095. // if err == nil { // resp is now filled
  4096. // fmt.Println(resp)
  4097. // }
  4098. //
  4099. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
  4100. func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
  4101. op := &request.Operation{
  4102. Name: opCreateRoute,
  4103. HTTPMethod: "POST",
  4104. HTTPPath: "/",
  4105. }
  4106. if input == nil {
  4107. input = &CreateRouteInput{}
  4108. }
  4109. output = &CreateRouteOutput{}
  4110. req = c.newRequest(op, input, output)
  4111. return
  4112. }
  4113. // CreateRoute API operation for Amazon Elastic Compute Cloud.
  4114. //
  4115. // Creates a route in a route table within a VPC.
  4116. //
  4117. // You must specify one of the following targets: Internet gateway or virtual
  4118. // private gateway, NAT instance, NAT gateway, VPC peering connection, network
  4119. // interface, or egress-only Internet gateway.
  4120. //
  4121. // When determining how to route traffic, we use the route with the most specific
  4122. // match. For example, traffic is destined for the IPv4 address 192.0.2.3, and
  4123. // the route table includes the following two IPv4 routes:
  4124. //
  4125. // * 192.0.2.0/24 (goes to some target A)
  4126. //
  4127. // * 192.0.2.0/28 (goes to some target B)
  4128. //
  4129. // Both routes apply to the traffic destined for 192.0.2.3. However, the second
  4130. // route in the list covers a smaller number of IP addresses and is therefore
  4131. // more specific, so we use that route to determine where to target the traffic.
  4132. //
  4133. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  4134. // in the Amazon Virtual Private Cloud User Guide.
  4135. //
  4136. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4137. // with awserr.Error's Code and Message methods to get detailed information about
  4138. // the error.
  4139. //
  4140. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4141. // API operation CreateRoute for usage and error information.
  4142. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
  4143. func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
  4144. req, out := c.CreateRouteRequest(input)
  4145. return out, req.Send()
  4146. }
  4147. // CreateRouteWithContext is the same as CreateRoute with the addition of
  4148. // the ability to pass a context and additional request options.
  4149. //
  4150. // See CreateRoute for details on how to use this API operation.
  4151. //
  4152. // The context must be non-nil and will be used for request cancellation. If
  4153. // the context is nil a panic will occur. In the future the SDK may create
  4154. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4155. // for more information on using Contexts.
  4156. func (c *EC2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
  4157. req, out := c.CreateRouteRequest(input)
  4158. req.SetContext(ctx)
  4159. req.ApplyOptions(opts...)
  4160. return out, req.Send()
  4161. }
  4162. const opCreateRouteTable = "CreateRouteTable"
  4163. // CreateRouteTableRequest generates a "aws/request.Request" representing the
  4164. // client's request for the CreateRouteTable operation. The "output" return
  4165. // value will be populated with the request's response once the request completes
  4166. // successfuly.
  4167. //
  4168. // Use "Send" method on the returned Request to send the API call to the service.
  4169. // the "output" return value is not valid until after Send returns without error.
  4170. //
  4171. // See CreateRouteTable for more information on using the CreateRouteTable
  4172. // API call, and error handling.
  4173. //
  4174. // This method is useful when you want to inject custom logic or configuration
  4175. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4176. //
  4177. //
  4178. // // Example sending a request using the CreateRouteTableRequest method.
  4179. // req, resp := client.CreateRouteTableRequest(params)
  4180. //
  4181. // err := req.Send()
  4182. // if err == nil { // resp is now filled
  4183. // fmt.Println(resp)
  4184. // }
  4185. //
  4186. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
  4187. func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
  4188. op := &request.Operation{
  4189. Name: opCreateRouteTable,
  4190. HTTPMethod: "POST",
  4191. HTTPPath: "/",
  4192. }
  4193. if input == nil {
  4194. input = &CreateRouteTableInput{}
  4195. }
  4196. output = &CreateRouteTableOutput{}
  4197. req = c.newRequest(op, input, output)
  4198. return
  4199. }
  4200. // CreateRouteTable API operation for Amazon Elastic Compute Cloud.
  4201. //
  4202. // Creates a route table for the specified VPC. After you create a route table,
  4203. // you can add routes and associate the table with a subnet.
  4204. //
  4205. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  4206. // in the Amazon Virtual Private Cloud User Guide.
  4207. //
  4208. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4209. // with awserr.Error's Code and Message methods to get detailed information about
  4210. // the error.
  4211. //
  4212. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4213. // API operation CreateRouteTable for usage and error information.
  4214. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
  4215. func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
  4216. req, out := c.CreateRouteTableRequest(input)
  4217. return out, req.Send()
  4218. }
  4219. // CreateRouteTableWithContext is the same as CreateRouteTable with the addition of
  4220. // the ability to pass a context and additional request options.
  4221. //
  4222. // See CreateRouteTable for details on how to use this API operation.
  4223. //
  4224. // The context must be non-nil and will be used for request cancellation. If
  4225. // the context is nil a panic will occur. In the future the SDK may create
  4226. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4227. // for more information on using Contexts.
  4228. func (c *EC2) CreateRouteTableWithContext(ctx aws.Context, input *CreateRouteTableInput, opts ...request.Option) (*CreateRouteTableOutput, error) {
  4229. req, out := c.CreateRouteTableRequest(input)
  4230. req.SetContext(ctx)
  4231. req.ApplyOptions(opts...)
  4232. return out, req.Send()
  4233. }
  4234. const opCreateSecurityGroup = "CreateSecurityGroup"
  4235. // CreateSecurityGroupRequest generates a "aws/request.Request" representing the
  4236. // client's request for the CreateSecurityGroup operation. The "output" return
  4237. // value will be populated with the request's response once the request completes
  4238. // successfuly.
  4239. //
  4240. // Use "Send" method on the returned Request to send the API call to the service.
  4241. // the "output" return value is not valid until after Send returns without error.
  4242. //
  4243. // See CreateSecurityGroup for more information on using the CreateSecurityGroup
  4244. // API call, and error handling.
  4245. //
  4246. // This method is useful when you want to inject custom logic or configuration
  4247. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4248. //
  4249. //
  4250. // // Example sending a request using the CreateSecurityGroupRequest method.
  4251. // req, resp := client.CreateSecurityGroupRequest(params)
  4252. //
  4253. // err := req.Send()
  4254. // if err == nil { // resp is now filled
  4255. // fmt.Println(resp)
  4256. // }
  4257. //
  4258. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
  4259. func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
  4260. op := &request.Operation{
  4261. Name: opCreateSecurityGroup,
  4262. HTTPMethod: "POST",
  4263. HTTPPath: "/",
  4264. }
  4265. if input == nil {
  4266. input = &CreateSecurityGroupInput{}
  4267. }
  4268. output = &CreateSecurityGroupOutput{}
  4269. req = c.newRequest(op, input, output)
  4270. return
  4271. }
  4272. // CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
  4273. //
  4274. // Creates a security group.
  4275. //
  4276. // A security group is for use with instances either in the EC2-Classic platform
  4277. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  4278. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  4279. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  4280. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  4281. // in the Amazon Virtual Private Cloud User Guide.
  4282. //
  4283. // EC2-Classic: You can have up to 500 security groups.
  4284. //
  4285. // EC2-VPC: You can create up to 500 security groups per VPC.
  4286. //
  4287. // When you create a security group, you specify a friendly name of your choice.
  4288. // You can have a security group for use in EC2-Classic with the same name as
  4289. // a security group for use in a VPC. However, you can't have two security groups
  4290. // for use in EC2-Classic with the same name or two security groups for use
  4291. // in a VPC with the same name.
  4292. //
  4293. // You have a default security group for use in EC2-Classic and a default security
  4294. // group for use in your VPC. If you don't specify a security group when you
  4295. // launch an instance, the instance is launched into the appropriate default
  4296. // security group. A default security group includes a default rule that grants
  4297. // instances unrestricted network access to each other.
  4298. //
  4299. // You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
  4300. // AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
  4301. //
  4302. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4303. // with awserr.Error's Code and Message methods to get detailed information about
  4304. // the error.
  4305. //
  4306. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4307. // API operation CreateSecurityGroup for usage and error information.
  4308. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
  4309. func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
  4310. req, out := c.CreateSecurityGroupRequest(input)
  4311. return out, req.Send()
  4312. }
  4313. // CreateSecurityGroupWithContext is the same as CreateSecurityGroup with the addition of
  4314. // the ability to pass a context and additional request options.
  4315. //
  4316. // See CreateSecurityGroup for details on how to use this API operation.
  4317. //
  4318. // The context must be non-nil and will be used for request cancellation. If
  4319. // the context is nil a panic will occur. In the future the SDK may create
  4320. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4321. // for more information on using Contexts.
  4322. func (c *EC2) CreateSecurityGroupWithContext(ctx aws.Context, input *CreateSecurityGroupInput, opts ...request.Option) (*CreateSecurityGroupOutput, error) {
  4323. req, out := c.CreateSecurityGroupRequest(input)
  4324. req.SetContext(ctx)
  4325. req.ApplyOptions(opts...)
  4326. return out, req.Send()
  4327. }
  4328. const opCreateSnapshot = "CreateSnapshot"
  4329. // CreateSnapshotRequest generates a "aws/request.Request" representing the
  4330. // client's request for the CreateSnapshot operation. The "output" return
  4331. // value will be populated with the request's response once the request completes
  4332. // successfuly.
  4333. //
  4334. // Use "Send" method on the returned Request to send the API call to the service.
  4335. // the "output" return value is not valid until after Send returns without error.
  4336. //
  4337. // See CreateSnapshot for more information on using the CreateSnapshot
  4338. // API call, and error handling.
  4339. //
  4340. // This method is useful when you want to inject custom logic or configuration
  4341. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4342. //
  4343. //
  4344. // // Example sending a request using the CreateSnapshotRequest method.
  4345. // req, resp := client.CreateSnapshotRequest(params)
  4346. //
  4347. // err := req.Send()
  4348. // if err == nil { // resp is now filled
  4349. // fmt.Println(resp)
  4350. // }
  4351. //
  4352. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
  4353. func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
  4354. op := &request.Operation{
  4355. Name: opCreateSnapshot,
  4356. HTTPMethod: "POST",
  4357. HTTPPath: "/",
  4358. }
  4359. if input == nil {
  4360. input = &CreateSnapshotInput{}
  4361. }
  4362. output = &Snapshot{}
  4363. req = c.newRequest(op, input, output)
  4364. return
  4365. }
  4366. // CreateSnapshot API operation for Amazon Elastic Compute Cloud.
  4367. //
  4368. // Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
  4369. // snapshots for backups, to make copies of EBS volumes, and to save data before
  4370. // shutting down an instance.
  4371. //
  4372. // When a snapshot is created, any AWS Marketplace product codes that are associated
  4373. // with the source volume are propagated to the snapshot.
  4374. //
  4375. // You can take a snapshot of an attached volume that is in use. However, snapshots
  4376. // only capture data that has been written to your EBS volume at the time the
  4377. // snapshot command is issued; this may exclude any data that has been cached
  4378. // by any applications or the operating system. If you can pause any file systems
  4379. // on the volume long enough to take a snapshot, your snapshot should be complete.
  4380. // However, if you cannot pause all file writes to the volume, you should unmount
  4381. // the volume from within the instance, issue the snapshot command, and then
  4382. // remount the volume to ensure a consistent and complete snapshot. You may
  4383. // remount and use your volume while the snapshot status is pending.
  4384. //
  4385. // To create a snapshot for EBS volumes that serve as root devices, you should
  4386. // stop the instance before taking the snapshot.
  4387. //
  4388. // Snapshots that are taken from encrypted volumes are automatically encrypted.
  4389. // Volumes that are created from encrypted snapshots are also automatically
  4390. // encrypted. Your encrypted volumes and any associated snapshots always remain
  4391. // protected.
  4392. //
  4393. // You can tag your snapshots during creation. For more information, see Tagging
  4394. // Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  4395. //
  4396. // For more information, see Amazon Elastic Block Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
  4397. // and Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  4398. // in the Amazon Elastic Compute Cloud User Guide.
  4399. //
  4400. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4401. // with awserr.Error's Code and Message methods to get detailed information about
  4402. // the error.
  4403. //
  4404. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4405. // API operation CreateSnapshot for usage and error information.
  4406. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
  4407. func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
  4408. req, out := c.CreateSnapshotRequest(input)
  4409. return out, req.Send()
  4410. }
  4411. // CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
  4412. // the ability to pass a context and additional request options.
  4413. //
  4414. // See CreateSnapshot for details on how to use this API operation.
  4415. //
  4416. // The context must be non-nil and will be used for request cancellation. If
  4417. // the context is nil a panic will occur. In the future the SDK may create
  4418. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4419. // for more information on using Contexts.
  4420. func (c *EC2) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*Snapshot, error) {
  4421. req, out := c.CreateSnapshotRequest(input)
  4422. req.SetContext(ctx)
  4423. req.ApplyOptions(opts...)
  4424. return out, req.Send()
  4425. }
  4426. const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
  4427. // CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  4428. // client's request for the CreateSpotDatafeedSubscription operation. The "output" return
  4429. // value will be populated with the request's response once the request completes
  4430. // successfuly.
  4431. //
  4432. // Use "Send" method on the returned Request to send the API call to the service.
  4433. // the "output" return value is not valid until after Send returns without error.
  4434. //
  4435. // See CreateSpotDatafeedSubscription for more information on using the CreateSpotDatafeedSubscription
  4436. // API call, and error handling.
  4437. //
  4438. // This method is useful when you want to inject custom logic or configuration
  4439. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4440. //
  4441. //
  4442. // // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
  4443. // req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
  4444. //
  4445. // err := req.Send()
  4446. // if err == nil { // resp is now filled
  4447. // fmt.Println(resp)
  4448. // }
  4449. //
  4450. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
  4451. func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
  4452. op := &request.Operation{
  4453. Name: opCreateSpotDatafeedSubscription,
  4454. HTTPMethod: "POST",
  4455. HTTPPath: "/",
  4456. }
  4457. if input == nil {
  4458. input = &CreateSpotDatafeedSubscriptionInput{}
  4459. }
  4460. output = &CreateSpotDatafeedSubscriptionOutput{}
  4461. req = c.newRequest(op, input, output)
  4462. return
  4463. }
  4464. // CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  4465. //
  4466. // Creates a data feed for Spot Instances, enabling you to view Spot Instance
  4467. // usage logs. You can create one data feed per AWS account. For more information,
  4468. // see Spot Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  4469. // in the Amazon EC2 User Guide for Linux Instances.
  4470. //
  4471. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4472. // with awserr.Error's Code and Message methods to get detailed information about
  4473. // the error.
  4474. //
  4475. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4476. // API operation CreateSpotDatafeedSubscription for usage and error information.
  4477. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
  4478. func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
  4479. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  4480. return out, req.Send()
  4481. }
  4482. // CreateSpotDatafeedSubscriptionWithContext is the same as CreateSpotDatafeedSubscription with the addition of
  4483. // the ability to pass a context and additional request options.
  4484. //
  4485. // See CreateSpotDatafeedSubscription for details on how to use this API operation.
  4486. //
  4487. // The context must be non-nil and will be used for request cancellation. If
  4488. // the context is nil a panic will occur. In the future the SDK may create
  4489. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4490. // for more information on using Contexts.
  4491. func (c *EC2) CreateSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *CreateSpotDatafeedSubscriptionInput, opts ...request.Option) (*CreateSpotDatafeedSubscriptionOutput, error) {
  4492. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  4493. req.SetContext(ctx)
  4494. req.ApplyOptions(opts...)
  4495. return out, req.Send()
  4496. }
  4497. const opCreateSubnet = "CreateSubnet"
  4498. // CreateSubnetRequest generates a "aws/request.Request" representing the
  4499. // client's request for the CreateSubnet operation. The "output" return
  4500. // value will be populated with the request's response once the request completes
  4501. // successfuly.
  4502. //
  4503. // Use "Send" method on the returned Request to send the API call to the service.
  4504. // the "output" return value is not valid until after Send returns without error.
  4505. //
  4506. // See CreateSubnet for more information on using the CreateSubnet
  4507. // API call, and error handling.
  4508. //
  4509. // This method is useful when you want to inject custom logic or configuration
  4510. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4511. //
  4512. //
  4513. // // Example sending a request using the CreateSubnetRequest method.
  4514. // req, resp := client.CreateSubnetRequest(params)
  4515. //
  4516. // err := req.Send()
  4517. // if err == nil { // resp is now filled
  4518. // fmt.Println(resp)
  4519. // }
  4520. //
  4521. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
  4522. func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
  4523. op := &request.Operation{
  4524. Name: opCreateSubnet,
  4525. HTTPMethod: "POST",
  4526. HTTPPath: "/",
  4527. }
  4528. if input == nil {
  4529. input = &CreateSubnetInput{}
  4530. }
  4531. output = &CreateSubnetOutput{}
  4532. req = c.newRequest(op, input, output)
  4533. return
  4534. }
  4535. // CreateSubnet API operation for Amazon Elastic Compute Cloud.
  4536. //
  4537. // Creates a subnet in an existing VPC.
  4538. //
  4539. // When you create each subnet, you provide the VPC ID and the IPv4 CIDR block
  4540. // you want for the subnet. After you create a subnet, you can't change its
  4541. // CIDR block. The size of the subnet's IPv4 CIDR block can be the same as a
  4542. // VPC's IPv4 CIDR block, or a subset of a VPC's IPv4 CIDR block. If you create
  4543. // more than one subnet in a VPC, the subnets' CIDR blocks must not overlap.
  4544. // The smallest IPv4 subnet (and VPC) you can create uses a /28 netmask (16
  4545. // IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses).
  4546. //
  4547. // If you've associated an IPv6 CIDR block with your VPC, you can create a subnet
  4548. // with an IPv6 CIDR block that uses a /64 prefix length.
  4549. //
  4550. // AWS reserves both the first four and the last IPv4 address in each subnet's
  4551. // CIDR block. They're not available for use.
  4552. //
  4553. // If you add more than one subnet to a VPC, they're set up in a star topology
  4554. // with a logical router in the middle.
  4555. //
  4556. // If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
  4557. // address doesn't change if you stop and restart the instance (unlike a similar
  4558. // instance launched outside a VPC, which gets a new IP address when restarted).
  4559. // It's therefore possible to have a subnet with no running instances (they're
  4560. // all stopped), but no remaining IP addresses available.
  4561. //
  4562. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  4563. // in the Amazon Virtual Private Cloud User Guide.
  4564. //
  4565. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4566. // with awserr.Error's Code and Message methods to get detailed information about
  4567. // the error.
  4568. //
  4569. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4570. // API operation CreateSubnet for usage and error information.
  4571. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
  4572. func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
  4573. req, out := c.CreateSubnetRequest(input)
  4574. return out, req.Send()
  4575. }
  4576. // CreateSubnetWithContext is the same as CreateSubnet with the addition of
  4577. // the ability to pass a context and additional request options.
  4578. //
  4579. // See CreateSubnet for details on how to use this API operation.
  4580. //
  4581. // The context must be non-nil and will be used for request cancellation. If
  4582. // the context is nil a panic will occur. In the future the SDK may create
  4583. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4584. // for more information on using Contexts.
  4585. func (c *EC2) CreateSubnetWithContext(ctx aws.Context, input *CreateSubnetInput, opts ...request.Option) (*CreateSubnetOutput, error) {
  4586. req, out := c.CreateSubnetRequest(input)
  4587. req.SetContext(ctx)
  4588. req.ApplyOptions(opts...)
  4589. return out, req.Send()
  4590. }
  4591. const opCreateTags = "CreateTags"
  4592. // CreateTagsRequest generates a "aws/request.Request" representing the
  4593. // client's request for the CreateTags operation. The "output" return
  4594. // value will be populated with the request's response once the request completes
  4595. // successfuly.
  4596. //
  4597. // Use "Send" method on the returned Request to send the API call to the service.
  4598. // the "output" return value is not valid until after Send returns without error.
  4599. //
  4600. // See CreateTags for more information on using the CreateTags
  4601. // API call, and error handling.
  4602. //
  4603. // This method is useful when you want to inject custom logic or configuration
  4604. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4605. //
  4606. //
  4607. // // Example sending a request using the CreateTagsRequest method.
  4608. // req, resp := client.CreateTagsRequest(params)
  4609. //
  4610. // err := req.Send()
  4611. // if err == nil { // resp is now filled
  4612. // fmt.Println(resp)
  4613. // }
  4614. //
  4615. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
  4616. func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
  4617. op := &request.Operation{
  4618. Name: opCreateTags,
  4619. HTTPMethod: "POST",
  4620. HTTPPath: "/",
  4621. }
  4622. if input == nil {
  4623. input = &CreateTagsInput{}
  4624. }
  4625. output = &CreateTagsOutput{}
  4626. req = c.newRequest(op, input, output)
  4627. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4628. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4629. return
  4630. }
  4631. // CreateTags API operation for Amazon Elastic Compute Cloud.
  4632. //
  4633. // Adds or overwrites one or more tags for the specified Amazon EC2 resource
  4634. // or resources. Each resource can have a maximum of 50 tags. Each tag consists
  4635. // of a key and optional value. Tag keys must be unique per resource.
  4636. //
  4637. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  4638. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  4639. // creating IAM policies that control users' access to resources based on tags,
  4640. // see Supported Resource-Level Permissions for Amazon EC2 API Actions (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html)
  4641. // in the Amazon Elastic Compute Cloud User Guide.
  4642. //
  4643. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4644. // with awserr.Error's Code and Message methods to get detailed information about
  4645. // the error.
  4646. //
  4647. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4648. // API operation CreateTags for usage and error information.
  4649. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
  4650. func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
  4651. req, out := c.CreateTagsRequest(input)
  4652. return out, req.Send()
  4653. }
  4654. // CreateTagsWithContext is the same as CreateTags with the addition of
  4655. // the ability to pass a context and additional request options.
  4656. //
  4657. // See CreateTags for details on how to use this API operation.
  4658. //
  4659. // The context must be non-nil and will be used for request cancellation. If
  4660. // the context is nil a panic will occur. In the future the SDK may create
  4661. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4662. // for more information on using Contexts.
  4663. func (c *EC2) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
  4664. req, out := c.CreateTagsRequest(input)
  4665. req.SetContext(ctx)
  4666. req.ApplyOptions(opts...)
  4667. return out, req.Send()
  4668. }
  4669. const opCreateVolume = "CreateVolume"
  4670. // CreateVolumeRequest generates a "aws/request.Request" representing the
  4671. // client's request for the CreateVolume operation. The "output" return
  4672. // value will be populated with the request's response once the request completes
  4673. // successfuly.
  4674. //
  4675. // Use "Send" method on the returned Request to send the API call to the service.
  4676. // the "output" return value is not valid until after Send returns without error.
  4677. //
  4678. // See CreateVolume for more information on using the CreateVolume
  4679. // API call, and error handling.
  4680. //
  4681. // This method is useful when you want to inject custom logic or configuration
  4682. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4683. //
  4684. //
  4685. // // Example sending a request using the CreateVolumeRequest method.
  4686. // req, resp := client.CreateVolumeRequest(params)
  4687. //
  4688. // err := req.Send()
  4689. // if err == nil { // resp is now filled
  4690. // fmt.Println(resp)
  4691. // }
  4692. //
  4693. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
  4694. func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
  4695. op := &request.Operation{
  4696. Name: opCreateVolume,
  4697. HTTPMethod: "POST",
  4698. HTTPPath: "/",
  4699. }
  4700. if input == nil {
  4701. input = &CreateVolumeInput{}
  4702. }
  4703. output = &Volume{}
  4704. req = c.newRequest(op, input, output)
  4705. return
  4706. }
  4707. // CreateVolume API operation for Amazon Elastic Compute Cloud.
  4708. //
  4709. // Creates an EBS volume that can be attached to an instance in the same Availability
  4710. // Zone. The volume is created in the regional endpoint that you send the HTTP
  4711. // request to. For more information see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html).
  4712. //
  4713. // You can create a new empty volume or restore a volume from an EBS snapshot.
  4714. // Any AWS Marketplace product codes from the snapshot are propagated to the
  4715. // volume.
  4716. //
  4717. // You can create encrypted volumes with the Encrypted parameter. Encrypted
  4718. // volumes may only be attached to instances that support Amazon EBS encryption.
  4719. // Volumes that are created from encrypted snapshots are also automatically
  4720. // encrypted. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  4721. // in the Amazon Elastic Compute Cloud User Guide.
  4722. //
  4723. // You can tag your volumes during creation. For more information, see Tagging
  4724. // Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  4725. //
  4726. // For more information, see Creating an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
  4727. // in the Amazon Elastic Compute Cloud User Guide.
  4728. //
  4729. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4730. // with awserr.Error's Code and Message methods to get detailed information about
  4731. // the error.
  4732. //
  4733. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4734. // API operation CreateVolume for usage and error information.
  4735. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
  4736. func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
  4737. req, out := c.CreateVolumeRequest(input)
  4738. return out, req.Send()
  4739. }
  4740. // CreateVolumeWithContext is the same as CreateVolume with the addition of
  4741. // the ability to pass a context and additional request options.
  4742. //
  4743. // See CreateVolume for details on how to use this API operation.
  4744. //
  4745. // The context must be non-nil and will be used for request cancellation. If
  4746. // the context is nil a panic will occur. In the future the SDK may create
  4747. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4748. // for more information on using Contexts.
  4749. func (c *EC2) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*Volume, error) {
  4750. req, out := c.CreateVolumeRequest(input)
  4751. req.SetContext(ctx)
  4752. req.ApplyOptions(opts...)
  4753. return out, req.Send()
  4754. }
  4755. const opCreateVpc = "CreateVpc"
  4756. // CreateVpcRequest generates a "aws/request.Request" representing the
  4757. // client's request for the CreateVpc operation. The "output" return
  4758. // value will be populated with the request's response once the request completes
  4759. // successfuly.
  4760. //
  4761. // Use "Send" method on the returned Request to send the API call to the service.
  4762. // the "output" return value is not valid until after Send returns without error.
  4763. //
  4764. // See CreateVpc for more information on using the CreateVpc
  4765. // API call, and error handling.
  4766. //
  4767. // This method is useful when you want to inject custom logic or configuration
  4768. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4769. //
  4770. //
  4771. // // Example sending a request using the CreateVpcRequest method.
  4772. // req, resp := client.CreateVpcRequest(params)
  4773. //
  4774. // err := req.Send()
  4775. // if err == nil { // resp is now filled
  4776. // fmt.Println(resp)
  4777. // }
  4778. //
  4779. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
  4780. func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
  4781. op := &request.Operation{
  4782. Name: opCreateVpc,
  4783. HTTPMethod: "POST",
  4784. HTTPPath: "/",
  4785. }
  4786. if input == nil {
  4787. input = &CreateVpcInput{}
  4788. }
  4789. output = &CreateVpcOutput{}
  4790. req = c.newRequest(op, input, output)
  4791. return
  4792. }
  4793. // CreateVpc API operation for Amazon Elastic Compute Cloud.
  4794. //
  4795. // Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
  4796. // create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
  4797. // netmask (65,536 IPv4 addresses). To help you decide how big to make your
  4798. // VPC, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  4799. // in the Amazon Virtual Private Cloud User Guide.
  4800. //
  4801. // You can optionally request an Amazon-provided IPv6 CIDR block for the VPC.
  4802. // The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's
  4803. // pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.
  4804. //
  4805. // By default, each instance you launch in the VPC has the default DHCP options,
  4806. // which includes only a default DNS server that we provide (AmazonProvidedDNS).
  4807. // For more information about DHCP options, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  4808. // in the Amazon Virtual Private Cloud User Guide.
  4809. //
  4810. // You can specify the instance tenancy value for the VPC when you create it.
  4811. // You can't change this value for the VPC after you create it. For more information,
  4812. // see Dedicated Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
  4813. // in the Amazon Elastic Compute Cloud User Guide.
  4814. //
  4815. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4816. // with awserr.Error's Code and Message methods to get detailed information about
  4817. // the error.
  4818. //
  4819. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4820. // API operation CreateVpc for usage and error information.
  4821. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
  4822. func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
  4823. req, out := c.CreateVpcRequest(input)
  4824. return out, req.Send()
  4825. }
  4826. // CreateVpcWithContext is the same as CreateVpc with the addition of
  4827. // the ability to pass a context and additional request options.
  4828. //
  4829. // See CreateVpc for details on how to use this API operation.
  4830. //
  4831. // The context must be non-nil and will be used for request cancellation. If
  4832. // the context is nil a panic will occur. In the future the SDK may create
  4833. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4834. // for more information on using Contexts.
  4835. func (c *EC2) CreateVpcWithContext(ctx aws.Context, input *CreateVpcInput, opts ...request.Option) (*CreateVpcOutput, error) {
  4836. req, out := c.CreateVpcRequest(input)
  4837. req.SetContext(ctx)
  4838. req.ApplyOptions(opts...)
  4839. return out, req.Send()
  4840. }
  4841. const opCreateVpcEndpoint = "CreateVpcEndpoint"
  4842. // CreateVpcEndpointRequest generates a "aws/request.Request" representing the
  4843. // client's request for the CreateVpcEndpoint operation. The "output" return
  4844. // value will be populated with the request's response once the request completes
  4845. // successfuly.
  4846. //
  4847. // Use "Send" method on the returned Request to send the API call to the service.
  4848. // the "output" return value is not valid until after Send returns without error.
  4849. //
  4850. // See CreateVpcEndpoint for more information on using the CreateVpcEndpoint
  4851. // API call, and error handling.
  4852. //
  4853. // This method is useful when you want to inject custom logic or configuration
  4854. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4855. //
  4856. //
  4857. // // Example sending a request using the CreateVpcEndpointRequest method.
  4858. // req, resp := client.CreateVpcEndpointRequest(params)
  4859. //
  4860. // err := req.Send()
  4861. // if err == nil { // resp is now filled
  4862. // fmt.Println(resp)
  4863. // }
  4864. //
  4865. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
  4866. func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
  4867. op := &request.Operation{
  4868. Name: opCreateVpcEndpoint,
  4869. HTTPMethod: "POST",
  4870. HTTPPath: "/",
  4871. }
  4872. if input == nil {
  4873. input = &CreateVpcEndpointInput{}
  4874. }
  4875. output = &CreateVpcEndpointOutput{}
  4876. req = c.newRequest(op, input, output)
  4877. return
  4878. }
  4879. // CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  4880. //
  4881. // Creates a VPC endpoint for a specified service. An endpoint enables you to
  4882. // create a private connection between your VPC and the service. The service
  4883. // may be provided by AWS, an AWS Marketplace partner, or another AWS account.
  4884. // For more information, see VPC Endpoints (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)
  4885. // in the Amazon Virtual Private Cloud User Guide.
  4886. //
  4887. // A gateway endpoint serves as a target for a route in your route table for
  4888. // traffic destined for the AWS service. You can specify an endpoint policy
  4889. // to attach to the endpoint that will control access to the service from your
  4890. // VPC. You can also specify the VPC route tables that use the endpoint.
  4891. //
  4892. // An interface endpoint is a network interface in your subnet that serves as
  4893. // an endpoint for communicating with the specified service. You can specify
  4894. // the subnets in which to create an endpoint, and the security groups to associate
  4895. // with the endpoint network interface.
  4896. //
  4897. // Use DescribeVpcEndpointServices to get a list of supported services.
  4898. //
  4899. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4900. // with awserr.Error's Code and Message methods to get detailed information about
  4901. // the error.
  4902. //
  4903. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4904. // API operation CreateVpcEndpoint for usage and error information.
  4905. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
  4906. func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
  4907. req, out := c.CreateVpcEndpointRequest(input)
  4908. return out, req.Send()
  4909. }
  4910. // CreateVpcEndpointWithContext is the same as CreateVpcEndpoint with the addition of
  4911. // the ability to pass a context and additional request options.
  4912. //
  4913. // See CreateVpcEndpoint for details on how to use this API operation.
  4914. //
  4915. // The context must be non-nil and will be used for request cancellation. If
  4916. // the context is nil a panic will occur. In the future the SDK may create
  4917. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4918. // for more information on using Contexts.
  4919. func (c *EC2) CreateVpcEndpointWithContext(ctx aws.Context, input *CreateVpcEndpointInput, opts ...request.Option) (*CreateVpcEndpointOutput, error) {
  4920. req, out := c.CreateVpcEndpointRequest(input)
  4921. req.SetContext(ctx)
  4922. req.ApplyOptions(opts...)
  4923. return out, req.Send()
  4924. }
  4925. const opCreateVpcEndpointConnectionNotification = "CreateVpcEndpointConnectionNotification"
  4926. // CreateVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
  4927. // client's request for the CreateVpcEndpointConnectionNotification operation. The "output" return
  4928. // value will be populated with the request's response once the request completes
  4929. // successfuly.
  4930. //
  4931. // Use "Send" method on the returned Request to send the API call to the service.
  4932. // the "output" return value is not valid until after Send returns without error.
  4933. //
  4934. // See CreateVpcEndpointConnectionNotification for more information on using the CreateVpcEndpointConnectionNotification
  4935. // API call, and error handling.
  4936. //
  4937. // This method is useful when you want to inject custom logic or configuration
  4938. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4939. //
  4940. //
  4941. // // Example sending a request using the CreateVpcEndpointConnectionNotificationRequest method.
  4942. // req, resp := client.CreateVpcEndpointConnectionNotificationRequest(params)
  4943. //
  4944. // err := req.Send()
  4945. // if err == nil { // resp is now filled
  4946. // fmt.Println(resp)
  4947. // }
  4948. //
  4949. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
  4950. func (c *EC2) CreateVpcEndpointConnectionNotificationRequest(input *CreateVpcEndpointConnectionNotificationInput) (req *request.Request, output *CreateVpcEndpointConnectionNotificationOutput) {
  4951. op := &request.Operation{
  4952. Name: opCreateVpcEndpointConnectionNotification,
  4953. HTTPMethod: "POST",
  4954. HTTPPath: "/",
  4955. }
  4956. if input == nil {
  4957. input = &CreateVpcEndpointConnectionNotificationInput{}
  4958. }
  4959. output = &CreateVpcEndpointConnectionNotificationOutput{}
  4960. req = c.newRequest(op, input, output)
  4961. return
  4962. }
  4963. // CreateVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
  4964. //
  4965. // Creates a connection notification for a specified VPC endpoint or VPC endpoint
  4966. // service. A connection notification notifies you of specific endpoint events.
  4967. // You must create an SNS topic to receive notifications. For more information,
  4968. // see Create a Topic (http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html)
  4969. // in the Amazon Simple Notification Service Developer Guide.
  4970. //
  4971. // You can create a connection notification for interface endpoints only.
  4972. //
  4973. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4974. // with awserr.Error's Code and Message methods to get detailed information about
  4975. // the error.
  4976. //
  4977. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4978. // API operation CreateVpcEndpointConnectionNotification for usage and error information.
  4979. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
  4980. func (c *EC2) CreateVpcEndpointConnectionNotification(input *CreateVpcEndpointConnectionNotificationInput) (*CreateVpcEndpointConnectionNotificationOutput, error) {
  4981. req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
  4982. return out, req.Send()
  4983. }
  4984. // CreateVpcEndpointConnectionNotificationWithContext is the same as CreateVpcEndpointConnectionNotification with the addition of
  4985. // the ability to pass a context and additional request options.
  4986. //
  4987. // See CreateVpcEndpointConnectionNotification for details on how to use this API operation.
  4988. //
  4989. // The context must be non-nil and will be used for request cancellation. If
  4990. // the context is nil a panic will occur. In the future the SDK may create
  4991. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4992. // for more information on using Contexts.
  4993. func (c *EC2) CreateVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *CreateVpcEndpointConnectionNotificationInput, opts ...request.Option) (*CreateVpcEndpointConnectionNotificationOutput, error) {
  4994. req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
  4995. req.SetContext(ctx)
  4996. req.ApplyOptions(opts...)
  4997. return out, req.Send()
  4998. }
  4999. const opCreateVpcEndpointServiceConfiguration = "CreateVpcEndpointServiceConfiguration"
  5000. // CreateVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
  5001. // client's request for the CreateVpcEndpointServiceConfiguration operation. The "output" return
  5002. // value will be populated with the request's response once the request completes
  5003. // successfuly.
  5004. //
  5005. // Use "Send" method on the returned Request to send the API call to the service.
  5006. // the "output" return value is not valid until after Send returns without error.
  5007. //
  5008. // See CreateVpcEndpointServiceConfiguration for more information on using the CreateVpcEndpointServiceConfiguration
  5009. // API call, and error handling.
  5010. //
  5011. // This method is useful when you want to inject custom logic or configuration
  5012. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5013. //
  5014. //
  5015. // // Example sending a request using the CreateVpcEndpointServiceConfigurationRequest method.
  5016. // req, resp := client.CreateVpcEndpointServiceConfigurationRequest(params)
  5017. //
  5018. // err := req.Send()
  5019. // if err == nil { // resp is now filled
  5020. // fmt.Println(resp)
  5021. // }
  5022. //
  5023. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
  5024. func (c *EC2) CreateVpcEndpointServiceConfigurationRequest(input *CreateVpcEndpointServiceConfigurationInput) (req *request.Request, output *CreateVpcEndpointServiceConfigurationOutput) {
  5025. op := &request.Operation{
  5026. Name: opCreateVpcEndpointServiceConfiguration,
  5027. HTTPMethod: "POST",
  5028. HTTPPath: "/",
  5029. }
  5030. if input == nil {
  5031. input = &CreateVpcEndpointServiceConfigurationInput{}
  5032. }
  5033. output = &CreateVpcEndpointServiceConfigurationOutput{}
  5034. req = c.newRequest(op, input, output)
  5035. return
  5036. }
  5037. // CreateVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
  5038. //
  5039. // Creates a VPC endpoint service configuration to which service consumers (AWS
  5040. // accounts, IAM users, and IAM roles) can connect. Service consumers can create
  5041. // an interface VPC endpoint to connect to your service.
  5042. //
  5043. // To create an endpoint service configuration, you must first create a Network
  5044. // Load Balancer for your service. For more information, see VPC Endpoint Services
  5045. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html)
  5046. // in the Amazon Virtual Private Cloud User Guide.
  5047. //
  5048. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5049. // with awserr.Error's Code and Message methods to get detailed information about
  5050. // the error.
  5051. //
  5052. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5053. // API operation CreateVpcEndpointServiceConfiguration for usage and error information.
  5054. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
  5055. func (c *EC2) CreateVpcEndpointServiceConfiguration(input *CreateVpcEndpointServiceConfigurationInput) (*CreateVpcEndpointServiceConfigurationOutput, error) {
  5056. req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
  5057. return out, req.Send()
  5058. }
  5059. // CreateVpcEndpointServiceConfigurationWithContext is the same as CreateVpcEndpointServiceConfiguration with the addition of
  5060. // the ability to pass a context and additional request options.
  5061. //
  5062. // See CreateVpcEndpointServiceConfiguration for details on how to use this API operation.
  5063. //
  5064. // The context must be non-nil and will be used for request cancellation. If
  5065. // the context is nil a panic will occur. In the future the SDK may create
  5066. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5067. // for more information on using Contexts.
  5068. func (c *EC2) CreateVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *CreateVpcEndpointServiceConfigurationInput, opts ...request.Option) (*CreateVpcEndpointServiceConfigurationOutput, error) {
  5069. req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
  5070. req.SetContext(ctx)
  5071. req.ApplyOptions(opts...)
  5072. return out, req.Send()
  5073. }
  5074. const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
  5075. // CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  5076. // client's request for the CreateVpcPeeringConnection operation. The "output" return
  5077. // value will be populated with the request's response once the request completes
  5078. // successfuly.
  5079. //
  5080. // Use "Send" method on the returned Request to send the API call to the service.
  5081. // the "output" return value is not valid until after Send returns without error.
  5082. //
  5083. // See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
  5084. // API call, and error handling.
  5085. //
  5086. // This method is useful when you want to inject custom logic or configuration
  5087. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5088. //
  5089. //
  5090. // // Example sending a request using the CreateVpcPeeringConnectionRequest method.
  5091. // req, resp := client.CreateVpcPeeringConnectionRequest(params)
  5092. //
  5093. // err := req.Send()
  5094. // if err == nil { // resp is now filled
  5095. // fmt.Println(resp)
  5096. // }
  5097. //
  5098. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
  5099. func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
  5100. op := &request.Operation{
  5101. Name: opCreateVpcPeeringConnection,
  5102. HTTPMethod: "POST",
  5103. HTTPPath: "/",
  5104. }
  5105. if input == nil {
  5106. input = &CreateVpcPeeringConnectionInput{}
  5107. }
  5108. output = &CreateVpcPeeringConnectionOutput{}
  5109. req = c.newRequest(op, input, output)
  5110. return
  5111. }
  5112. // CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  5113. //
  5114. // Requests a VPC peering connection between two VPCs: a requester VPC that
  5115. // you own and an accepter VPC with which to create the connection. The accepter
  5116. // VPC can belong to another AWS account and can be in a different region to
  5117. // the requester VPC. The requester VPC and accepter VPC cannot have overlapping
  5118. // CIDR blocks.
  5119. //
  5120. // Limitations and rules apply to a VPC peering connection. For more information,
  5121. // see the limitations (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-basics.html#vpc-peering-limitations)
  5122. // section in the VPC Peering Guide.
  5123. //
  5124. // The owner of the accepter VPC must accept the peering request to activate
  5125. // the peering connection. The VPC peering connection request expires after
  5126. // 7 days, after which it cannot be accepted or rejected.
  5127. //
  5128. // If you create a VPC peering connection request between VPCs with overlapping
  5129. // CIDR blocks, the VPC peering connection has a status of failed.
  5130. //
  5131. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5132. // with awserr.Error's Code and Message methods to get detailed information about
  5133. // the error.
  5134. //
  5135. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5136. // API operation CreateVpcPeeringConnection for usage and error information.
  5137. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
  5138. func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
  5139. req, out := c.CreateVpcPeeringConnectionRequest(input)
  5140. return out, req.Send()
  5141. }
  5142. // CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
  5143. // the ability to pass a context and additional request options.
  5144. //
  5145. // See CreateVpcPeeringConnection for details on how to use this API operation.
  5146. //
  5147. // The context must be non-nil and will be used for request cancellation. If
  5148. // the context is nil a panic will occur. In the future the SDK may create
  5149. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5150. // for more information on using Contexts.
  5151. func (c *EC2) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
  5152. req, out := c.CreateVpcPeeringConnectionRequest(input)
  5153. req.SetContext(ctx)
  5154. req.ApplyOptions(opts...)
  5155. return out, req.Send()
  5156. }
  5157. const opCreateVpnConnection = "CreateVpnConnection"
  5158. // CreateVpnConnectionRequest generates a "aws/request.Request" representing the
  5159. // client's request for the CreateVpnConnection operation. The "output" return
  5160. // value will be populated with the request's response once the request completes
  5161. // successfuly.
  5162. //
  5163. // Use "Send" method on the returned Request to send the API call to the service.
  5164. // the "output" return value is not valid until after Send returns without error.
  5165. //
  5166. // See CreateVpnConnection for more information on using the CreateVpnConnection
  5167. // API call, and error handling.
  5168. //
  5169. // This method is useful when you want to inject custom logic or configuration
  5170. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5171. //
  5172. //
  5173. // // Example sending a request using the CreateVpnConnectionRequest method.
  5174. // req, resp := client.CreateVpnConnectionRequest(params)
  5175. //
  5176. // err := req.Send()
  5177. // if err == nil { // resp is now filled
  5178. // fmt.Println(resp)
  5179. // }
  5180. //
  5181. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
  5182. func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
  5183. op := &request.Operation{
  5184. Name: opCreateVpnConnection,
  5185. HTTPMethod: "POST",
  5186. HTTPPath: "/",
  5187. }
  5188. if input == nil {
  5189. input = &CreateVpnConnectionInput{}
  5190. }
  5191. output = &CreateVpnConnectionOutput{}
  5192. req = c.newRequest(op, input, output)
  5193. return
  5194. }
  5195. // CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
  5196. //
  5197. // Creates a VPN connection between an existing virtual private gateway and
  5198. // a VPN customer gateway. The only supported connection type is ipsec.1.
  5199. //
  5200. // The response includes information that you need to give to your network administrator
  5201. // to configure your customer gateway.
  5202. //
  5203. // We strongly recommend that you use HTTPS when calling this operation because
  5204. // the response contains sensitive cryptographic information for configuring
  5205. // your customer gateway.
  5206. //
  5207. // If you decide to shut down your VPN connection for any reason and later create
  5208. // a new VPN connection, you must reconfigure your customer gateway with the
  5209. // new information returned from this call.
  5210. //
  5211. // This is an idempotent operation. If you perform the operation more than once,
  5212. // Amazon EC2 doesn't return an error.
  5213. //
  5214. // For more information, see AWS Managed VPN Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  5215. // in the Amazon Virtual Private Cloud User Guide.
  5216. //
  5217. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5218. // with awserr.Error's Code and Message methods to get detailed information about
  5219. // the error.
  5220. //
  5221. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5222. // API operation CreateVpnConnection for usage and error information.
  5223. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
  5224. func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
  5225. req, out := c.CreateVpnConnectionRequest(input)
  5226. return out, req.Send()
  5227. }
  5228. // CreateVpnConnectionWithContext is the same as CreateVpnConnection with the addition of
  5229. // the ability to pass a context and additional request options.
  5230. //
  5231. // See CreateVpnConnection for details on how to use this API operation.
  5232. //
  5233. // The context must be non-nil and will be used for request cancellation. If
  5234. // the context is nil a panic will occur. In the future the SDK may create
  5235. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5236. // for more information on using Contexts.
  5237. func (c *EC2) CreateVpnConnectionWithContext(ctx aws.Context, input *CreateVpnConnectionInput, opts ...request.Option) (*CreateVpnConnectionOutput, error) {
  5238. req, out := c.CreateVpnConnectionRequest(input)
  5239. req.SetContext(ctx)
  5240. req.ApplyOptions(opts...)
  5241. return out, req.Send()
  5242. }
  5243. const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
  5244. // CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  5245. // client's request for the CreateVpnConnectionRoute operation. The "output" return
  5246. // value will be populated with the request's response once the request completes
  5247. // successfuly.
  5248. //
  5249. // Use "Send" method on the returned Request to send the API call to the service.
  5250. // the "output" return value is not valid until after Send returns without error.
  5251. //
  5252. // See CreateVpnConnectionRoute for more information on using the CreateVpnConnectionRoute
  5253. // API call, and error handling.
  5254. //
  5255. // This method is useful when you want to inject custom logic or configuration
  5256. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5257. //
  5258. //
  5259. // // Example sending a request using the CreateVpnConnectionRouteRequest method.
  5260. // req, resp := client.CreateVpnConnectionRouteRequest(params)
  5261. //
  5262. // err := req.Send()
  5263. // if err == nil { // resp is now filled
  5264. // fmt.Println(resp)
  5265. // }
  5266. //
  5267. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
  5268. func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
  5269. op := &request.Operation{
  5270. Name: opCreateVpnConnectionRoute,
  5271. HTTPMethod: "POST",
  5272. HTTPPath: "/",
  5273. }
  5274. if input == nil {
  5275. input = &CreateVpnConnectionRouteInput{}
  5276. }
  5277. output = &CreateVpnConnectionRouteOutput{}
  5278. req = c.newRequest(op, input, output)
  5279. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5280. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5281. return
  5282. }
  5283. // CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  5284. //
  5285. // Creates a static route associated with a VPN connection between an existing
  5286. // virtual private gateway and a VPN customer gateway. The static route allows
  5287. // traffic to be routed from the virtual private gateway to the VPN customer
  5288. // gateway.
  5289. //
  5290. // For more information about VPN connections, see AWS Managed VPN Connections
  5291. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the
  5292. // Amazon Virtual Private Cloud User Guide.
  5293. //
  5294. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5295. // with awserr.Error's Code and Message methods to get detailed information about
  5296. // the error.
  5297. //
  5298. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5299. // API operation CreateVpnConnectionRoute for usage and error information.
  5300. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
  5301. func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
  5302. req, out := c.CreateVpnConnectionRouteRequest(input)
  5303. return out, req.Send()
  5304. }
  5305. // CreateVpnConnectionRouteWithContext is the same as CreateVpnConnectionRoute with the addition of
  5306. // the ability to pass a context and additional request options.
  5307. //
  5308. // See CreateVpnConnectionRoute for details on how to use this API operation.
  5309. //
  5310. // The context must be non-nil and will be used for request cancellation. If
  5311. // the context is nil a panic will occur. In the future the SDK may create
  5312. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5313. // for more information on using Contexts.
  5314. func (c *EC2) CreateVpnConnectionRouteWithContext(ctx aws.Context, input *CreateVpnConnectionRouteInput, opts ...request.Option) (*CreateVpnConnectionRouteOutput, error) {
  5315. req, out := c.CreateVpnConnectionRouteRequest(input)
  5316. req.SetContext(ctx)
  5317. req.ApplyOptions(opts...)
  5318. return out, req.Send()
  5319. }
  5320. const opCreateVpnGateway = "CreateVpnGateway"
  5321. // CreateVpnGatewayRequest generates a "aws/request.Request" representing the
  5322. // client's request for the CreateVpnGateway operation. The "output" return
  5323. // value will be populated with the request's response once the request completes
  5324. // successfuly.
  5325. //
  5326. // Use "Send" method on the returned Request to send the API call to the service.
  5327. // the "output" return value is not valid until after Send returns without error.
  5328. //
  5329. // See CreateVpnGateway for more information on using the CreateVpnGateway
  5330. // API call, and error handling.
  5331. //
  5332. // This method is useful when you want to inject custom logic or configuration
  5333. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5334. //
  5335. //
  5336. // // Example sending a request using the CreateVpnGatewayRequest method.
  5337. // req, resp := client.CreateVpnGatewayRequest(params)
  5338. //
  5339. // err := req.Send()
  5340. // if err == nil { // resp is now filled
  5341. // fmt.Println(resp)
  5342. // }
  5343. //
  5344. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
  5345. func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
  5346. op := &request.Operation{
  5347. Name: opCreateVpnGateway,
  5348. HTTPMethod: "POST",
  5349. HTTPPath: "/",
  5350. }
  5351. if input == nil {
  5352. input = &CreateVpnGatewayInput{}
  5353. }
  5354. output = &CreateVpnGatewayOutput{}
  5355. req = c.newRequest(op, input, output)
  5356. return
  5357. }
  5358. // CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
  5359. //
  5360. // Creates a virtual private gateway. A virtual private gateway is the endpoint
  5361. // on the VPC side of your VPN connection. You can create a virtual private
  5362. // gateway before creating the VPC itself.
  5363. //
  5364. // For more information about virtual private gateways, see AWS Managed VPN
  5365. // Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  5366. // in the Amazon Virtual Private Cloud User Guide.
  5367. //
  5368. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5369. // with awserr.Error's Code and Message methods to get detailed information about
  5370. // the error.
  5371. //
  5372. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5373. // API operation CreateVpnGateway for usage and error information.
  5374. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
  5375. func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
  5376. req, out := c.CreateVpnGatewayRequest(input)
  5377. return out, req.Send()
  5378. }
  5379. // CreateVpnGatewayWithContext is the same as CreateVpnGateway with the addition of
  5380. // the ability to pass a context and additional request options.
  5381. //
  5382. // See CreateVpnGateway for details on how to use this API operation.
  5383. //
  5384. // The context must be non-nil and will be used for request cancellation. If
  5385. // the context is nil a panic will occur. In the future the SDK may create
  5386. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5387. // for more information on using Contexts.
  5388. func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatewayInput, opts ...request.Option) (*CreateVpnGatewayOutput, error) {
  5389. req, out := c.CreateVpnGatewayRequest(input)
  5390. req.SetContext(ctx)
  5391. req.ApplyOptions(opts...)
  5392. return out, req.Send()
  5393. }
  5394. const opDeleteCustomerGateway = "DeleteCustomerGateway"
  5395. // DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
  5396. // client's request for the DeleteCustomerGateway operation. The "output" return
  5397. // value will be populated with the request's response once the request completes
  5398. // successfuly.
  5399. //
  5400. // Use "Send" method on the returned Request to send the API call to the service.
  5401. // the "output" return value is not valid until after Send returns without error.
  5402. //
  5403. // See DeleteCustomerGateway for more information on using the DeleteCustomerGateway
  5404. // API call, and error handling.
  5405. //
  5406. // This method is useful when you want to inject custom logic or configuration
  5407. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5408. //
  5409. //
  5410. // // Example sending a request using the DeleteCustomerGatewayRequest method.
  5411. // req, resp := client.DeleteCustomerGatewayRequest(params)
  5412. //
  5413. // err := req.Send()
  5414. // if err == nil { // resp is now filled
  5415. // fmt.Println(resp)
  5416. // }
  5417. //
  5418. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
  5419. func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
  5420. op := &request.Operation{
  5421. Name: opDeleteCustomerGateway,
  5422. HTTPMethod: "POST",
  5423. HTTPPath: "/",
  5424. }
  5425. if input == nil {
  5426. input = &DeleteCustomerGatewayInput{}
  5427. }
  5428. output = &DeleteCustomerGatewayOutput{}
  5429. req = c.newRequest(op, input, output)
  5430. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5431. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5432. return
  5433. }
  5434. // DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
  5435. //
  5436. // Deletes the specified customer gateway. You must delete the VPN connection
  5437. // before you can delete the customer gateway.
  5438. //
  5439. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5440. // with awserr.Error's Code and Message methods to get detailed information about
  5441. // the error.
  5442. //
  5443. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5444. // API operation DeleteCustomerGateway for usage and error information.
  5445. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
  5446. func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
  5447. req, out := c.DeleteCustomerGatewayRequest(input)
  5448. return out, req.Send()
  5449. }
  5450. // DeleteCustomerGatewayWithContext is the same as DeleteCustomerGateway with the addition of
  5451. // the ability to pass a context and additional request options.
  5452. //
  5453. // See DeleteCustomerGateway for details on how to use this API operation.
  5454. //
  5455. // The context must be non-nil and will be used for request cancellation. If
  5456. // the context is nil a panic will occur. In the future the SDK may create
  5457. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5458. // for more information on using Contexts.
  5459. func (c *EC2) DeleteCustomerGatewayWithContext(ctx aws.Context, input *DeleteCustomerGatewayInput, opts ...request.Option) (*DeleteCustomerGatewayOutput, error) {
  5460. req, out := c.DeleteCustomerGatewayRequest(input)
  5461. req.SetContext(ctx)
  5462. req.ApplyOptions(opts...)
  5463. return out, req.Send()
  5464. }
  5465. const opDeleteDhcpOptions = "DeleteDhcpOptions"
  5466. // DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
  5467. // client's request for the DeleteDhcpOptions operation. The "output" return
  5468. // value will be populated with the request's response once the request completes
  5469. // successfuly.
  5470. //
  5471. // Use "Send" method on the returned Request to send the API call to the service.
  5472. // the "output" return value is not valid until after Send returns without error.
  5473. //
  5474. // See DeleteDhcpOptions for more information on using the DeleteDhcpOptions
  5475. // API call, and error handling.
  5476. //
  5477. // This method is useful when you want to inject custom logic or configuration
  5478. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5479. //
  5480. //
  5481. // // Example sending a request using the DeleteDhcpOptionsRequest method.
  5482. // req, resp := client.DeleteDhcpOptionsRequest(params)
  5483. //
  5484. // err := req.Send()
  5485. // if err == nil { // resp is now filled
  5486. // fmt.Println(resp)
  5487. // }
  5488. //
  5489. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
  5490. func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
  5491. op := &request.Operation{
  5492. Name: opDeleteDhcpOptions,
  5493. HTTPMethod: "POST",
  5494. HTTPPath: "/",
  5495. }
  5496. if input == nil {
  5497. input = &DeleteDhcpOptionsInput{}
  5498. }
  5499. output = &DeleteDhcpOptionsOutput{}
  5500. req = c.newRequest(op, input, output)
  5501. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5502. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5503. return
  5504. }
  5505. // DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
  5506. //
  5507. // Deletes the specified set of DHCP options. You must disassociate the set
  5508. // of DHCP options before you can delete it. You can disassociate the set of
  5509. // DHCP options by associating either a new set of options or the default set
  5510. // of options with the VPC.
  5511. //
  5512. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5513. // with awserr.Error's Code and Message methods to get detailed information about
  5514. // the error.
  5515. //
  5516. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5517. // API operation DeleteDhcpOptions for usage and error information.
  5518. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
  5519. func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
  5520. req, out := c.DeleteDhcpOptionsRequest(input)
  5521. return out, req.Send()
  5522. }
  5523. // DeleteDhcpOptionsWithContext is the same as DeleteDhcpOptions with the addition of
  5524. // the ability to pass a context and additional request options.
  5525. //
  5526. // See DeleteDhcpOptions for details on how to use this API operation.
  5527. //
  5528. // The context must be non-nil and will be used for request cancellation. If
  5529. // the context is nil a panic will occur. In the future the SDK may create
  5530. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5531. // for more information on using Contexts.
  5532. func (c *EC2) DeleteDhcpOptionsWithContext(ctx aws.Context, input *DeleteDhcpOptionsInput, opts ...request.Option) (*DeleteDhcpOptionsOutput, error) {
  5533. req, out := c.DeleteDhcpOptionsRequest(input)
  5534. req.SetContext(ctx)
  5535. req.ApplyOptions(opts...)
  5536. return out, req.Send()
  5537. }
  5538. const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway"
  5539. // DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
  5540. // client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return
  5541. // value will be populated with the request's response once the request completes
  5542. // successfuly.
  5543. //
  5544. // Use "Send" method on the returned Request to send the API call to the service.
  5545. // the "output" return value is not valid until after Send returns without error.
  5546. //
  5547. // See DeleteEgressOnlyInternetGateway for more information on using the DeleteEgressOnlyInternetGateway
  5548. // API call, and error handling.
  5549. //
  5550. // This method is useful when you want to inject custom logic or configuration
  5551. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5552. //
  5553. //
  5554. // // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method.
  5555. // req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params)
  5556. //
  5557. // err := req.Send()
  5558. // if err == nil { // resp is now filled
  5559. // fmt.Println(resp)
  5560. // }
  5561. //
  5562. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
  5563. func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInternetGatewayInput) (req *request.Request, output *DeleteEgressOnlyInternetGatewayOutput) {
  5564. op := &request.Operation{
  5565. Name: opDeleteEgressOnlyInternetGateway,
  5566. HTTPMethod: "POST",
  5567. HTTPPath: "/",
  5568. }
  5569. if input == nil {
  5570. input = &DeleteEgressOnlyInternetGatewayInput{}
  5571. }
  5572. output = &DeleteEgressOnlyInternetGatewayOutput{}
  5573. req = c.newRequest(op, input, output)
  5574. return
  5575. }
  5576. // DeleteEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
  5577. //
  5578. // Deletes an egress-only Internet gateway.
  5579. //
  5580. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5581. // with awserr.Error's Code and Message methods to get detailed information about
  5582. // the error.
  5583. //
  5584. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5585. // API operation DeleteEgressOnlyInternetGateway for usage and error information.
  5586. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
  5587. func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) {
  5588. req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
  5589. return out, req.Send()
  5590. }
  5591. // DeleteEgressOnlyInternetGatewayWithContext is the same as DeleteEgressOnlyInternetGateway with the addition of
  5592. // the ability to pass a context and additional request options.
  5593. //
  5594. // See DeleteEgressOnlyInternetGateway for details on how to use this API operation.
  5595. //
  5596. // The context must be non-nil and will be used for request cancellation. If
  5597. // the context is nil a panic will occur. In the future the SDK may create
  5598. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5599. // for more information on using Contexts.
  5600. func (c *EC2) DeleteEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *DeleteEgressOnlyInternetGatewayInput, opts ...request.Option) (*DeleteEgressOnlyInternetGatewayOutput, error) {
  5601. req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
  5602. req.SetContext(ctx)
  5603. req.ApplyOptions(opts...)
  5604. return out, req.Send()
  5605. }
  5606. const opDeleteFleets = "DeleteFleets"
  5607. // DeleteFleetsRequest generates a "aws/request.Request" representing the
  5608. // client's request for the DeleteFleets operation. The "output" return
  5609. // value will be populated with the request's response once the request completes
  5610. // successfuly.
  5611. //
  5612. // Use "Send" method on the returned Request to send the API call to the service.
  5613. // the "output" return value is not valid until after Send returns without error.
  5614. //
  5615. // See DeleteFleets for more information on using the DeleteFleets
  5616. // API call, and error handling.
  5617. //
  5618. // This method is useful when you want to inject custom logic or configuration
  5619. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5620. //
  5621. //
  5622. // // Example sending a request using the DeleteFleetsRequest method.
  5623. // req, resp := client.DeleteFleetsRequest(params)
  5624. //
  5625. // err := req.Send()
  5626. // if err == nil { // resp is now filled
  5627. // fmt.Println(resp)
  5628. // }
  5629. //
  5630. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
  5631. func (c *EC2) DeleteFleetsRequest(input *DeleteFleetsInput) (req *request.Request, output *DeleteFleetsOutput) {
  5632. op := &request.Operation{
  5633. Name: opDeleteFleets,
  5634. HTTPMethod: "POST",
  5635. HTTPPath: "/",
  5636. }
  5637. if input == nil {
  5638. input = &DeleteFleetsInput{}
  5639. }
  5640. output = &DeleteFleetsOutput{}
  5641. req = c.newRequest(op, input, output)
  5642. return
  5643. }
  5644. // DeleteFleets API operation for Amazon Elastic Compute Cloud.
  5645. //
  5646. // Deletes the specified EC2 Fleet.
  5647. //
  5648. // After you delete an EC2 Fleet, the EC2 Fleet launches no new instances. You
  5649. // must specify whether the EC2 Fleet should also terminate its instances. If
  5650. // you terminate the instances, the EC2 Fleet enters the deleted_terminating
  5651. // state. Otherwise, the EC2 Fleet enters the deleted_running state, and the
  5652. // instances continue to run until they are interrupted or you terminate them
  5653. // manually.
  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 DeleteFleets for usage and error information.
  5661. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
  5662. func (c *EC2) DeleteFleets(input *DeleteFleetsInput) (*DeleteFleetsOutput, error) {
  5663. req, out := c.DeleteFleetsRequest(input)
  5664. return out, req.Send()
  5665. }
  5666. // DeleteFleetsWithContext is the same as DeleteFleets with the addition of
  5667. // the ability to pass a context and additional request options.
  5668. //
  5669. // See DeleteFleets for details on how to use this API operation.
  5670. //
  5671. // The context must be non-nil and will be used for request cancellation. If
  5672. // the context is nil a panic will occur. In the future the SDK may create
  5673. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5674. // for more information on using Contexts.
  5675. func (c *EC2) DeleteFleetsWithContext(ctx aws.Context, input *DeleteFleetsInput, opts ...request.Option) (*DeleteFleetsOutput, error) {
  5676. req, out := c.DeleteFleetsRequest(input)
  5677. req.SetContext(ctx)
  5678. req.ApplyOptions(opts...)
  5679. return out, req.Send()
  5680. }
  5681. const opDeleteFlowLogs = "DeleteFlowLogs"
  5682. // DeleteFlowLogsRequest generates a "aws/request.Request" representing the
  5683. // client's request for the DeleteFlowLogs operation. The "output" return
  5684. // value will be populated with the request's response once the request completes
  5685. // successfuly.
  5686. //
  5687. // Use "Send" method on the returned Request to send the API call to the service.
  5688. // the "output" return value is not valid until after Send returns without error.
  5689. //
  5690. // See DeleteFlowLogs for more information on using the DeleteFlowLogs
  5691. // API call, and error handling.
  5692. //
  5693. // This method is useful when you want to inject custom logic or configuration
  5694. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5695. //
  5696. //
  5697. // // Example sending a request using the DeleteFlowLogsRequest method.
  5698. // req, resp := client.DeleteFlowLogsRequest(params)
  5699. //
  5700. // err := req.Send()
  5701. // if err == nil { // resp is now filled
  5702. // fmt.Println(resp)
  5703. // }
  5704. //
  5705. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
  5706. func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
  5707. op := &request.Operation{
  5708. Name: opDeleteFlowLogs,
  5709. HTTPMethod: "POST",
  5710. HTTPPath: "/",
  5711. }
  5712. if input == nil {
  5713. input = &DeleteFlowLogsInput{}
  5714. }
  5715. output = &DeleteFlowLogsOutput{}
  5716. req = c.newRequest(op, input, output)
  5717. return
  5718. }
  5719. // DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
  5720. //
  5721. // Deletes one or more flow logs.
  5722. //
  5723. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5724. // with awserr.Error's Code and Message methods to get detailed information about
  5725. // the error.
  5726. //
  5727. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5728. // API operation DeleteFlowLogs for usage and error information.
  5729. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
  5730. func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
  5731. req, out := c.DeleteFlowLogsRequest(input)
  5732. return out, req.Send()
  5733. }
  5734. // DeleteFlowLogsWithContext is the same as DeleteFlowLogs with the addition of
  5735. // the ability to pass a context and additional request options.
  5736. //
  5737. // See DeleteFlowLogs for details on how to use this API operation.
  5738. //
  5739. // The context must be non-nil and will be used for request cancellation. If
  5740. // the context is nil a panic will occur. In the future the SDK may create
  5741. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5742. // for more information on using Contexts.
  5743. func (c *EC2) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsInput, opts ...request.Option) (*DeleteFlowLogsOutput, error) {
  5744. req, out := c.DeleteFlowLogsRequest(input)
  5745. req.SetContext(ctx)
  5746. req.ApplyOptions(opts...)
  5747. return out, req.Send()
  5748. }
  5749. const opDeleteFpgaImage = "DeleteFpgaImage"
  5750. // DeleteFpgaImageRequest generates a "aws/request.Request" representing the
  5751. // client's request for the DeleteFpgaImage operation. The "output" return
  5752. // value will be populated with the request's response once the request completes
  5753. // successfuly.
  5754. //
  5755. // Use "Send" method on the returned Request to send the API call to the service.
  5756. // the "output" return value is not valid until after Send returns without error.
  5757. //
  5758. // See DeleteFpgaImage for more information on using the DeleteFpgaImage
  5759. // API call, and error handling.
  5760. //
  5761. // This method is useful when you want to inject custom logic or configuration
  5762. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5763. //
  5764. //
  5765. // // Example sending a request using the DeleteFpgaImageRequest method.
  5766. // req, resp := client.DeleteFpgaImageRequest(params)
  5767. //
  5768. // err := req.Send()
  5769. // if err == nil { // resp is now filled
  5770. // fmt.Println(resp)
  5771. // }
  5772. //
  5773. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
  5774. func (c *EC2) DeleteFpgaImageRequest(input *DeleteFpgaImageInput) (req *request.Request, output *DeleteFpgaImageOutput) {
  5775. op := &request.Operation{
  5776. Name: opDeleteFpgaImage,
  5777. HTTPMethod: "POST",
  5778. HTTPPath: "/",
  5779. }
  5780. if input == nil {
  5781. input = &DeleteFpgaImageInput{}
  5782. }
  5783. output = &DeleteFpgaImageOutput{}
  5784. req = c.newRequest(op, input, output)
  5785. return
  5786. }
  5787. // DeleteFpgaImage API operation for Amazon Elastic Compute Cloud.
  5788. //
  5789. // Deletes the specified Amazon FPGA Image (AFI).
  5790. //
  5791. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5792. // with awserr.Error's Code and Message methods to get detailed information about
  5793. // the error.
  5794. //
  5795. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5796. // API operation DeleteFpgaImage for usage and error information.
  5797. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
  5798. func (c *EC2) DeleteFpgaImage(input *DeleteFpgaImageInput) (*DeleteFpgaImageOutput, error) {
  5799. req, out := c.DeleteFpgaImageRequest(input)
  5800. return out, req.Send()
  5801. }
  5802. // DeleteFpgaImageWithContext is the same as DeleteFpgaImage with the addition of
  5803. // the ability to pass a context and additional request options.
  5804. //
  5805. // See DeleteFpgaImage for details on how to use this API operation.
  5806. //
  5807. // The context must be non-nil and will be used for request cancellation. If
  5808. // the context is nil a panic will occur. In the future the SDK may create
  5809. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5810. // for more information on using Contexts.
  5811. func (c *EC2) DeleteFpgaImageWithContext(ctx aws.Context, input *DeleteFpgaImageInput, opts ...request.Option) (*DeleteFpgaImageOutput, error) {
  5812. req, out := c.DeleteFpgaImageRequest(input)
  5813. req.SetContext(ctx)
  5814. req.ApplyOptions(opts...)
  5815. return out, req.Send()
  5816. }
  5817. const opDeleteInternetGateway = "DeleteInternetGateway"
  5818. // DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
  5819. // client's request for the DeleteInternetGateway operation. The "output" return
  5820. // value will be populated with the request's response once the request completes
  5821. // successfuly.
  5822. //
  5823. // Use "Send" method on the returned Request to send the API call to the service.
  5824. // the "output" return value is not valid until after Send returns without error.
  5825. //
  5826. // See DeleteInternetGateway for more information on using the DeleteInternetGateway
  5827. // API call, and error handling.
  5828. //
  5829. // This method is useful when you want to inject custom logic or configuration
  5830. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5831. //
  5832. //
  5833. // // Example sending a request using the DeleteInternetGatewayRequest method.
  5834. // req, resp := client.DeleteInternetGatewayRequest(params)
  5835. //
  5836. // err := req.Send()
  5837. // if err == nil { // resp is now filled
  5838. // fmt.Println(resp)
  5839. // }
  5840. //
  5841. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
  5842. func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
  5843. op := &request.Operation{
  5844. Name: opDeleteInternetGateway,
  5845. HTTPMethod: "POST",
  5846. HTTPPath: "/",
  5847. }
  5848. if input == nil {
  5849. input = &DeleteInternetGatewayInput{}
  5850. }
  5851. output = &DeleteInternetGatewayOutput{}
  5852. req = c.newRequest(op, input, output)
  5853. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5854. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5855. return
  5856. }
  5857. // DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
  5858. //
  5859. // Deletes the specified Internet gateway. You must detach the Internet gateway
  5860. // from the VPC before you can delete it.
  5861. //
  5862. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5863. // with awserr.Error's Code and Message methods to get detailed information about
  5864. // the error.
  5865. //
  5866. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5867. // API operation DeleteInternetGateway for usage and error information.
  5868. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
  5869. func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
  5870. req, out := c.DeleteInternetGatewayRequest(input)
  5871. return out, req.Send()
  5872. }
  5873. // DeleteInternetGatewayWithContext is the same as DeleteInternetGateway with the addition of
  5874. // the ability to pass a context and additional request options.
  5875. //
  5876. // See DeleteInternetGateway for details on how to use this API operation.
  5877. //
  5878. // The context must be non-nil and will be used for request cancellation. If
  5879. // the context is nil a panic will occur. In the future the SDK may create
  5880. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5881. // for more information on using Contexts.
  5882. func (c *EC2) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInternetGatewayInput, opts ...request.Option) (*DeleteInternetGatewayOutput, error) {
  5883. req, out := c.DeleteInternetGatewayRequest(input)
  5884. req.SetContext(ctx)
  5885. req.ApplyOptions(opts...)
  5886. return out, req.Send()
  5887. }
  5888. const opDeleteKeyPair = "DeleteKeyPair"
  5889. // DeleteKeyPairRequest generates a "aws/request.Request" representing the
  5890. // client's request for the DeleteKeyPair operation. The "output" return
  5891. // value will be populated with the request's response once the request completes
  5892. // successfuly.
  5893. //
  5894. // Use "Send" method on the returned Request to send the API call to the service.
  5895. // the "output" return value is not valid until after Send returns without error.
  5896. //
  5897. // See DeleteKeyPair for more information on using the DeleteKeyPair
  5898. // API call, and error handling.
  5899. //
  5900. // This method is useful when you want to inject custom logic or configuration
  5901. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5902. //
  5903. //
  5904. // // Example sending a request using the DeleteKeyPairRequest method.
  5905. // req, resp := client.DeleteKeyPairRequest(params)
  5906. //
  5907. // err := req.Send()
  5908. // if err == nil { // resp is now filled
  5909. // fmt.Println(resp)
  5910. // }
  5911. //
  5912. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
  5913. func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
  5914. op := &request.Operation{
  5915. Name: opDeleteKeyPair,
  5916. HTTPMethod: "POST",
  5917. HTTPPath: "/",
  5918. }
  5919. if input == nil {
  5920. input = &DeleteKeyPairInput{}
  5921. }
  5922. output = &DeleteKeyPairOutput{}
  5923. req = c.newRequest(op, input, output)
  5924. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5925. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5926. return
  5927. }
  5928. // DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
  5929. //
  5930. // Deletes the specified key pair, by removing the public key from Amazon EC2.
  5931. //
  5932. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5933. // with awserr.Error's Code and Message methods to get detailed information about
  5934. // the error.
  5935. //
  5936. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5937. // API operation DeleteKeyPair for usage and error information.
  5938. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
  5939. func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
  5940. req, out := c.DeleteKeyPairRequest(input)
  5941. return out, req.Send()
  5942. }
  5943. // DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
  5944. // the ability to pass a context and additional request options.
  5945. //
  5946. // See DeleteKeyPair for details on how to use this API operation.
  5947. //
  5948. // The context must be non-nil and will be used for request cancellation. If
  5949. // the context is nil a panic will occur. In the future the SDK may create
  5950. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5951. // for more information on using Contexts.
  5952. func (c *EC2) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
  5953. req, out := c.DeleteKeyPairRequest(input)
  5954. req.SetContext(ctx)
  5955. req.ApplyOptions(opts...)
  5956. return out, req.Send()
  5957. }
  5958. const opDeleteLaunchTemplate = "DeleteLaunchTemplate"
  5959. // DeleteLaunchTemplateRequest generates a "aws/request.Request" representing the
  5960. // client's request for the DeleteLaunchTemplate operation. The "output" return
  5961. // value will be populated with the request's response once the request completes
  5962. // successfuly.
  5963. //
  5964. // Use "Send" method on the returned Request to send the API call to the service.
  5965. // the "output" return value is not valid until after Send returns without error.
  5966. //
  5967. // See DeleteLaunchTemplate for more information on using the DeleteLaunchTemplate
  5968. // API call, and error handling.
  5969. //
  5970. // This method is useful when you want to inject custom logic or configuration
  5971. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5972. //
  5973. //
  5974. // // Example sending a request using the DeleteLaunchTemplateRequest method.
  5975. // req, resp := client.DeleteLaunchTemplateRequest(params)
  5976. //
  5977. // err := req.Send()
  5978. // if err == nil { // resp is now filled
  5979. // fmt.Println(resp)
  5980. // }
  5981. //
  5982. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
  5983. func (c *EC2) DeleteLaunchTemplateRequest(input *DeleteLaunchTemplateInput) (req *request.Request, output *DeleteLaunchTemplateOutput) {
  5984. op := &request.Operation{
  5985. Name: opDeleteLaunchTemplate,
  5986. HTTPMethod: "POST",
  5987. HTTPPath: "/",
  5988. }
  5989. if input == nil {
  5990. input = &DeleteLaunchTemplateInput{}
  5991. }
  5992. output = &DeleteLaunchTemplateOutput{}
  5993. req = c.newRequest(op, input, output)
  5994. return
  5995. }
  5996. // DeleteLaunchTemplate API operation for Amazon Elastic Compute Cloud.
  5997. //
  5998. // Deletes a launch template. Deleting a launch template deletes all of its
  5999. // versions.
  6000. //
  6001. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6002. // with awserr.Error's Code and Message methods to get detailed information about
  6003. // the error.
  6004. //
  6005. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6006. // API operation DeleteLaunchTemplate for usage and error information.
  6007. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
  6008. func (c *EC2) DeleteLaunchTemplate(input *DeleteLaunchTemplateInput) (*DeleteLaunchTemplateOutput, error) {
  6009. req, out := c.DeleteLaunchTemplateRequest(input)
  6010. return out, req.Send()
  6011. }
  6012. // DeleteLaunchTemplateWithContext is the same as DeleteLaunchTemplate with the addition of
  6013. // the ability to pass a context and additional request options.
  6014. //
  6015. // See DeleteLaunchTemplate for details on how to use this API operation.
  6016. //
  6017. // The context must be non-nil and will be used for request cancellation. If
  6018. // the context is nil a panic will occur. In the future the SDK may create
  6019. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6020. // for more information on using Contexts.
  6021. func (c *EC2) DeleteLaunchTemplateWithContext(ctx aws.Context, input *DeleteLaunchTemplateInput, opts ...request.Option) (*DeleteLaunchTemplateOutput, error) {
  6022. req, out := c.DeleteLaunchTemplateRequest(input)
  6023. req.SetContext(ctx)
  6024. req.ApplyOptions(opts...)
  6025. return out, req.Send()
  6026. }
  6027. const opDeleteLaunchTemplateVersions = "DeleteLaunchTemplateVersions"
  6028. // DeleteLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
  6029. // client's request for the DeleteLaunchTemplateVersions operation. The "output" return
  6030. // value will be populated with the request's response once the request completes
  6031. // successfuly.
  6032. //
  6033. // Use "Send" method on the returned Request to send the API call to the service.
  6034. // the "output" return value is not valid until after Send returns without error.
  6035. //
  6036. // See DeleteLaunchTemplateVersions for more information on using the DeleteLaunchTemplateVersions
  6037. // API call, and error handling.
  6038. //
  6039. // This method is useful when you want to inject custom logic or configuration
  6040. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6041. //
  6042. //
  6043. // // Example sending a request using the DeleteLaunchTemplateVersionsRequest method.
  6044. // req, resp := client.DeleteLaunchTemplateVersionsRequest(params)
  6045. //
  6046. // err := req.Send()
  6047. // if err == nil { // resp is now filled
  6048. // fmt.Println(resp)
  6049. // }
  6050. //
  6051. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
  6052. func (c *EC2) DeleteLaunchTemplateVersionsRequest(input *DeleteLaunchTemplateVersionsInput) (req *request.Request, output *DeleteLaunchTemplateVersionsOutput) {
  6053. op := &request.Operation{
  6054. Name: opDeleteLaunchTemplateVersions,
  6055. HTTPMethod: "POST",
  6056. HTTPPath: "/",
  6057. }
  6058. if input == nil {
  6059. input = &DeleteLaunchTemplateVersionsInput{}
  6060. }
  6061. output = &DeleteLaunchTemplateVersionsOutput{}
  6062. req = c.newRequest(op, input, output)
  6063. return
  6064. }
  6065. // DeleteLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
  6066. //
  6067. // Deletes one or more versions of a launch template. You cannot delete the
  6068. // default version of a launch template; you must first assign a different version
  6069. // as the default. If the default version is the only version for the launch
  6070. // template, you must delete the entire launch template using DeleteLaunchTemplate.
  6071. //
  6072. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6073. // with awserr.Error's Code and Message methods to get detailed information about
  6074. // the error.
  6075. //
  6076. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6077. // API operation DeleteLaunchTemplateVersions for usage and error information.
  6078. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
  6079. func (c *EC2) DeleteLaunchTemplateVersions(input *DeleteLaunchTemplateVersionsInput) (*DeleteLaunchTemplateVersionsOutput, error) {
  6080. req, out := c.DeleteLaunchTemplateVersionsRequest(input)
  6081. return out, req.Send()
  6082. }
  6083. // DeleteLaunchTemplateVersionsWithContext is the same as DeleteLaunchTemplateVersions with the addition of
  6084. // the ability to pass a context and additional request options.
  6085. //
  6086. // See DeleteLaunchTemplateVersions for details on how to use this API operation.
  6087. //
  6088. // The context must be non-nil and will be used for request cancellation. If
  6089. // the context is nil a panic will occur. In the future the SDK may create
  6090. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6091. // for more information on using Contexts.
  6092. func (c *EC2) DeleteLaunchTemplateVersionsWithContext(ctx aws.Context, input *DeleteLaunchTemplateVersionsInput, opts ...request.Option) (*DeleteLaunchTemplateVersionsOutput, error) {
  6093. req, out := c.DeleteLaunchTemplateVersionsRequest(input)
  6094. req.SetContext(ctx)
  6095. req.ApplyOptions(opts...)
  6096. return out, req.Send()
  6097. }
  6098. const opDeleteNatGateway = "DeleteNatGateway"
  6099. // DeleteNatGatewayRequest generates a "aws/request.Request" representing the
  6100. // client's request for the DeleteNatGateway operation. The "output" return
  6101. // value will be populated with the request's response once the request completes
  6102. // successfuly.
  6103. //
  6104. // Use "Send" method on the returned Request to send the API call to the service.
  6105. // the "output" return value is not valid until after Send returns without error.
  6106. //
  6107. // See DeleteNatGateway for more information on using the DeleteNatGateway
  6108. // API call, and error handling.
  6109. //
  6110. // This method is useful when you want to inject custom logic or configuration
  6111. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6112. //
  6113. //
  6114. // // Example sending a request using the DeleteNatGatewayRequest method.
  6115. // req, resp := client.DeleteNatGatewayRequest(params)
  6116. //
  6117. // err := req.Send()
  6118. // if err == nil { // resp is now filled
  6119. // fmt.Println(resp)
  6120. // }
  6121. //
  6122. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
  6123. func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
  6124. op := &request.Operation{
  6125. Name: opDeleteNatGateway,
  6126. HTTPMethod: "POST",
  6127. HTTPPath: "/",
  6128. }
  6129. if input == nil {
  6130. input = &DeleteNatGatewayInput{}
  6131. }
  6132. output = &DeleteNatGatewayOutput{}
  6133. req = c.newRequest(op, input, output)
  6134. return
  6135. }
  6136. // DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
  6137. //
  6138. // Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its
  6139. // Elastic IP address, but does not release the address from your account. Deleting
  6140. // a NAT gateway does not delete any NAT gateway routes in your route tables.
  6141. //
  6142. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6143. // with awserr.Error's Code and Message methods to get detailed information about
  6144. // the error.
  6145. //
  6146. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6147. // API operation DeleteNatGateway for usage and error information.
  6148. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
  6149. func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
  6150. req, out := c.DeleteNatGatewayRequest(input)
  6151. return out, req.Send()
  6152. }
  6153. // DeleteNatGatewayWithContext is the same as DeleteNatGateway with the addition of
  6154. // the ability to pass a context and additional request options.
  6155. //
  6156. // See DeleteNatGateway for details on how to use this API operation.
  6157. //
  6158. // The context must be non-nil and will be used for request cancellation. If
  6159. // the context is nil a panic will occur. In the future the SDK may create
  6160. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6161. // for more information on using Contexts.
  6162. func (c *EC2) DeleteNatGatewayWithContext(ctx aws.Context, input *DeleteNatGatewayInput, opts ...request.Option) (*DeleteNatGatewayOutput, error) {
  6163. req, out := c.DeleteNatGatewayRequest(input)
  6164. req.SetContext(ctx)
  6165. req.ApplyOptions(opts...)
  6166. return out, req.Send()
  6167. }
  6168. const opDeleteNetworkAcl = "DeleteNetworkAcl"
  6169. // DeleteNetworkAclRequest generates a "aws/request.Request" representing the
  6170. // client's request for the DeleteNetworkAcl operation. The "output" return
  6171. // value will be populated with the request's response once the request completes
  6172. // successfuly.
  6173. //
  6174. // Use "Send" method on the returned Request to send the API call to the service.
  6175. // the "output" return value is not valid until after Send returns without error.
  6176. //
  6177. // See DeleteNetworkAcl for more information on using the DeleteNetworkAcl
  6178. // API call, and error handling.
  6179. //
  6180. // This method is useful when you want to inject custom logic or configuration
  6181. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6182. //
  6183. //
  6184. // // Example sending a request using the DeleteNetworkAclRequest method.
  6185. // req, resp := client.DeleteNetworkAclRequest(params)
  6186. //
  6187. // err := req.Send()
  6188. // if err == nil { // resp is now filled
  6189. // fmt.Println(resp)
  6190. // }
  6191. //
  6192. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
  6193. func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
  6194. op := &request.Operation{
  6195. Name: opDeleteNetworkAcl,
  6196. HTTPMethod: "POST",
  6197. HTTPPath: "/",
  6198. }
  6199. if input == nil {
  6200. input = &DeleteNetworkAclInput{}
  6201. }
  6202. output = &DeleteNetworkAclOutput{}
  6203. req = c.newRequest(op, input, output)
  6204. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6205. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6206. return
  6207. }
  6208. // DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
  6209. //
  6210. // Deletes the specified network ACL. You can't delete the ACL if it's associated
  6211. // with any subnets. You can't delete the default network ACL.
  6212. //
  6213. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6214. // with awserr.Error's Code and Message methods to get detailed information about
  6215. // the error.
  6216. //
  6217. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6218. // API operation DeleteNetworkAcl for usage and error information.
  6219. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
  6220. func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
  6221. req, out := c.DeleteNetworkAclRequest(input)
  6222. return out, req.Send()
  6223. }
  6224. // DeleteNetworkAclWithContext is the same as DeleteNetworkAcl with the addition of
  6225. // the ability to pass a context and additional request options.
  6226. //
  6227. // See DeleteNetworkAcl for details on how to use this API operation.
  6228. //
  6229. // The context must be non-nil and will be used for request cancellation. If
  6230. // the context is nil a panic will occur. In the future the SDK may create
  6231. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6232. // for more information on using Contexts.
  6233. func (c *EC2) DeleteNetworkAclWithContext(ctx aws.Context, input *DeleteNetworkAclInput, opts ...request.Option) (*DeleteNetworkAclOutput, error) {
  6234. req, out := c.DeleteNetworkAclRequest(input)
  6235. req.SetContext(ctx)
  6236. req.ApplyOptions(opts...)
  6237. return out, req.Send()
  6238. }
  6239. const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
  6240. // DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
  6241. // client's request for the DeleteNetworkAclEntry operation. The "output" return
  6242. // value will be populated with the request's response once the request completes
  6243. // successfuly.
  6244. //
  6245. // Use "Send" method on the returned Request to send the API call to the service.
  6246. // the "output" return value is not valid until after Send returns without error.
  6247. //
  6248. // See DeleteNetworkAclEntry for more information on using the DeleteNetworkAclEntry
  6249. // API call, and error handling.
  6250. //
  6251. // This method is useful when you want to inject custom logic or configuration
  6252. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6253. //
  6254. //
  6255. // // Example sending a request using the DeleteNetworkAclEntryRequest method.
  6256. // req, resp := client.DeleteNetworkAclEntryRequest(params)
  6257. //
  6258. // err := req.Send()
  6259. // if err == nil { // resp is now filled
  6260. // fmt.Println(resp)
  6261. // }
  6262. //
  6263. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
  6264. func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
  6265. op := &request.Operation{
  6266. Name: opDeleteNetworkAclEntry,
  6267. HTTPMethod: "POST",
  6268. HTTPPath: "/",
  6269. }
  6270. if input == nil {
  6271. input = &DeleteNetworkAclEntryInput{}
  6272. }
  6273. output = &DeleteNetworkAclEntryOutput{}
  6274. req = c.newRequest(op, input, output)
  6275. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6276. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6277. return
  6278. }
  6279. // DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  6280. //
  6281. // Deletes the specified ingress or egress entry (rule) from the specified network
  6282. // ACL.
  6283. //
  6284. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6285. // with awserr.Error's Code and Message methods to get detailed information about
  6286. // the error.
  6287. //
  6288. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6289. // API operation DeleteNetworkAclEntry for usage and error information.
  6290. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
  6291. func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
  6292. req, out := c.DeleteNetworkAclEntryRequest(input)
  6293. return out, req.Send()
  6294. }
  6295. // DeleteNetworkAclEntryWithContext is the same as DeleteNetworkAclEntry with the addition of
  6296. // the ability to pass a context and additional request options.
  6297. //
  6298. // See DeleteNetworkAclEntry for details on how to use this API operation.
  6299. //
  6300. // The context must be non-nil and will be used for request cancellation. If
  6301. // the context is nil a panic will occur. In the future the SDK may create
  6302. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6303. // for more information on using Contexts.
  6304. func (c *EC2) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNetworkAclEntryInput, opts ...request.Option) (*DeleteNetworkAclEntryOutput, error) {
  6305. req, out := c.DeleteNetworkAclEntryRequest(input)
  6306. req.SetContext(ctx)
  6307. req.ApplyOptions(opts...)
  6308. return out, req.Send()
  6309. }
  6310. const opDeleteNetworkInterface = "DeleteNetworkInterface"
  6311. // DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
  6312. // client's request for the DeleteNetworkInterface operation. The "output" return
  6313. // value will be populated with the request's response once the request completes
  6314. // successfuly.
  6315. //
  6316. // Use "Send" method on the returned Request to send the API call to the service.
  6317. // the "output" return value is not valid until after Send returns without error.
  6318. //
  6319. // See DeleteNetworkInterface for more information on using the DeleteNetworkInterface
  6320. // API call, and error handling.
  6321. //
  6322. // This method is useful when you want to inject custom logic or configuration
  6323. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6324. //
  6325. //
  6326. // // Example sending a request using the DeleteNetworkInterfaceRequest method.
  6327. // req, resp := client.DeleteNetworkInterfaceRequest(params)
  6328. //
  6329. // err := req.Send()
  6330. // if err == nil { // resp is now filled
  6331. // fmt.Println(resp)
  6332. // }
  6333. //
  6334. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
  6335. func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
  6336. op := &request.Operation{
  6337. Name: opDeleteNetworkInterface,
  6338. HTTPMethod: "POST",
  6339. HTTPPath: "/",
  6340. }
  6341. if input == nil {
  6342. input = &DeleteNetworkInterfaceInput{}
  6343. }
  6344. output = &DeleteNetworkInterfaceOutput{}
  6345. req = c.newRequest(op, input, output)
  6346. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6347. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6348. return
  6349. }
  6350. // DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
  6351. //
  6352. // Deletes the specified network interface. You must detach the network interface
  6353. // before you can delete it.
  6354. //
  6355. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6356. // with awserr.Error's Code and Message methods to get detailed information about
  6357. // the error.
  6358. //
  6359. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6360. // API operation DeleteNetworkInterface for usage and error information.
  6361. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
  6362. func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
  6363. req, out := c.DeleteNetworkInterfaceRequest(input)
  6364. return out, req.Send()
  6365. }
  6366. // DeleteNetworkInterfaceWithContext is the same as DeleteNetworkInterface with the addition of
  6367. // the ability to pass a context and additional request options.
  6368. //
  6369. // See DeleteNetworkInterface for details on how to use this API operation.
  6370. //
  6371. // The context must be non-nil and will be used for request cancellation. If
  6372. // the context is nil a panic will occur. In the future the SDK may create
  6373. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6374. // for more information on using Contexts.
  6375. func (c *EC2) DeleteNetworkInterfaceWithContext(ctx aws.Context, input *DeleteNetworkInterfaceInput, opts ...request.Option) (*DeleteNetworkInterfaceOutput, error) {
  6376. req, out := c.DeleteNetworkInterfaceRequest(input)
  6377. req.SetContext(ctx)
  6378. req.ApplyOptions(opts...)
  6379. return out, req.Send()
  6380. }
  6381. const opDeleteNetworkInterfacePermission = "DeleteNetworkInterfacePermission"
  6382. // DeleteNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
  6383. // client's request for the DeleteNetworkInterfacePermission operation. The "output" return
  6384. // value will be populated with the request's response once the request completes
  6385. // successfuly.
  6386. //
  6387. // Use "Send" method on the returned Request to send the API call to the service.
  6388. // the "output" return value is not valid until after Send returns without error.
  6389. //
  6390. // See DeleteNetworkInterfacePermission for more information on using the DeleteNetworkInterfacePermission
  6391. // API call, and error handling.
  6392. //
  6393. // This method is useful when you want to inject custom logic or configuration
  6394. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6395. //
  6396. //
  6397. // // Example sending a request using the DeleteNetworkInterfacePermissionRequest method.
  6398. // req, resp := client.DeleteNetworkInterfacePermissionRequest(params)
  6399. //
  6400. // err := req.Send()
  6401. // if err == nil { // resp is now filled
  6402. // fmt.Println(resp)
  6403. // }
  6404. //
  6405. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
  6406. func (c *EC2) DeleteNetworkInterfacePermissionRequest(input *DeleteNetworkInterfacePermissionInput) (req *request.Request, output *DeleteNetworkInterfacePermissionOutput) {
  6407. op := &request.Operation{
  6408. Name: opDeleteNetworkInterfacePermission,
  6409. HTTPMethod: "POST",
  6410. HTTPPath: "/",
  6411. }
  6412. if input == nil {
  6413. input = &DeleteNetworkInterfacePermissionInput{}
  6414. }
  6415. output = &DeleteNetworkInterfacePermissionOutput{}
  6416. req = c.newRequest(op, input, output)
  6417. return
  6418. }
  6419. // DeleteNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
  6420. //
  6421. // Deletes a permission for a network interface. By default, you cannot delete
  6422. // the permission if the account for which you're removing the permission has
  6423. // attached the network interface to an instance. However, you can force delete
  6424. // the permission, regardless of any attachment.
  6425. //
  6426. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6427. // with awserr.Error's Code and Message methods to get detailed information about
  6428. // the error.
  6429. //
  6430. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6431. // API operation DeleteNetworkInterfacePermission for usage and error information.
  6432. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
  6433. func (c *EC2) DeleteNetworkInterfacePermission(input *DeleteNetworkInterfacePermissionInput) (*DeleteNetworkInterfacePermissionOutput, error) {
  6434. req, out := c.DeleteNetworkInterfacePermissionRequest(input)
  6435. return out, req.Send()
  6436. }
  6437. // DeleteNetworkInterfacePermissionWithContext is the same as DeleteNetworkInterfacePermission with the addition of
  6438. // the ability to pass a context and additional request options.
  6439. //
  6440. // See DeleteNetworkInterfacePermission for details on how to use this API operation.
  6441. //
  6442. // The context must be non-nil and will be used for request cancellation. If
  6443. // the context is nil a panic will occur. In the future the SDK may create
  6444. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6445. // for more information on using Contexts.
  6446. func (c *EC2) DeleteNetworkInterfacePermissionWithContext(ctx aws.Context, input *DeleteNetworkInterfacePermissionInput, opts ...request.Option) (*DeleteNetworkInterfacePermissionOutput, error) {
  6447. req, out := c.DeleteNetworkInterfacePermissionRequest(input)
  6448. req.SetContext(ctx)
  6449. req.ApplyOptions(opts...)
  6450. return out, req.Send()
  6451. }
  6452. const opDeletePlacementGroup = "DeletePlacementGroup"
  6453. // DeletePlacementGroupRequest generates a "aws/request.Request" representing the
  6454. // client's request for the DeletePlacementGroup operation. The "output" return
  6455. // value will be populated with the request's response once the request completes
  6456. // successfuly.
  6457. //
  6458. // Use "Send" method on the returned Request to send the API call to the service.
  6459. // the "output" return value is not valid until after Send returns without error.
  6460. //
  6461. // See DeletePlacementGroup for more information on using the DeletePlacementGroup
  6462. // API call, and error handling.
  6463. //
  6464. // This method is useful when you want to inject custom logic or configuration
  6465. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6466. //
  6467. //
  6468. // // Example sending a request using the DeletePlacementGroupRequest method.
  6469. // req, resp := client.DeletePlacementGroupRequest(params)
  6470. //
  6471. // err := req.Send()
  6472. // if err == nil { // resp is now filled
  6473. // fmt.Println(resp)
  6474. // }
  6475. //
  6476. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
  6477. func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
  6478. op := &request.Operation{
  6479. Name: opDeletePlacementGroup,
  6480. HTTPMethod: "POST",
  6481. HTTPPath: "/",
  6482. }
  6483. if input == nil {
  6484. input = &DeletePlacementGroupInput{}
  6485. }
  6486. output = &DeletePlacementGroupOutput{}
  6487. req = c.newRequest(op, input, output)
  6488. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6489. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6490. return
  6491. }
  6492. // DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
  6493. //
  6494. // Deletes the specified placement group. You must terminate all instances in
  6495. // the placement group before you can delete the placement group. For more information,
  6496. // see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
  6497. // in the Amazon Elastic Compute Cloud User Guide.
  6498. //
  6499. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6500. // with awserr.Error's Code and Message methods to get detailed information about
  6501. // the error.
  6502. //
  6503. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6504. // API operation DeletePlacementGroup for usage and error information.
  6505. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
  6506. func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
  6507. req, out := c.DeletePlacementGroupRequest(input)
  6508. return out, req.Send()
  6509. }
  6510. // DeletePlacementGroupWithContext is the same as DeletePlacementGroup with the addition of
  6511. // the ability to pass a context and additional request options.
  6512. //
  6513. // See DeletePlacementGroup for details on how to use this API operation.
  6514. //
  6515. // The context must be non-nil and will be used for request cancellation. If
  6516. // the context is nil a panic will occur. In the future the SDK may create
  6517. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6518. // for more information on using Contexts.
  6519. func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlacementGroupInput, opts ...request.Option) (*DeletePlacementGroupOutput, error) {
  6520. req, out := c.DeletePlacementGroupRequest(input)
  6521. req.SetContext(ctx)
  6522. req.ApplyOptions(opts...)
  6523. return out, req.Send()
  6524. }
  6525. const opDeleteRoute = "DeleteRoute"
  6526. // DeleteRouteRequest generates a "aws/request.Request" representing the
  6527. // client's request for the DeleteRoute operation. The "output" return
  6528. // value will be populated with the request's response once the request completes
  6529. // successfuly.
  6530. //
  6531. // Use "Send" method on the returned Request to send the API call to the service.
  6532. // the "output" return value is not valid until after Send returns without error.
  6533. //
  6534. // See DeleteRoute for more information on using the DeleteRoute
  6535. // API call, and error handling.
  6536. //
  6537. // This method is useful when you want to inject custom logic or configuration
  6538. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6539. //
  6540. //
  6541. // // Example sending a request using the DeleteRouteRequest method.
  6542. // req, resp := client.DeleteRouteRequest(params)
  6543. //
  6544. // err := req.Send()
  6545. // if err == nil { // resp is now filled
  6546. // fmt.Println(resp)
  6547. // }
  6548. //
  6549. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
  6550. func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
  6551. op := &request.Operation{
  6552. Name: opDeleteRoute,
  6553. HTTPMethod: "POST",
  6554. HTTPPath: "/",
  6555. }
  6556. if input == nil {
  6557. input = &DeleteRouteInput{}
  6558. }
  6559. output = &DeleteRouteOutput{}
  6560. req = c.newRequest(op, input, output)
  6561. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6562. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6563. return
  6564. }
  6565. // DeleteRoute API operation for Amazon Elastic Compute Cloud.
  6566. //
  6567. // Deletes the specified route from the specified route table.
  6568. //
  6569. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6570. // with awserr.Error's Code and Message methods to get detailed information about
  6571. // the error.
  6572. //
  6573. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6574. // API operation DeleteRoute for usage and error information.
  6575. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
  6576. func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
  6577. req, out := c.DeleteRouteRequest(input)
  6578. return out, req.Send()
  6579. }
  6580. // DeleteRouteWithContext is the same as DeleteRoute with the addition of
  6581. // the ability to pass a context and additional request options.
  6582. //
  6583. // See DeleteRoute for details on how to use this API operation.
  6584. //
  6585. // The context must be non-nil and will be used for request cancellation. If
  6586. // the context is nil a panic will occur. In the future the SDK may create
  6587. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6588. // for more information on using Contexts.
  6589. func (c *EC2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
  6590. req, out := c.DeleteRouteRequest(input)
  6591. req.SetContext(ctx)
  6592. req.ApplyOptions(opts...)
  6593. return out, req.Send()
  6594. }
  6595. const opDeleteRouteTable = "DeleteRouteTable"
  6596. // DeleteRouteTableRequest generates a "aws/request.Request" representing the
  6597. // client's request for the DeleteRouteTable operation. The "output" return
  6598. // value will be populated with the request's response once the request completes
  6599. // successfuly.
  6600. //
  6601. // Use "Send" method on the returned Request to send the API call to the service.
  6602. // the "output" return value is not valid until after Send returns without error.
  6603. //
  6604. // See DeleteRouteTable for more information on using the DeleteRouteTable
  6605. // API call, and error handling.
  6606. //
  6607. // This method is useful when you want to inject custom logic or configuration
  6608. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6609. //
  6610. //
  6611. // // Example sending a request using the DeleteRouteTableRequest method.
  6612. // req, resp := client.DeleteRouteTableRequest(params)
  6613. //
  6614. // err := req.Send()
  6615. // if err == nil { // resp is now filled
  6616. // fmt.Println(resp)
  6617. // }
  6618. //
  6619. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
  6620. func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
  6621. op := &request.Operation{
  6622. Name: opDeleteRouteTable,
  6623. HTTPMethod: "POST",
  6624. HTTPPath: "/",
  6625. }
  6626. if input == nil {
  6627. input = &DeleteRouteTableInput{}
  6628. }
  6629. output = &DeleteRouteTableOutput{}
  6630. req = c.newRequest(op, input, output)
  6631. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6632. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6633. return
  6634. }
  6635. // DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
  6636. //
  6637. // Deletes the specified route table. You must disassociate the route table
  6638. // from any subnets before you can delete it. You can't delete the main route
  6639. // table.
  6640. //
  6641. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6642. // with awserr.Error's Code and Message methods to get detailed information about
  6643. // the error.
  6644. //
  6645. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6646. // API operation DeleteRouteTable for usage and error information.
  6647. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
  6648. func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
  6649. req, out := c.DeleteRouteTableRequest(input)
  6650. return out, req.Send()
  6651. }
  6652. // DeleteRouteTableWithContext is the same as DeleteRouteTable with the addition of
  6653. // the ability to pass a context and additional request options.
  6654. //
  6655. // See DeleteRouteTable for details on how to use this API operation.
  6656. //
  6657. // The context must be non-nil and will be used for request cancellation. If
  6658. // the context is nil a panic will occur. In the future the SDK may create
  6659. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6660. // for more information on using Contexts.
  6661. func (c *EC2) DeleteRouteTableWithContext(ctx aws.Context, input *DeleteRouteTableInput, opts ...request.Option) (*DeleteRouteTableOutput, error) {
  6662. req, out := c.DeleteRouteTableRequest(input)
  6663. req.SetContext(ctx)
  6664. req.ApplyOptions(opts...)
  6665. return out, req.Send()
  6666. }
  6667. const opDeleteSecurityGroup = "DeleteSecurityGroup"
  6668. // DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
  6669. // client's request for the DeleteSecurityGroup operation. The "output" return
  6670. // value will be populated with the request's response once the request completes
  6671. // successfuly.
  6672. //
  6673. // Use "Send" method on the returned Request to send the API call to the service.
  6674. // the "output" return value is not valid until after Send returns without error.
  6675. //
  6676. // See DeleteSecurityGroup for more information on using the DeleteSecurityGroup
  6677. // API call, and error handling.
  6678. //
  6679. // This method is useful when you want to inject custom logic or configuration
  6680. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6681. //
  6682. //
  6683. // // Example sending a request using the DeleteSecurityGroupRequest method.
  6684. // req, resp := client.DeleteSecurityGroupRequest(params)
  6685. //
  6686. // err := req.Send()
  6687. // if err == nil { // resp is now filled
  6688. // fmt.Println(resp)
  6689. // }
  6690. //
  6691. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
  6692. func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
  6693. op := &request.Operation{
  6694. Name: opDeleteSecurityGroup,
  6695. HTTPMethod: "POST",
  6696. HTTPPath: "/",
  6697. }
  6698. if input == nil {
  6699. input = &DeleteSecurityGroupInput{}
  6700. }
  6701. output = &DeleteSecurityGroupOutput{}
  6702. req = c.newRequest(op, input, output)
  6703. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6704. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6705. return
  6706. }
  6707. // DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
  6708. //
  6709. // Deletes a security group.
  6710. //
  6711. // If you attempt to delete a security group that is associated with an instance,
  6712. // or is referenced by another security group, the operation fails with InvalidGroup.InUse
  6713. // in EC2-Classic or DependencyViolation in EC2-VPC.
  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 DeleteSecurityGroup for usage and error information.
  6721. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
  6722. func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
  6723. req, out := c.DeleteSecurityGroupRequest(input)
  6724. return out, req.Send()
  6725. }
  6726. // DeleteSecurityGroupWithContext is the same as DeleteSecurityGroup with the addition of
  6727. // the ability to pass a context and additional request options.
  6728. //
  6729. // See DeleteSecurityGroup for details on how to use this API operation.
  6730. //
  6731. // The context must be non-nil and will be used for request cancellation. If
  6732. // the context is nil a panic will occur. In the future the SDK may create
  6733. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6734. // for more information on using Contexts.
  6735. func (c *EC2) DeleteSecurityGroupWithContext(ctx aws.Context, input *DeleteSecurityGroupInput, opts ...request.Option) (*DeleteSecurityGroupOutput, error) {
  6736. req, out := c.DeleteSecurityGroupRequest(input)
  6737. req.SetContext(ctx)
  6738. req.ApplyOptions(opts...)
  6739. return out, req.Send()
  6740. }
  6741. const opDeleteSnapshot = "DeleteSnapshot"
  6742. // DeleteSnapshotRequest generates a "aws/request.Request" representing the
  6743. // client's request for the DeleteSnapshot operation. The "output" return
  6744. // value will be populated with the request's response once the request completes
  6745. // successfuly.
  6746. //
  6747. // Use "Send" method on the returned Request to send the API call to the service.
  6748. // the "output" return value is not valid until after Send returns without error.
  6749. //
  6750. // See DeleteSnapshot for more information on using the DeleteSnapshot
  6751. // API call, and error handling.
  6752. //
  6753. // This method is useful when you want to inject custom logic or configuration
  6754. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6755. //
  6756. //
  6757. // // Example sending a request using the DeleteSnapshotRequest method.
  6758. // req, resp := client.DeleteSnapshotRequest(params)
  6759. //
  6760. // err := req.Send()
  6761. // if err == nil { // resp is now filled
  6762. // fmt.Println(resp)
  6763. // }
  6764. //
  6765. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
  6766. func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
  6767. op := &request.Operation{
  6768. Name: opDeleteSnapshot,
  6769. HTTPMethod: "POST",
  6770. HTTPPath: "/",
  6771. }
  6772. if input == nil {
  6773. input = &DeleteSnapshotInput{}
  6774. }
  6775. output = &DeleteSnapshotOutput{}
  6776. req = c.newRequest(op, input, output)
  6777. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6778. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6779. return
  6780. }
  6781. // DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
  6782. //
  6783. // Deletes the specified snapshot.
  6784. //
  6785. // When you make periodic snapshots of a volume, the snapshots are incremental,
  6786. // and only the blocks on the device that have changed since your last snapshot
  6787. // are saved in the new snapshot. When you delete a snapshot, only the data
  6788. // not needed for any other snapshot is removed. So regardless of which prior
  6789. // snapshots have been deleted, all active snapshots will have access to all
  6790. // the information needed to restore the volume.
  6791. //
  6792. // You cannot delete a snapshot of the root device of an EBS volume used by
  6793. // a registered AMI. You must first de-register the AMI before you can delete
  6794. // the snapshot.
  6795. //
  6796. // For more information, see Deleting an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
  6797. // in the Amazon Elastic Compute Cloud User Guide.
  6798. //
  6799. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6800. // with awserr.Error's Code and Message methods to get detailed information about
  6801. // the error.
  6802. //
  6803. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6804. // API operation DeleteSnapshot for usage and error information.
  6805. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
  6806. func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
  6807. req, out := c.DeleteSnapshotRequest(input)
  6808. return out, req.Send()
  6809. }
  6810. // DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
  6811. // the ability to pass a context and additional request options.
  6812. //
  6813. // See DeleteSnapshot for details on how to use this API operation.
  6814. //
  6815. // The context must be non-nil and will be used for request cancellation. If
  6816. // the context is nil a panic will occur. In the future the SDK may create
  6817. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6818. // for more information on using Contexts.
  6819. func (c *EC2) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
  6820. req, out := c.DeleteSnapshotRequest(input)
  6821. req.SetContext(ctx)
  6822. req.ApplyOptions(opts...)
  6823. return out, req.Send()
  6824. }
  6825. const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
  6826. // DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  6827. // client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
  6828. // value will be populated with the request's response once the request completes
  6829. // successfuly.
  6830. //
  6831. // Use "Send" method on the returned Request to send the API call to the service.
  6832. // the "output" return value is not valid until after Send returns without error.
  6833. //
  6834. // See DeleteSpotDatafeedSubscription for more information on using the DeleteSpotDatafeedSubscription
  6835. // API call, and error handling.
  6836. //
  6837. // This method is useful when you want to inject custom logic or configuration
  6838. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6839. //
  6840. //
  6841. // // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
  6842. // req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
  6843. //
  6844. // err := req.Send()
  6845. // if err == nil { // resp is now filled
  6846. // fmt.Println(resp)
  6847. // }
  6848. //
  6849. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
  6850. func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
  6851. op := &request.Operation{
  6852. Name: opDeleteSpotDatafeedSubscription,
  6853. HTTPMethod: "POST",
  6854. HTTPPath: "/",
  6855. }
  6856. if input == nil {
  6857. input = &DeleteSpotDatafeedSubscriptionInput{}
  6858. }
  6859. output = &DeleteSpotDatafeedSubscriptionOutput{}
  6860. req = c.newRequest(op, input, output)
  6861. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6862. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6863. return
  6864. }
  6865. // DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  6866. //
  6867. // Deletes the data feed for Spot Instances.
  6868. //
  6869. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6870. // with awserr.Error's Code and Message methods to get detailed information about
  6871. // the error.
  6872. //
  6873. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6874. // API operation DeleteSpotDatafeedSubscription for usage and error information.
  6875. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
  6876. func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  6877. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  6878. return out, req.Send()
  6879. }
  6880. // DeleteSpotDatafeedSubscriptionWithContext is the same as DeleteSpotDatafeedSubscription with the addition of
  6881. // the ability to pass a context and additional request options.
  6882. //
  6883. // See DeleteSpotDatafeedSubscription for details on how to use this API operation.
  6884. //
  6885. // The context must be non-nil and will be used for request cancellation. If
  6886. // the context is nil a panic will occur. In the future the SDK may create
  6887. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6888. // for more information on using Contexts.
  6889. func (c *EC2) DeleteSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DeleteSpotDatafeedSubscriptionInput, opts ...request.Option) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  6890. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  6891. req.SetContext(ctx)
  6892. req.ApplyOptions(opts...)
  6893. return out, req.Send()
  6894. }
  6895. const opDeleteSubnet = "DeleteSubnet"
  6896. // DeleteSubnetRequest generates a "aws/request.Request" representing the
  6897. // client's request for the DeleteSubnet operation. The "output" return
  6898. // value will be populated with the request's response once the request completes
  6899. // successfuly.
  6900. //
  6901. // Use "Send" method on the returned Request to send the API call to the service.
  6902. // the "output" return value is not valid until after Send returns without error.
  6903. //
  6904. // See DeleteSubnet for more information on using the DeleteSubnet
  6905. // API call, and error handling.
  6906. //
  6907. // This method is useful when you want to inject custom logic or configuration
  6908. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6909. //
  6910. //
  6911. // // Example sending a request using the DeleteSubnetRequest method.
  6912. // req, resp := client.DeleteSubnetRequest(params)
  6913. //
  6914. // err := req.Send()
  6915. // if err == nil { // resp is now filled
  6916. // fmt.Println(resp)
  6917. // }
  6918. //
  6919. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
  6920. func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
  6921. op := &request.Operation{
  6922. Name: opDeleteSubnet,
  6923. HTTPMethod: "POST",
  6924. HTTPPath: "/",
  6925. }
  6926. if input == nil {
  6927. input = &DeleteSubnetInput{}
  6928. }
  6929. output = &DeleteSubnetOutput{}
  6930. req = c.newRequest(op, input, output)
  6931. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6932. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6933. return
  6934. }
  6935. // DeleteSubnet API operation for Amazon Elastic Compute Cloud.
  6936. //
  6937. // Deletes the specified subnet. You must terminate all running instances in
  6938. // the subnet before you can delete the subnet.
  6939. //
  6940. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6941. // with awserr.Error's Code and Message methods to get detailed information about
  6942. // the error.
  6943. //
  6944. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6945. // API operation DeleteSubnet for usage and error information.
  6946. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
  6947. func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
  6948. req, out := c.DeleteSubnetRequest(input)
  6949. return out, req.Send()
  6950. }
  6951. // DeleteSubnetWithContext is the same as DeleteSubnet with the addition of
  6952. // the ability to pass a context and additional request options.
  6953. //
  6954. // See DeleteSubnet for details on how to use this API operation.
  6955. //
  6956. // The context must be non-nil and will be used for request cancellation. If
  6957. // the context is nil a panic will occur. In the future the SDK may create
  6958. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6959. // for more information on using Contexts.
  6960. func (c *EC2) DeleteSubnetWithContext(ctx aws.Context, input *DeleteSubnetInput, opts ...request.Option) (*DeleteSubnetOutput, error) {
  6961. req, out := c.DeleteSubnetRequest(input)
  6962. req.SetContext(ctx)
  6963. req.ApplyOptions(opts...)
  6964. return out, req.Send()
  6965. }
  6966. const opDeleteTags = "DeleteTags"
  6967. // DeleteTagsRequest generates a "aws/request.Request" representing the
  6968. // client's request for the DeleteTags operation. The "output" return
  6969. // value will be populated with the request's response once the request completes
  6970. // successfuly.
  6971. //
  6972. // Use "Send" method on the returned Request to send the API call to the service.
  6973. // the "output" return value is not valid until after Send returns without error.
  6974. //
  6975. // See DeleteTags for more information on using the DeleteTags
  6976. // API call, and error handling.
  6977. //
  6978. // This method is useful when you want to inject custom logic or configuration
  6979. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6980. //
  6981. //
  6982. // // Example sending a request using the DeleteTagsRequest method.
  6983. // req, resp := client.DeleteTagsRequest(params)
  6984. //
  6985. // err := req.Send()
  6986. // if err == nil { // resp is now filled
  6987. // fmt.Println(resp)
  6988. // }
  6989. //
  6990. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
  6991. func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  6992. op := &request.Operation{
  6993. Name: opDeleteTags,
  6994. HTTPMethod: "POST",
  6995. HTTPPath: "/",
  6996. }
  6997. if input == nil {
  6998. input = &DeleteTagsInput{}
  6999. }
  7000. output = &DeleteTagsOutput{}
  7001. req = c.newRequest(op, input, output)
  7002. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  7003. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7004. return
  7005. }
  7006. // DeleteTags API operation for Amazon Elastic Compute Cloud.
  7007. //
  7008. // Deletes the specified set of tags from the specified set of resources.
  7009. //
  7010. // To list the current tags, use DescribeTags. For more information about tags,
  7011. // see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  7012. // in the Amazon Elastic Compute Cloud User Guide.
  7013. //
  7014. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7015. // with awserr.Error's Code and Message methods to get detailed information about
  7016. // the error.
  7017. //
  7018. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7019. // API operation DeleteTags for usage and error information.
  7020. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
  7021. func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  7022. req, out := c.DeleteTagsRequest(input)
  7023. return out, req.Send()
  7024. }
  7025. // DeleteTagsWithContext is the same as DeleteTags with the addition of
  7026. // the ability to pass a context and additional request options.
  7027. //
  7028. // See DeleteTags for details on how to use this API operation.
  7029. //
  7030. // The context must be non-nil and will be used for request cancellation. If
  7031. // the context is nil a panic will occur. In the future the SDK may create
  7032. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7033. // for more information on using Contexts.
  7034. func (c *EC2) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
  7035. req, out := c.DeleteTagsRequest(input)
  7036. req.SetContext(ctx)
  7037. req.ApplyOptions(opts...)
  7038. return out, req.Send()
  7039. }
  7040. const opDeleteVolume = "DeleteVolume"
  7041. // DeleteVolumeRequest generates a "aws/request.Request" representing the
  7042. // client's request for the DeleteVolume operation. The "output" return
  7043. // value will be populated with the request's response once the request completes
  7044. // successfuly.
  7045. //
  7046. // Use "Send" method on the returned Request to send the API call to the service.
  7047. // the "output" return value is not valid until after Send returns without error.
  7048. //
  7049. // See DeleteVolume for more information on using the DeleteVolume
  7050. // API call, and error handling.
  7051. //
  7052. // This method is useful when you want to inject custom logic or configuration
  7053. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7054. //
  7055. //
  7056. // // Example sending a request using the DeleteVolumeRequest method.
  7057. // req, resp := client.DeleteVolumeRequest(params)
  7058. //
  7059. // err := req.Send()
  7060. // if err == nil { // resp is now filled
  7061. // fmt.Println(resp)
  7062. // }
  7063. //
  7064. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
  7065. func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
  7066. op := &request.Operation{
  7067. Name: opDeleteVolume,
  7068. HTTPMethod: "POST",
  7069. HTTPPath: "/",
  7070. }
  7071. if input == nil {
  7072. input = &DeleteVolumeInput{}
  7073. }
  7074. output = &DeleteVolumeOutput{}
  7075. req = c.newRequest(op, input, output)
  7076. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  7077. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7078. return
  7079. }
  7080. // DeleteVolume API operation for Amazon Elastic Compute Cloud.
  7081. //
  7082. // Deletes the specified EBS volume. The volume must be in the available state
  7083. // (not attached to an instance).
  7084. //
  7085. // The volume may remain in the deleting state for several minutes.
  7086. //
  7087. // For more information, see Deleting an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
  7088. // in the Amazon Elastic Compute Cloud User Guide.
  7089. //
  7090. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7091. // with awserr.Error's Code and Message methods to get detailed information about
  7092. // the error.
  7093. //
  7094. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7095. // API operation DeleteVolume for usage and error information.
  7096. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
  7097. func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
  7098. req, out := c.DeleteVolumeRequest(input)
  7099. return out, req.Send()
  7100. }
  7101. // DeleteVolumeWithContext is the same as DeleteVolume with the addition of
  7102. // the ability to pass a context and additional request options.
  7103. //
  7104. // See DeleteVolume for details on how to use this API operation.
  7105. //
  7106. // The context must be non-nil and will be used for request cancellation. If
  7107. // the context is nil a panic will occur. In the future the SDK may create
  7108. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7109. // for more information on using Contexts.
  7110. func (c *EC2) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
  7111. req, out := c.DeleteVolumeRequest(input)
  7112. req.SetContext(ctx)
  7113. req.ApplyOptions(opts...)
  7114. return out, req.Send()
  7115. }
  7116. const opDeleteVpc = "DeleteVpc"
  7117. // DeleteVpcRequest generates a "aws/request.Request" representing the
  7118. // client's request for the DeleteVpc operation. The "output" return
  7119. // value will be populated with the request's response once the request completes
  7120. // successfuly.
  7121. //
  7122. // Use "Send" method on the returned Request to send the API call to the service.
  7123. // the "output" return value is not valid until after Send returns without error.
  7124. //
  7125. // See DeleteVpc for more information on using the DeleteVpc
  7126. // API call, and error handling.
  7127. //
  7128. // This method is useful when you want to inject custom logic or configuration
  7129. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7130. //
  7131. //
  7132. // // Example sending a request using the DeleteVpcRequest method.
  7133. // req, resp := client.DeleteVpcRequest(params)
  7134. //
  7135. // err := req.Send()
  7136. // if err == nil { // resp is now filled
  7137. // fmt.Println(resp)
  7138. // }
  7139. //
  7140. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
  7141. func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
  7142. op := &request.Operation{
  7143. Name: opDeleteVpc,
  7144. HTTPMethod: "POST",
  7145. HTTPPath: "/",
  7146. }
  7147. if input == nil {
  7148. input = &DeleteVpcInput{}
  7149. }
  7150. output = &DeleteVpcOutput{}
  7151. req = c.newRequest(op, input, output)
  7152. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  7153. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7154. return
  7155. }
  7156. // DeleteVpc API operation for Amazon Elastic Compute Cloud.
  7157. //
  7158. // Deletes the specified VPC. You must detach or delete all gateways and resources
  7159. // that are associated with the VPC before you can delete it. For example, you
  7160. // must terminate all instances running in the VPC, delete all security groups
  7161. // associated with the VPC (except the default one), delete all route tables
  7162. // associated with the VPC (except the default one), and so on.
  7163. //
  7164. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7165. // with awserr.Error's Code and Message methods to get detailed information about
  7166. // the error.
  7167. //
  7168. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7169. // API operation DeleteVpc for usage and error information.
  7170. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
  7171. func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
  7172. req, out := c.DeleteVpcRequest(input)
  7173. return out, req.Send()
  7174. }
  7175. // DeleteVpcWithContext is the same as DeleteVpc with the addition of
  7176. // the ability to pass a context and additional request options.
  7177. //
  7178. // See DeleteVpc for details on how to use this API operation.
  7179. //
  7180. // The context must be non-nil and will be used for request cancellation. If
  7181. // the context is nil a panic will occur. In the future the SDK may create
  7182. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7183. // for more information on using Contexts.
  7184. func (c *EC2) DeleteVpcWithContext(ctx aws.Context, input *DeleteVpcInput, opts ...request.Option) (*DeleteVpcOutput, error) {
  7185. req, out := c.DeleteVpcRequest(input)
  7186. req.SetContext(ctx)
  7187. req.ApplyOptions(opts...)
  7188. return out, req.Send()
  7189. }
  7190. const opDeleteVpcEndpointConnectionNotifications = "DeleteVpcEndpointConnectionNotifications"
  7191. // DeleteVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
  7192. // client's request for the DeleteVpcEndpointConnectionNotifications operation. The "output" return
  7193. // value will be populated with the request's response once the request completes
  7194. // successfuly.
  7195. //
  7196. // Use "Send" method on the returned Request to send the API call to the service.
  7197. // the "output" return value is not valid until after Send returns without error.
  7198. //
  7199. // See DeleteVpcEndpointConnectionNotifications for more information on using the DeleteVpcEndpointConnectionNotifications
  7200. // API call, and error handling.
  7201. //
  7202. // This method is useful when you want to inject custom logic or configuration
  7203. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7204. //
  7205. //
  7206. // // Example sending a request using the DeleteVpcEndpointConnectionNotificationsRequest method.
  7207. // req, resp := client.DeleteVpcEndpointConnectionNotificationsRequest(params)
  7208. //
  7209. // err := req.Send()
  7210. // if err == nil { // resp is now filled
  7211. // fmt.Println(resp)
  7212. // }
  7213. //
  7214. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
  7215. func (c *EC2) DeleteVpcEndpointConnectionNotificationsRequest(input *DeleteVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DeleteVpcEndpointConnectionNotificationsOutput) {
  7216. op := &request.Operation{
  7217. Name: opDeleteVpcEndpointConnectionNotifications,
  7218. HTTPMethod: "POST",
  7219. HTTPPath: "/",
  7220. }
  7221. if input == nil {
  7222. input = &DeleteVpcEndpointConnectionNotificationsInput{}
  7223. }
  7224. output = &DeleteVpcEndpointConnectionNotificationsOutput{}
  7225. req = c.newRequest(op, input, output)
  7226. return
  7227. }
  7228. // DeleteVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
  7229. //
  7230. // Deletes one or more VPC endpoint connection notifications.
  7231. //
  7232. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7233. // with awserr.Error's Code and Message methods to get detailed information about
  7234. // the error.
  7235. //
  7236. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7237. // API operation DeleteVpcEndpointConnectionNotifications for usage and error information.
  7238. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
  7239. func (c *EC2) DeleteVpcEndpointConnectionNotifications(input *DeleteVpcEndpointConnectionNotificationsInput) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
  7240. req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
  7241. return out, req.Send()
  7242. }
  7243. // DeleteVpcEndpointConnectionNotificationsWithContext is the same as DeleteVpcEndpointConnectionNotifications with the addition of
  7244. // the ability to pass a context and additional request options.
  7245. //
  7246. // See DeleteVpcEndpointConnectionNotifications for details on how to use this API operation.
  7247. //
  7248. // The context must be non-nil and will be used for request cancellation. If
  7249. // the context is nil a panic will occur. In the future the SDK may create
  7250. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7251. // for more information on using Contexts.
  7252. func (c *EC2) DeleteVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DeleteVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
  7253. req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
  7254. req.SetContext(ctx)
  7255. req.ApplyOptions(opts...)
  7256. return out, req.Send()
  7257. }
  7258. const opDeleteVpcEndpointServiceConfigurations = "DeleteVpcEndpointServiceConfigurations"
  7259. // DeleteVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
  7260. // client's request for the DeleteVpcEndpointServiceConfigurations operation. The "output" return
  7261. // value will be populated with the request's response once the request completes
  7262. // successfuly.
  7263. //
  7264. // Use "Send" method on the returned Request to send the API call to the service.
  7265. // the "output" return value is not valid until after Send returns without error.
  7266. //
  7267. // See DeleteVpcEndpointServiceConfigurations for more information on using the DeleteVpcEndpointServiceConfigurations
  7268. // API call, and error handling.
  7269. //
  7270. // This method is useful when you want to inject custom logic or configuration
  7271. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7272. //
  7273. //
  7274. // // Example sending a request using the DeleteVpcEndpointServiceConfigurationsRequest method.
  7275. // req, resp := client.DeleteVpcEndpointServiceConfigurationsRequest(params)
  7276. //
  7277. // err := req.Send()
  7278. // if err == nil { // resp is now filled
  7279. // fmt.Println(resp)
  7280. // }
  7281. //
  7282. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
  7283. func (c *EC2) DeleteVpcEndpointServiceConfigurationsRequest(input *DeleteVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DeleteVpcEndpointServiceConfigurationsOutput) {
  7284. op := &request.Operation{
  7285. Name: opDeleteVpcEndpointServiceConfigurations,
  7286. HTTPMethod: "POST",
  7287. HTTPPath: "/",
  7288. }
  7289. if input == nil {
  7290. input = &DeleteVpcEndpointServiceConfigurationsInput{}
  7291. }
  7292. output = &DeleteVpcEndpointServiceConfigurationsOutput{}
  7293. req = c.newRequest(op, input, output)
  7294. return
  7295. }
  7296. // DeleteVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
  7297. //
  7298. // Deletes one or more VPC endpoint service configurations in your account.
  7299. // Before you delete the endpoint service configuration, you must reject any
  7300. // Available or PendingAcceptance interface endpoint connections that are attached
  7301. // to the service.
  7302. //
  7303. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7304. // with awserr.Error's Code and Message methods to get detailed information about
  7305. // the error.
  7306. //
  7307. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7308. // API operation DeleteVpcEndpointServiceConfigurations for usage and error information.
  7309. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
  7310. func (c *EC2) DeleteVpcEndpointServiceConfigurations(input *DeleteVpcEndpointServiceConfigurationsInput) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
  7311. req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
  7312. return out, req.Send()
  7313. }
  7314. // DeleteVpcEndpointServiceConfigurationsWithContext is the same as DeleteVpcEndpointServiceConfigurations with the addition of
  7315. // the ability to pass a context and additional request options.
  7316. //
  7317. // See DeleteVpcEndpointServiceConfigurations for details on how to use this API operation.
  7318. //
  7319. // The context must be non-nil and will be used for request cancellation. If
  7320. // the context is nil a panic will occur. In the future the SDK may create
  7321. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7322. // for more information on using Contexts.
  7323. func (c *EC2) DeleteVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DeleteVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
  7324. req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
  7325. req.SetContext(ctx)
  7326. req.ApplyOptions(opts...)
  7327. return out, req.Send()
  7328. }
  7329. const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
  7330. // DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
  7331. // client's request for the DeleteVpcEndpoints operation. The "output" return
  7332. // value will be populated with the request's response once the request completes
  7333. // successfuly.
  7334. //
  7335. // Use "Send" method on the returned Request to send the API call to the service.
  7336. // the "output" return value is not valid until after Send returns without error.
  7337. //
  7338. // See DeleteVpcEndpoints for more information on using the DeleteVpcEndpoints
  7339. // API call, and error handling.
  7340. //
  7341. // This method is useful when you want to inject custom logic or configuration
  7342. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7343. //
  7344. //
  7345. // // Example sending a request using the DeleteVpcEndpointsRequest method.
  7346. // req, resp := client.DeleteVpcEndpointsRequest(params)
  7347. //
  7348. // err := req.Send()
  7349. // if err == nil { // resp is now filled
  7350. // fmt.Println(resp)
  7351. // }
  7352. //
  7353. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
  7354. func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
  7355. op := &request.Operation{
  7356. Name: opDeleteVpcEndpoints,
  7357. HTTPMethod: "POST",
  7358. HTTPPath: "/",
  7359. }
  7360. if input == nil {
  7361. input = &DeleteVpcEndpointsInput{}
  7362. }
  7363. output = &DeleteVpcEndpointsOutput{}
  7364. req = c.newRequest(op, input, output)
  7365. return
  7366. }
  7367. // DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  7368. //
  7369. // Deletes one or more specified VPC endpoints. Deleting a gateway endpoint
  7370. // also deletes the endpoint routes in the route tables that were associated
  7371. // with the endpoint. Deleting an interface endpoint deletes the endpoint network
  7372. // interfaces.
  7373. //
  7374. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7375. // with awserr.Error's Code and Message methods to get detailed information about
  7376. // the error.
  7377. //
  7378. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7379. // API operation DeleteVpcEndpoints for usage and error information.
  7380. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
  7381. func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
  7382. req, out := c.DeleteVpcEndpointsRequest(input)
  7383. return out, req.Send()
  7384. }
  7385. // DeleteVpcEndpointsWithContext is the same as DeleteVpcEndpoints with the addition of
  7386. // the ability to pass a context and additional request options.
  7387. //
  7388. // See DeleteVpcEndpoints for details on how to use this API operation.
  7389. //
  7390. // The context must be non-nil and will be used for request cancellation. If
  7391. // the context is nil a panic will occur. In the future the SDK may create
  7392. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7393. // for more information on using Contexts.
  7394. func (c *EC2) DeleteVpcEndpointsWithContext(ctx aws.Context, input *DeleteVpcEndpointsInput, opts ...request.Option) (*DeleteVpcEndpointsOutput, error) {
  7395. req, out := c.DeleteVpcEndpointsRequest(input)
  7396. req.SetContext(ctx)
  7397. req.ApplyOptions(opts...)
  7398. return out, req.Send()
  7399. }
  7400. const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
  7401. // DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  7402. // client's request for the DeleteVpcPeeringConnection operation. The "output" return
  7403. // value will be populated with the request's response once the request completes
  7404. // successfuly.
  7405. //
  7406. // Use "Send" method on the returned Request to send the API call to the service.
  7407. // the "output" return value is not valid until after Send returns without error.
  7408. //
  7409. // See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
  7410. // API call, and error handling.
  7411. //
  7412. // This method is useful when you want to inject custom logic or configuration
  7413. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7414. //
  7415. //
  7416. // // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
  7417. // req, resp := client.DeleteVpcPeeringConnectionRequest(params)
  7418. //
  7419. // err := req.Send()
  7420. // if err == nil { // resp is now filled
  7421. // fmt.Println(resp)
  7422. // }
  7423. //
  7424. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
  7425. func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
  7426. op := &request.Operation{
  7427. Name: opDeleteVpcPeeringConnection,
  7428. HTTPMethod: "POST",
  7429. HTTPPath: "/",
  7430. }
  7431. if input == nil {
  7432. input = &DeleteVpcPeeringConnectionInput{}
  7433. }
  7434. output = &DeleteVpcPeeringConnectionOutput{}
  7435. req = c.newRequest(op, input, output)
  7436. return
  7437. }
  7438. // DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  7439. //
  7440. // Deletes a VPC peering connection. Either the owner of the requester VPC or
  7441. // the owner of the accepter VPC can delete the VPC peering connection if it's
  7442. // in the active state. The owner of the requester VPC can delete a VPC peering
  7443. // connection in the pending-acceptance state. You cannot delete a VPC peering
  7444. // connection that's in the failed state.
  7445. //
  7446. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7447. // with awserr.Error's Code and Message methods to get detailed information about
  7448. // the error.
  7449. //
  7450. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7451. // API operation DeleteVpcPeeringConnection for usage and error information.
  7452. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
  7453. func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
  7454. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  7455. return out, req.Send()
  7456. }
  7457. // DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
  7458. // the ability to pass a context and additional request options.
  7459. //
  7460. // See DeleteVpcPeeringConnection for details on how to use this API operation.
  7461. //
  7462. // The context must be non-nil and will be used for request cancellation. If
  7463. // the context is nil a panic will occur. In the future the SDK may create
  7464. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7465. // for more information on using Contexts.
  7466. func (c *EC2) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
  7467. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  7468. req.SetContext(ctx)
  7469. req.ApplyOptions(opts...)
  7470. return out, req.Send()
  7471. }
  7472. const opDeleteVpnConnection = "DeleteVpnConnection"
  7473. // DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
  7474. // client's request for the DeleteVpnConnection operation. The "output" return
  7475. // value will be populated with the request's response once the request completes
  7476. // successfuly.
  7477. //
  7478. // Use "Send" method on the returned Request to send the API call to the service.
  7479. // the "output" return value is not valid until after Send returns without error.
  7480. //
  7481. // See DeleteVpnConnection for more information on using the DeleteVpnConnection
  7482. // API call, and error handling.
  7483. //
  7484. // This method is useful when you want to inject custom logic or configuration
  7485. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7486. //
  7487. //
  7488. // // Example sending a request using the DeleteVpnConnectionRequest method.
  7489. // req, resp := client.DeleteVpnConnectionRequest(params)
  7490. //
  7491. // err := req.Send()
  7492. // if err == nil { // resp is now filled
  7493. // fmt.Println(resp)
  7494. // }
  7495. //
  7496. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
  7497. func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
  7498. op := &request.Operation{
  7499. Name: opDeleteVpnConnection,
  7500. HTTPMethod: "POST",
  7501. HTTPPath: "/",
  7502. }
  7503. if input == nil {
  7504. input = &DeleteVpnConnectionInput{}
  7505. }
  7506. output = &DeleteVpnConnectionOutput{}
  7507. req = c.newRequest(op, input, output)
  7508. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  7509. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7510. return
  7511. }
  7512. // DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
  7513. //
  7514. // Deletes the specified VPN connection.
  7515. //
  7516. // If you're deleting the VPC and its associated components, we recommend that
  7517. // you detach the virtual private gateway from the VPC and delete the VPC before
  7518. // deleting the VPN connection. If you believe that the tunnel credentials for
  7519. // your VPN connection have been compromised, you can delete the VPN connection
  7520. // and create a new one that has new keys, without needing to delete the VPC
  7521. // or virtual private gateway. If you create a new VPN connection, you must
  7522. // reconfigure the customer gateway using the new configuration information
  7523. // returned with the new VPN connection ID.
  7524. //
  7525. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7526. // with awserr.Error's Code and Message methods to get detailed information about
  7527. // the error.
  7528. //
  7529. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7530. // API operation DeleteVpnConnection for usage and error information.
  7531. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
  7532. func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
  7533. req, out := c.DeleteVpnConnectionRequest(input)
  7534. return out, req.Send()
  7535. }
  7536. // DeleteVpnConnectionWithContext is the same as DeleteVpnConnection with the addition of
  7537. // the ability to pass a context and additional request options.
  7538. //
  7539. // See DeleteVpnConnection for details on how to use this API operation.
  7540. //
  7541. // The context must be non-nil and will be used for request cancellation. If
  7542. // the context is nil a panic will occur. In the future the SDK may create
  7543. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7544. // for more information on using Contexts.
  7545. func (c *EC2) DeleteVpnConnectionWithContext(ctx aws.Context, input *DeleteVpnConnectionInput, opts ...request.Option) (*DeleteVpnConnectionOutput, error) {
  7546. req, out := c.DeleteVpnConnectionRequest(input)
  7547. req.SetContext(ctx)
  7548. req.ApplyOptions(opts...)
  7549. return out, req.Send()
  7550. }
  7551. const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
  7552. // DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  7553. // client's request for the DeleteVpnConnectionRoute operation. The "output" return
  7554. // value will be populated with the request's response once the request completes
  7555. // successfuly.
  7556. //
  7557. // Use "Send" method on the returned Request to send the API call to the service.
  7558. // the "output" return value is not valid until after Send returns without error.
  7559. //
  7560. // See DeleteVpnConnectionRoute for more information on using the DeleteVpnConnectionRoute
  7561. // API call, and error handling.
  7562. //
  7563. // This method is useful when you want to inject custom logic or configuration
  7564. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7565. //
  7566. //
  7567. // // Example sending a request using the DeleteVpnConnectionRouteRequest method.
  7568. // req, resp := client.DeleteVpnConnectionRouteRequest(params)
  7569. //
  7570. // err := req.Send()
  7571. // if err == nil { // resp is now filled
  7572. // fmt.Println(resp)
  7573. // }
  7574. //
  7575. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
  7576. func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
  7577. op := &request.Operation{
  7578. Name: opDeleteVpnConnectionRoute,
  7579. HTTPMethod: "POST",
  7580. HTTPPath: "/",
  7581. }
  7582. if input == nil {
  7583. input = &DeleteVpnConnectionRouteInput{}
  7584. }
  7585. output = &DeleteVpnConnectionRouteOutput{}
  7586. req = c.newRequest(op, input, output)
  7587. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  7588. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7589. return
  7590. }
  7591. // DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  7592. //
  7593. // Deletes the specified static route associated with a VPN connection between
  7594. // an existing virtual private gateway and a VPN customer gateway. The static
  7595. // route allows traffic to be routed from the virtual private gateway to the
  7596. // VPN customer gateway.
  7597. //
  7598. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7599. // with awserr.Error's Code and Message methods to get detailed information about
  7600. // the error.
  7601. //
  7602. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7603. // API operation DeleteVpnConnectionRoute for usage and error information.
  7604. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
  7605. func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
  7606. req, out := c.DeleteVpnConnectionRouteRequest(input)
  7607. return out, req.Send()
  7608. }
  7609. // DeleteVpnConnectionRouteWithContext is the same as DeleteVpnConnectionRoute with the addition of
  7610. // the ability to pass a context and additional request options.
  7611. //
  7612. // See DeleteVpnConnectionRoute for details on how to use this API operation.
  7613. //
  7614. // The context must be non-nil and will be used for request cancellation. If
  7615. // the context is nil a panic will occur. In the future the SDK may create
  7616. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7617. // for more information on using Contexts.
  7618. func (c *EC2) DeleteVpnConnectionRouteWithContext(ctx aws.Context, input *DeleteVpnConnectionRouteInput, opts ...request.Option) (*DeleteVpnConnectionRouteOutput, error) {
  7619. req, out := c.DeleteVpnConnectionRouteRequest(input)
  7620. req.SetContext(ctx)
  7621. req.ApplyOptions(opts...)
  7622. return out, req.Send()
  7623. }
  7624. const opDeleteVpnGateway = "DeleteVpnGateway"
  7625. // DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
  7626. // client's request for the DeleteVpnGateway operation. The "output" return
  7627. // value will be populated with the request's response once the request completes
  7628. // successfuly.
  7629. //
  7630. // Use "Send" method on the returned Request to send the API call to the service.
  7631. // the "output" return value is not valid until after Send returns without error.
  7632. //
  7633. // See DeleteVpnGateway for more information on using the DeleteVpnGateway
  7634. // API call, and error handling.
  7635. //
  7636. // This method is useful when you want to inject custom logic or configuration
  7637. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7638. //
  7639. //
  7640. // // Example sending a request using the DeleteVpnGatewayRequest method.
  7641. // req, resp := client.DeleteVpnGatewayRequest(params)
  7642. //
  7643. // err := req.Send()
  7644. // if err == nil { // resp is now filled
  7645. // fmt.Println(resp)
  7646. // }
  7647. //
  7648. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
  7649. func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
  7650. op := &request.Operation{
  7651. Name: opDeleteVpnGateway,
  7652. HTTPMethod: "POST",
  7653. HTTPPath: "/",
  7654. }
  7655. if input == nil {
  7656. input = &DeleteVpnGatewayInput{}
  7657. }
  7658. output = &DeleteVpnGatewayOutput{}
  7659. req = c.newRequest(op, input, output)
  7660. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  7661. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7662. return
  7663. }
  7664. // DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
  7665. //
  7666. // Deletes the specified virtual private gateway. We recommend that before you
  7667. // delete a virtual private gateway, you detach it from the VPC and delete the
  7668. // VPN connection. Note that you don't need to delete the virtual private gateway
  7669. // if you plan to delete and recreate the VPN connection between your VPC and
  7670. // your network.
  7671. //
  7672. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7673. // with awserr.Error's Code and Message methods to get detailed information about
  7674. // the error.
  7675. //
  7676. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7677. // API operation DeleteVpnGateway for usage and error information.
  7678. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
  7679. func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
  7680. req, out := c.DeleteVpnGatewayRequest(input)
  7681. return out, req.Send()
  7682. }
  7683. // DeleteVpnGatewayWithContext is the same as DeleteVpnGateway with the addition of
  7684. // the ability to pass a context and additional request options.
  7685. //
  7686. // See DeleteVpnGateway for details on how to use this API operation.
  7687. //
  7688. // The context must be non-nil and will be used for request cancellation. If
  7689. // the context is nil a panic will occur. In the future the SDK may create
  7690. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7691. // for more information on using Contexts.
  7692. func (c *EC2) DeleteVpnGatewayWithContext(ctx aws.Context, input *DeleteVpnGatewayInput, opts ...request.Option) (*DeleteVpnGatewayOutput, error) {
  7693. req, out := c.DeleteVpnGatewayRequest(input)
  7694. req.SetContext(ctx)
  7695. req.ApplyOptions(opts...)
  7696. return out, req.Send()
  7697. }
  7698. const opDeregisterImage = "DeregisterImage"
  7699. // DeregisterImageRequest generates a "aws/request.Request" representing the
  7700. // client's request for the DeregisterImage operation. The "output" return
  7701. // value will be populated with the request's response once the request completes
  7702. // successfuly.
  7703. //
  7704. // Use "Send" method on the returned Request to send the API call to the service.
  7705. // the "output" return value is not valid until after Send returns without error.
  7706. //
  7707. // See DeregisterImage for more information on using the DeregisterImage
  7708. // API call, and error handling.
  7709. //
  7710. // This method is useful when you want to inject custom logic or configuration
  7711. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7712. //
  7713. //
  7714. // // Example sending a request using the DeregisterImageRequest method.
  7715. // req, resp := client.DeregisterImageRequest(params)
  7716. //
  7717. // err := req.Send()
  7718. // if err == nil { // resp is now filled
  7719. // fmt.Println(resp)
  7720. // }
  7721. //
  7722. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
  7723. func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
  7724. op := &request.Operation{
  7725. Name: opDeregisterImage,
  7726. HTTPMethod: "POST",
  7727. HTTPPath: "/",
  7728. }
  7729. if input == nil {
  7730. input = &DeregisterImageInput{}
  7731. }
  7732. output = &DeregisterImageOutput{}
  7733. req = c.newRequest(op, input, output)
  7734. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  7735. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7736. return
  7737. }
  7738. // DeregisterImage API operation for Amazon Elastic Compute Cloud.
  7739. //
  7740. // Deregisters the specified AMI. After you deregister an AMI, it can't be used
  7741. // to launch new instances; however, it doesn't affect any instances that you've
  7742. // already launched from the AMI. You'll continue to incur usage costs for those
  7743. // instances until you terminate them.
  7744. //
  7745. // When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot
  7746. // that was created for the root volume of the instance during the AMI creation
  7747. // process. When you deregister an instance store-backed AMI, it doesn't affect
  7748. // the files that you uploaded to Amazon S3 when you created the AMI.
  7749. //
  7750. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7751. // with awserr.Error's Code and Message methods to get detailed information about
  7752. // the error.
  7753. //
  7754. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7755. // API operation DeregisterImage for usage and error information.
  7756. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
  7757. func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
  7758. req, out := c.DeregisterImageRequest(input)
  7759. return out, req.Send()
  7760. }
  7761. // DeregisterImageWithContext is the same as DeregisterImage with the addition of
  7762. // the ability to pass a context and additional request options.
  7763. //
  7764. // See DeregisterImage for details on how to use this API operation.
  7765. //
  7766. // The context must be non-nil and will be used for request cancellation. If
  7767. // the context is nil a panic will occur. In the future the SDK may create
  7768. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7769. // for more information on using Contexts.
  7770. func (c *EC2) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImageInput, opts ...request.Option) (*DeregisterImageOutput, error) {
  7771. req, out := c.DeregisterImageRequest(input)
  7772. req.SetContext(ctx)
  7773. req.ApplyOptions(opts...)
  7774. return out, req.Send()
  7775. }
  7776. const opDescribeAccountAttributes = "DescribeAccountAttributes"
  7777. // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
  7778. // client's request for the DescribeAccountAttributes operation. The "output" return
  7779. // value will be populated with the request's response once the request completes
  7780. // successfuly.
  7781. //
  7782. // Use "Send" method on the returned Request to send the API call to the service.
  7783. // the "output" return value is not valid until after Send returns without error.
  7784. //
  7785. // See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
  7786. // API call, and error handling.
  7787. //
  7788. // This method is useful when you want to inject custom logic or configuration
  7789. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7790. //
  7791. //
  7792. // // Example sending a request using the DescribeAccountAttributesRequest method.
  7793. // req, resp := client.DescribeAccountAttributesRequest(params)
  7794. //
  7795. // err := req.Send()
  7796. // if err == nil { // resp is now filled
  7797. // fmt.Println(resp)
  7798. // }
  7799. //
  7800. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
  7801. func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
  7802. op := &request.Operation{
  7803. Name: opDescribeAccountAttributes,
  7804. HTTPMethod: "POST",
  7805. HTTPPath: "/",
  7806. }
  7807. if input == nil {
  7808. input = &DescribeAccountAttributesInput{}
  7809. }
  7810. output = &DescribeAccountAttributesOutput{}
  7811. req = c.newRequest(op, input, output)
  7812. return
  7813. }
  7814. // DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
  7815. //
  7816. // Describes attributes of your AWS account. The following are the supported
  7817. // account attributes:
  7818. //
  7819. // * supported-platforms: Indicates whether your account can launch instances
  7820. // into EC2-Classic and EC2-VPC, or only into EC2-VPC.
  7821. //
  7822. // * default-vpc: The ID of the default VPC for your account, or none.
  7823. //
  7824. // * max-instances: The maximum number of On-Demand Instances that you can
  7825. // run.
  7826. //
  7827. // * vpc-max-security-groups-per-interface: The maximum number of security
  7828. // groups that you can assign to a network interface.
  7829. //
  7830. // * max-elastic-ips: The maximum number of Elastic IP addresses that you
  7831. // can allocate for use with EC2-Classic.
  7832. //
  7833. // * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
  7834. // you can allocate for use with EC2-VPC.
  7835. //
  7836. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7837. // with awserr.Error's Code and Message methods to get detailed information about
  7838. // the error.
  7839. //
  7840. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7841. // API operation DescribeAccountAttributes for usage and error information.
  7842. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
  7843. func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
  7844. req, out := c.DescribeAccountAttributesRequest(input)
  7845. return out, req.Send()
  7846. }
  7847. // DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
  7848. // the ability to pass a context and additional request options.
  7849. //
  7850. // See DescribeAccountAttributes for details on how to use this API operation.
  7851. //
  7852. // The context must be non-nil and will be used for request cancellation. If
  7853. // the context is nil a panic will occur. In the future the SDK may create
  7854. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7855. // for more information on using Contexts.
  7856. func (c *EC2) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
  7857. req, out := c.DescribeAccountAttributesRequest(input)
  7858. req.SetContext(ctx)
  7859. req.ApplyOptions(opts...)
  7860. return out, req.Send()
  7861. }
  7862. const opDescribeAddresses = "DescribeAddresses"
  7863. // DescribeAddressesRequest generates a "aws/request.Request" representing the
  7864. // client's request for the DescribeAddresses operation. The "output" return
  7865. // value will be populated with the request's response once the request completes
  7866. // successfuly.
  7867. //
  7868. // Use "Send" method on the returned Request to send the API call to the service.
  7869. // the "output" return value is not valid until after Send returns without error.
  7870. //
  7871. // See DescribeAddresses for more information on using the DescribeAddresses
  7872. // API call, and error handling.
  7873. //
  7874. // This method is useful when you want to inject custom logic or configuration
  7875. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7876. //
  7877. //
  7878. // // Example sending a request using the DescribeAddressesRequest method.
  7879. // req, resp := client.DescribeAddressesRequest(params)
  7880. //
  7881. // err := req.Send()
  7882. // if err == nil { // resp is now filled
  7883. // fmt.Println(resp)
  7884. // }
  7885. //
  7886. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
  7887. func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
  7888. op := &request.Operation{
  7889. Name: opDescribeAddresses,
  7890. HTTPMethod: "POST",
  7891. HTTPPath: "/",
  7892. }
  7893. if input == nil {
  7894. input = &DescribeAddressesInput{}
  7895. }
  7896. output = &DescribeAddressesOutput{}
  7897. req = c.newRequest(op, input, output)
  7898. return
  7899. }
  7900. // DescribeAddresses API operation for Amazon Elastic Compute Cloud.
  7901. //
  7902. // Describes one or more of your Elastic IP addresses.
  7903. //
  7904. // An Elastic IP address is for use in either the EC2-Classic platform or in
  7905. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  7906. // in the Amazon Elastic Compute Cloud User Guide.
  7907. //
  7908. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7909. // with awserr.Error's Code and Message methods to get detailed information about
  7910. // the error.
  7911. //
  7912. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7913. // API operation DescribeAddresses for usage and error information.
  7914. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
  7915. func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
  7916. req, out := c.DescribeAddressesRequest(input)
  7917. return out, req.Send()
  7918. }
  7919. // DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
  7920. // the ability to pass a context and additional request options.
  7921. //
  7922. // See DescribeAddresses for details on how to use this API operation.
  7923. //
  7924. // The context must be non-nil and will be used for request cancellation. If
  7925. // the context is nil a panic will occur. In the future the SDK may create
  7926. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7927. // for more information on using Contexts.
  7928. func (c *EC2) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
  7929. req, out := c.DescribeAddressesRequest(input)
  7930. req.SetContext(ctx)
  7931. req.ApplyOptions(opts...)
  7932. return out, req.Send()
  7933. }
  7934. const opDescribeAggregateIdFormat = "DescribeAggregateIdFormat"
  7935. // DescribeAggregateIdFormatRequest generates a "aws/request.Request" representing the
  7936. // client's request for the DescribeAggregateIdFormat operation. The "output" return
  7937. // value will be populated with the request's response once the request completes
  7938. // successfuly.
  7939. //
  7940. // Use "Send" method on the returned Request to send the API call to the service.
  7941. // the "output" return value is not valid until after Send returns without error.
  7942. //
  7943. // See DescribeAggregateIdFormat for more information on using the DescribeAggregateIdFormat
  7944. // API call, and error handling.
  7945. //
  7946. // This method is useful when you want to inject custom logic or configuration
  7947. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7948. //
  7949. //
  7950. // // Example sending a request using the DescribeAggregateIdFormatRequest method.
  7951. // req, resp := client.DescribeAggregateIdFormatRequest(params)
  7952. //
  7953. // err := req.Send()
  7954. // if err == nil { // resp is now filled
  7955. // fmt.Println(resp)
  7956. // }
  7957. //
  7958. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
  7959. func (c *EC2) DescribeAggregateIdFormatRequest(input *DescribeAggregateIdFormatInput) (req *request.Request, output *DescribeAggregateIdFormatOutput) {
  7960. op := &request.Operation{
  7961. Name: opDescribeAggregateIdFormat,
  7962. HTTPMethod: "POST",
  7963. HTTPPath: "/",
  7964. }
  7965. if input == nil {
  7966. input = &DescribeAggregateIdFormatInput{}
  7967. }
  7968. output = &DescribeAggregateIdFormatOutput{}
  7969. req = c.newRequest(op, input, output)
  7970. return
  7971. }
  7972. // DescribeAggregateIdFormat API operation for Amazon Elastic Compute Cloud.
  7973. //
  7974. // Describes the longer ID format settings for all resource types in a specific
  7975. // region. This request is useful for performing a quick audit to determine
  7976. // whether a specific region is fully opted in for longer IDs (17-character
  7977. // IDs).
  7978. //
  7979. // This request only returns information about resource types that support longer
  7980. // IDs.
  7981. //
  7982. // The following resource types support longer IDs: bundle | conversion-task
  7983. // | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
  7984. // | export-task | flow-log | image | import-task | instance | internet-gateway
  7985. // | network-acl | network-acl-association | network-interface | network-interface-attachment
  7986. // | prefix-list | reservation | route-table | route-table-association | security-group
  7987. // | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  7988. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  7989. //
  7990. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7991. // with awserr.Error's Code and Message methods to get detailed information about
  7992. // the error.
  7993. //
  7994. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7995. // API operation DescribeAggregateIdFormat for usage and error information.
  7996. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
  7997. func (c *EC2) DescribeAggregateIdFormat(input *DescribeAggregateIdFormatInput) (*DescribeAggregateIdFormatOutput, error) {
  7998. req, out := c.DescribeAggregateIdFormatRequest(input)
  7999. return out, req.Send()
  8000. }
  8001. // DescribeAggregateIdFormatWithContext is the same as DescribeAggregateIdFormat with the addition of
  8002. // the ability to pass a context and additional request options.
  8003. //
  8004. // See DescribeAggregateIdFormat for details on how to use this API operation.
  8005. //
  8006. // The context must be non-nil and will be used for request cancellation. If
  8007. // the context is nil a panic will occur. In the future the SDK may create
  8008. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8009. // for more information on using Contexts.
  8010. func (c *EC2) DescribeAggregateIdFormatWithContext(ctx aws.Context, input *DescribeAggregateIdFormatInput, opts ...request.Option) (*DescribeAggregateIdFormatOutput, error) {
  8011. req, out := c.DescribeAggregateIdFormatRequest(input)
  8012. req.SetContext(ctx)
  8013. req.ApplyOptions(opts...)
  8014. return out, req.Send()
  8015. }
  8016. const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
  8017. // DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
  8018. // client's request for the DescribeAvailabilityZones operation. The "output" return
  8019. // value will be populated with the request's response once the request completes
  8020. // successfuly.
  8021. //
  8022. // Use "Send" method on the returned Request to send the API call to the service.
  8023. // the "output" return value is not valid until after Send returns without error.
  8024. //
  8025. // See DescribeAvailabilityZones for more information on using the DescribeAvailabilityZones
  8026. // API call, and error handling.
  8027. //
  8028. // This method is useful when you want to inject custom logic or configuration
  8029. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8030. //
  8031. //
  8032. // // Example sending a request using the DescribeAvailabilityZonesRequest method.
  8033. // req, resp := client.DescribeAvailabilityZonesRequest(params)
  8034. //
  8035. // err := req.Send()
  8036. // if err == nil { // resp is now filled
  8037. // fmt.Println(resp)
  8038. // }
  8039. //
  8040. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
  8041. func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
  8042. op := &request.Operation{
  8043. Name: opDescribeAvailabilityZones,
  8044. HTTPMethod: "POST",
  8045. HTTPPath: "/",
  8046. }
  8047. if input == nil {
  8048. input = &DescribeAvailabilityZonesInput{}
  8049. }
  8050. output = &DescribeAvailabilityZonesOutput{}
  8051. req = c.newRequest(op, input, output)
  8052. return
  8053. }
  8054. // DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
  8055. //
  8056. // Describes one or more of the Availability Zones that are available to you.
  8057. // The results include zones only for the region you're currently using. If
  8058. // there is an event impacting an Availability Zone, you can use this request
  8059. // to view the state and any provided message for that Availability Zone.
  8060. //
  8061. // For more information, see Regions and Availability Zones (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
  8062. // in the Amazon Elastic Compute Cloud User Guide.
  8063. //
  8064. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8065. // with awserr.Error's Code and Message methods to get detailed information about
  8066. // the error.
  8067. //
  8068. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8069. // API operation DescribeAvailabilityZones for usage and error information.
  8070. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
  8071. func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
  8072. req, out := c.DescribeAvailabilityZonesRequest(input)
  8073. return out, req.Send()
  8074. }
  8075. // DescribeAvailabilityZonesWithContext is the same as DescribeAvailabilityZones with the addition of
  8076. // the ability to pass a context and additional request options.
  8077. //
  8078. // See DescribeAvailabilityZones for details on how to use this API operation.
  8079. //
  8080. // The context must be non-nil and will be used for request cancellation. If
  8081. // the context is nil a panic will occur. In the future the SDK may create
  8082. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8083. // for more information on using Contexts.
  8084. func (c *EC2) DescribeAvailabilityZonesWithContext(ctx aws.Context, input *DescribeAvailabilityZonesInput, opts ...request.Option) (*DescribeAvailabilityZonesOutput, error) {
  8085. req, out := c.DescribeAvailabilityZonesRequest(input)
  8086. req.SetContext(ctx)
  8087. req.ApplyOptions(opts...)
  8088. return out, req.Send()
  8089. }
  8090. const opDescribeBundleTasks = "DescribeBundleTasks"
  8091. // DescribeBundleTasksRequest generates a "aws/request.Request" representing the
  8092. // client's request for the DescribeBundleTasks operation. The "output" return
  8093. // value will be populated with the request's response once the request completes
  8094. // successfuly.
  8095. //
  8096. // Use "Send" method on the returned Request to send the API call to the service.
  8097. // the "output" return value is not valid until after Send returns without error.
  8098. //
  8099. // See DescribeBundleTasks for more information on using the DescribeBundleTasks
  8100. // API call, and error handling.
  8101. //
  8102. // This method is useful when you want to inject custom logic or configuration
  8103. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8104. //
  8105. //
  8106. // // Example sending a request using the DescribeBundleTasksRequest method.
  8107. // req, resp := client.DescribeBundleTasksRequest(params)
  8108. //
  8109. // err := req.Send()
  8110. // if err == nil { // resp is now filled
  8111. // fmt.Println(resp)
  8112. // }
  8113. //
  8114. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
  8115. func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
  8116. op := &request.Operation{
  8117. Name: opDescribeBundleTasks,
  8118. HTTPMethod: "POST",
  8119. HTTPPath: "/",
  8120. }
  8121. if input == nil {
  8122. input = &DescribeBundleTasksInput{}
  8123. }
  8124. output = &DescribeBundleTasksOutput{}
  8125. req = c.newRequest(op, input, output)
  8126. return
  8127. }
  8128. // DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
  8129. //
  8130. // Describes one or more of your bundling tasks.
  8131. //
  8132. // Completed bundle tasks are listed for only a limited time. If your bundle
  8133. // task is no longer in the list, you can still register an AMI from it. Just
  8134. // use RegisterImage with the Amazon S3 bucket name and image manifest name
  8135. // you provided to the bundle task.
  8136. //
  8137. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8138. // with awserr.Error's Code and Message methods to get detailed information about
  8139. // the error.
  8140. //
  8141. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8142. // API operation DescribeBundleTasks for usage and error information.
  8143. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
  8144. func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
  8145. req, out := c.DescribeBundleTasksRequest(input)
  8146. return out, req.Send()
  8147. }
  8148. // DescribeBundleTasksWithContext is the same as DescribeBundleTasks with the addition of
  8149. // the ability to pass a context and additional request options.
  8150. //
  8151. // See DescribeBundleTasks for details on how to use this API operation.
  8152. //
  8153. // The context must be non-nil and will be used for request cancellation. If
  8154. // the context is nil a panic will occur. In the future the SDK may create
  8155. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8156. // for more information on using Contexts.
  8157. func (c *EC2) DescribeBundleTasksWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.Option) (*DescribeBundleTasksOutput, error) {
  8158. req, out := c.DescribeBundleTasksRequest(input)
  8159. req.SetContext(ctx)
  8160. req.ApplyOptions(opts...)
  8161. return out, req.Send()
  8162. }
  8163. const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
  8164. // DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
  8165. // client's request for the DescribeClassicLinkInstances operation. The "output" return
  8166. // value will be populated with the request's response once the request completes
  8167. // successfuly.
  8168. //
  8169. // Use "Send" method on the returned Request to send the API call to the service.
  8170. // the "output" return value is not valid until after Send returns without error.
  8171. //
  8172. // See DescribeClassicLinkInstances for more information on using the DescribeClassicLinkInstances
  8173. // API call, and error handling.
  8174. //
  8175. // This method is useful when you want to inject custom logic or configuration
  8176. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8177. //
  8178. //
  8179. // // Example sending a request using the DescribeClassicLinkInstancesRequest method.
  8180. // req, resp := client.DescribeClassicLinkInstancesRequest(params)
  8181. //
  8182. // err := req.Send()
  8183. // if err == nil { // resp is now filled
  8184. // fmt.Println(resp)
  8185. // }
  8186. //
  8187. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
  8188. func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
  8189. op := &request.Operation{
  8190. Name: opDescribeClassicLinkInstances,
  8191. HTTPMethod: "POST",
  8192. HTTPPath: "/",
  8193. }
  8194. if input == nil {
  8195. input = &DescribeClassicLinkInstancesInput{}
  8196. }
  8197. output = &DescribeClassicLinkInstancesOutput{}
  8198. req = c.newRequest(op, input, output)
  8199. return
  8200. }
  8201. // DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
  8202. //
  8203. // Describes one or more of your linked EC2-Classic instances. This request
  8204. // only returns information about EC2-Classic instances linked to a VPC through
  8205. // ClassicLink; you cannot use this request to return information about other
  8206. // instances.
  8207. //
  8208. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8209. // with awserr.Error's Code and Message methods to get detailed information about
  8210. // the error.
  8211. //
  8212. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8213. // API operation DescribeClassicLinkInstances for usage and error information.
  8214. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
  8215. func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
  8216. req, out := c.DescribeClassicLinkInstancesRequest(input)
  8217. return out, req.Send()
  8218. }
  8219. // DescribeClassicLinkInstancesWithContext is the same as DescribeClassicLinkInstances with the addition of
  8220. // the ability to pass a context and additional request options.
  8221. //
  8222. // See DescribeClassicLinkInstances for details on how to use this API operation.
  8223. //
  8224. // The context must be non-nil and will be used for request cancellation. If
  8225. // the context is nil a panic will occur. In the future the SDK may create
  8226. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8227. // for more information on using Contexts.
  8228. func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, opts ...request.Option) (*DescribeClassicLinkInstancesOutput, error) {
  8229. req, out := c.DescribeClassicLinkInstancesRequest(input)
  8230. req.SetContext(ctx)
  8231. req.ApplyOptions(opts...)
  8232. return out, req.Send()
  8233. }
  8234. const opDescribeConversionTasks = "DescribeConversionTasks"
  8235. // DescribeConversionTasksRequest generates a "aws/request.Request" representing the
  8236. // client's request for the DescribeConversionTasks operation. The "output" return
  8237. // value will be populated with the request's response once the request completes
  8238. // successfuly.
  8239. //
  8240. // Use "Send" method on the returned Request to send the API call to the service.
  8241. // the "output" return value is not valid until after Send returns without error.
  8242. //
  8243. // See DescribeConversionTasks for more information on using the DescribeConversionTasks
  8244. // API call, and error handling.
  8245. //
  8246. // This method is useful when you want to inject custom logic or configuration
  8247. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8248. //
  8249. //
  8250. // // Example sending a request using the DescribeConversionTasksRequest method.
  8251. // req, resp := client.DescribeConversionTasksRequest(params)
  8252. //
  8253. // err := req.Send()
  8254. // if err == nil { // resp is now filled
  8255. // fmt.Println(resp)
  8256. // }
  8257. //
  8258. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
  8259. func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
  8260. op := &request.Operation{
  8261. Name: opDescribeConversionTasks,
  8262. HTTPMethod: "POST",
  8263. HTTPPath: "/",
  8264. }
  8265. if input == nil {
  8266. input = &DescribeConversionTasksInput{}
  8267. }
  8268. output = &DescribeConversionTasksOutput{}
  8269. req = c.newRequest(op, input, output)
  8270. return
  8271. }
  8272. // DescribeConversionTasks API operation for Amazon Elastic Compute Cloud.
  8273. //
  8274. // Describes one or more of your conversion tasks. For more information, see
  8275. // the VM Import/Export User Guide (http://docs.aws.amazon.com/vm-import/latest/userguide/).
  8276. //
  8277. // For information about the import manifest referenced by this API action,
  8278. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  8279. //
  8280. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8281. // with awserr.Error's Code and Message methods to get detailed information about
  8282. // the error.
  8283. //
  8284. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8285. // API operation DescribeConversionTasks for usage and error information.
  8286. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
  8287. func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
  8288. req, out := c.DescribeConversionTasksRequest(input)
  8289. return out, req.Send()
  8290. }
  8291. // DescribeConversionTasksWithContext is the same as DescribeConversionTasks with the addition of
  8292. // the ability to pass a context and additional request options.
  8293. //
  8294. // See DescribeConversionTasks for details on how to use this API operation.
  8295. //
  8296. // The context must be non-nil and will be used for request cancellation. If
  8297. // the context is nil a panic will occur. In the future the SDK may create
  8298. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8299. // for more information on using Contexts.
  8300. func (c *EC2) DescribeConversionTasksWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.Option) (*DescribeConversionTasksOutput, error) {
  8301. req, out := c.DescribeConversionTasksRequest(input)
  8302. req.SetContext(ctx)
  8303. req.ApplyOptions(opts...)
  8304. return out, req.Send()
  8305. }
  8306. const opDescribeCustomerGateways = "DescribeCustomerGateways"
  8307. // DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
  8308. // client's request for the DescribeCustomerGateways operation. The "output" return
  8309. // value will be populated with the request's response once the request completes
  8310. // successfuly.
  8311. //
  8312. // Use "Send" method on the returned Request to send the API call to the service.
  8313. // the "output" return value is not valid until after Send returns without error.
  8314. //
  8315. // See DescribeCustomerGateways for more information on using the DescribeCustomerGateways
  8316. // API call, and error handling.
  8317. //
  8318. // This method is useful when you want to inject custom logic or configuration
  8319. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8320. //
  8321. //
  8322. // // Example sending a request using the DescribeCustomerGatewaysRequest method.
  8323. // req, resp := client.DescribeCustomerGatewaysRequest(params)
  8324. //
  8325. // err := req.Send()
  8326. // if err == nil { // resp is now filled
  8327. // fmt.Println(resp)
  8328. // }
  8329. //
  8330. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
  8331. func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
  8332. op := &request.Operation{
  8333. Name: opDescribeCustomerGateways,
  8334. HTTPMethod: "POST",
  8335. HTTPPath: "/",
  8336. }
  8337. if input == nil {
  8338. input = &DescribeCustomerGatewaysInput{}
  8339. }
  8340. output = &DescribeCustomerGatewaysOutput{}
  8341. req = c.newRequest(op, input, output)
  8342. return
  8343. }
  8344. // DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
  8345. //
  8346. // Describes one or more of your VPN customer gateways.
  8347. //
  8348. // For more information about VPN customer gateways, see AWS Managed VPN Connections
  8349. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the
  8350. // Amazon Virtual Private Cloud User Guide.
  8351. //
  8352. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8353. // with awserr.Error's Code and Message methods to get detailed information about
  8354. // the error.
  8355. //
  8356. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8357. // API operation DescribeCustomerGateways for usage and error information.
  8358. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
  8359. func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
  8360. req, out := c.DescribeCustomerGatewaysRequest(input)
  8361. return out, req.Send()
  8362. }
  8363. // DescribeCustomerGatewaysWithContext is the same as DescribeCustomerGateways with the addition of
  8364. // the ability to pass a context and additional request options.
  8365. //
  8366. // See DescribeCustomerGateways for details on how to use this API operation.
  8367. //
  8368. // The context must be non-nil and will be used for request cancellation. If
  8369. // the context is nil a panic will occur. In the future the SDK may create
  8370. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8371. // for more information on using Contexts.
  8372. func (c *EC2) DescribeCustomerGatewaysWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.Option) (*DescribeCustomerGatewaysOutput, error) {
  8373. req, out := c.DescribeCustomerGatewaysRequest(input)
  8374. req.SetContext(ctx)
  8375. req.ApplyOptions(opts...)
  8376. return out, req.Send()
  8377. }
  8378. const opDescribeDhcpOptions = "DescribeDhcpOptions"
  8379. // DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
  8380. // client's request for the DescribeDhcpOptions operation. The "output" return
  8381. // value will be populated with the request's response once the request completes
  8382. // successfuly.
  8383. //
  8384. // Use "Send" method on the returned Request to send the API call to the service.
  8385. // the "output" return value is not valid until after Send returns without error.
  8386. //
  8387. // See DescribeDhcpOptions for more information on using the DescribeDhcpOptions
  8388. // API call, and error handling.
  8389. //
  8390. // This method is useful when you want to inject custom logic or configuration
  8391. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8392. //
  8393. //
  8394. // // Example sending a request using the DescribeDhcpOptionsRequest method.
  8395. // req, resp := client.DescribeDhcpOptionsRequest(params)
  8396. //
  8397. // err := req.Send()
  8398. // if err == nil { // resp is now filled
  8399. // fmt.Println(resp)
  8400. // }
  8401. //
  8402. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
  8403. func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
  8404. op := &request.Operation{
  8405. Name: opDescribeDhcpOptions,
  8406. HTTPMethod: "POST",
  8407. HTTPPath: "/",
  8408. }
  8409. if input == nil {
  8410. input = &DescribeDhcpOptionsInput{}
  8411. }
  8412. output = &DescribeDhcpOptionsOutput{}
  8413. req = c.newRequest(op, input, output)
  8414. return
  8415. }
  8416. // DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
  8417. //
  8418. // Describes one or more of your DHCP options sets.
  8419. //
  8420. // For more information about DHCP options sets, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  8421. // in the Amazon Virtual Private Cloud User Guide.
  8422. //
  8423. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8424. // with awserr.Error's Code and Message methods to get detailed information about
  8425. // the error.
  8426. //
  8427. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8428. // API operation DescribeDhcpOptions for usage and error information.
  8429. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
  8430. func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
  8431. req, out := c.DescribeDhcpOptionsRequest(input)
  8432. return out, req.Send()
  8433. }
  8434. // DescribeDhcpOptionsWithContext is the same as DescribeDhcpOptions with the addition of
  8435. // the ability to pass a context and additional request options.
  8436. //
  8437. // See DescribeDhcpOptions for details on how to use this API operation.
  8438. //
  8439. // The context must be non-nil and will be used for request cancellation. If
  8440. // the context is nil a panic will occur. In the future the SDK may create
  8441. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8442. // for more information on using Contexts.
  8443. func (c *EC2) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, opts ...request.Option) (*DescribeDhcpOptionsOutput, error) {
  8444. req, out := c.DescribeDhcpOptionsRequest(input)
  8445. req.SetContext(ctx)
  8446. req.ApplyOptions(opts...)
  8447. return out, req.Send()
  8448. }
  8449. const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways"
  8450. // DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the
  8451. // client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return
  8452. // value will be populated with the request's response once the request completes
  8453. // successfuly.
  8454. //
  8455. // Use "Send" method on the returned Request to send the API call to the service.
  8456. // the "output" return value is not valid until after Send returns without error.
  8457. //
  8458. // See DescribeEgressOnlyInternetGateways for more information on using the DescribeEgressOnlyInternetGateways
  8459. // API call, and error handling.
  8460. //
  8461. // This method is useful when you want to inject custom logic or configuration
  8462. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8463. //
  8464. //
  8465. // // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method.
  8466. // req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params)
  8467. //
  8468. // err := req.Send()
  8469. // if err == nil { // resp is now filled
  8470. // fmt.Println(resp)
  8471. // }
  8472. //
  8473. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
  8474. func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnlyInternetGatewaysInput) (req *request.Request, output *DescribeEgressOnlyInternetGatewaysOutput) {
  8475. op := &request.Operation{
  8476. Name: opDescribeEgressOnlyInternetGateways,
  8477. HTTPMethod: "POST",
  8478. HTTPPath: "/",
  8479. }
  8480. if input == nil {
  8481. input = &DescribeEgressOnlyInternetGatewaysInput{}
  8482. }
  8483. output = &DescribeEgressOnlyInternetGatewaysOutput{}
  8484. req = c.newRequest(op, input, output)
  8485. return
  8486. }
  8487. // DescribeEgressOnlyInternetGateways API operation for Amazon Elastic Compute Cloud.
  8488. //
  8489. // Describes one or more of your egress-only Internet gateways.
  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 DescribeEgressOnlyInternetGateways for usage and error information.
  8497. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
  8498. func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
  8499. req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
  8500. return out, req.Send()
  8501. }
  8502. // DescribeEgressOnlyInternetGatewaysWithContext is the same as DescribeEgressOnlyInternetGateways with the addition of
  8503. // the ability to pass a context and additional request options.
  8504. //
  8505. // See DescribeEgressOnlyInternetGateways for details on how to use this API operation.
  8506. //
  8507. // The context must be non-nil and will be used for request cancellation. If
  8508. // the context is nil a panic will occur. In the future the SDK may create
  8509. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8510. // for more information on using Contexts.
  8511. func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, opts ...request.Option) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
  8512. req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
  8513. req.SetContext(ctx)
  8514. req.ApplyOptions(opts...)
  8515. return out, req.Send()
  8516. }
  8517. const opDescribeElasticGpus = "DescribeElasticGpus"
  8518. // DescribeElasticGpusRequest generates a "aws/request.Request" representing the
  8519. // client's request for the DescribeElasticGpus operation. The "output" return
  8520. // value will be populated with the request's response once the request completes
  8521. // successfuly.
  8522. //
  8523. // Use "Send" method on the returned Request to send the API call to the service.
  8524. // the "output" return value is not valid until after Send returns without error.
  8525. //
  8526. // See DescribeElasticGpus for more information on using the DescribeElasticGpus
  8527. // API call, and error handling.
  8528. //
  8529. // This method is useful when you want to inject custom logic or configuration
  8530. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8531. //
  8532. //
  8533. // // Example sending a request using the DescribeElasticGpusRequest method.
  8534. // req, resp := client.DescribeElasticGpusRequest(params)
  8535. //
  8536. // err := req.Send()
  8537. // if err == nil { // resp is now filled
  8538. // fmt.Println(resp)
  8539. // }
  8540. //
  8541. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
  8542. func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req *request.Request, output *DescribeElasticGpusOutput) {
  8543. op := &request.Operation{
  8544. Name: opDescribeElasticGpus,
  8545. HTTPMethod: "POST",
  8546. HTTPPath: "/",
  8547. }
  8548. if input == nil {
  8549. input = &DescribeElasticGpusInput{}
  8550. }
  8551. output = &DescribeElasticGpusOutput{}
  8552. req = c.newRequest(op, input, output)
  8553. return
  8554. }
  8555. // DescribeElasticGpus API operation for Amazon Elastic Compute Cloud.
  8556. //
  8557. // Describes the Elastic GPUs associated with your instances. For more information
  8558. // about Elastic GPUs, see Amazon EC2 Elastic GPUs (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html).
  8559. //
  8560. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8561. // with awserr.Error's Code and Message methods to get detailed information about
  8562. // the error.
  8563. //
  8564. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8565. // API operation DescribeElasticGpus for usage and error information.
  8566. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
  8567. func (c *EC2) DescribeElasticGpus(input *DescribeElasticGpusInput) (*DescribeElasticGpusOutput, error) {
  8568. req, out := c.DescribeElasticGpusRequest(input)
  8569. return out, req.Send()
  8570. }
  8571. // DescribeElasticGpusWithContext is the same as DescribeElasticGpus with the addition of
  8572. // the ability to pass a context and additional request options.
  8573. //
  8574. // See DescribeElasticGpus for details on how to use this API operation.
  8575. //
  8576. // The context must be non-nil and will be used for request cancellation. If
  8577. // the context is nil a panic will occur. In the future the SDK may create
  8578. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8579. // for more information on using Contexts.
  8580. func (c *EC2) DescribeElasticGpusWithContext(ctx aws.Context, input *DescribeElasticGpusInput, opts ...request.Option) (*DescribeElasticGpusOutput, error) {
  8581. req, out := c.DescribeElasticGpusRequest(input)
  8582. req.SetContext(ctx)
  8583. req.ApplyOptions(opts...)
  8584. return out, req.Send()
  8585. }
  8586. const opDescribeExportTasks = "DescribeExportTasks"
  8587. // DescribeExportTasksRequest generates a "aws/request.Request" representing the
  8588. // client's request for the DescribeExportTasks operation. The "output" return
  8589. // value will be populated with the request's response once the request completes
  8590. // successfuly.
  8591. //
  8592. // Use "Send" method on the returned Request to send the API call to the service.
  8593. // the "output" return value is not valid until after Send returns without error.
  8594. //
  8595. // See DescribeExportTasks for more information on using the DescribeExportTasks
  8596. // API call, and error handling.
  8597. //
  8598. // This method is useful when you want to inject custom logic or configuration
  8599. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8600. //
  8601. //
  8602. // // Example sending a request using the DescribeExportTasksRequest method.
  8603. // req, resp := client.DescribeExportTasksRequest(params)
  8604. //
  8605. // err := req.Send()
  8606. // if err == nil { // resp is now filled
  8607. // fmt.Println(resp)
  8608. // }
  8609. //
  8610. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
  8611. func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
  8612. op := &request.Operation{
  8613. Name: opDescribeExportTasks,
  8614. HTTPMethod: "POST",
  8615. HTTPPath: "/",
  8616. }
  8617. if input == nil {
  8618. input = &DescribeExportTasksInput{}
  8619. }
  8620. output = &DescribeExportTasksOutput{}
  8621. req = c.newRequest(op, input, output)
  8622. return
  8623. }
  8624. // DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
  8625. //
  8626. // Describes one or more of your export tasks.
  8627. //
  8628. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8629. // with awserr.Error's Code and Message methods to get detailed information about
  8630. // the error.
  8631. //
  8632. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8633. // API operation DescribeExportTasks for usage and error information.
  8634. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
  8635. func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
  8636. req, out := c.DescribeExportTasksRequest(input)
  8637. return out, req.Send()
  8638. }
  8639. // DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
  8640. // the ability to pass a context and additional request options.
  8641. //
  8642. // See DescribeExportTasks for details on how to use this API operation.
  8643. //
  8644. // The context must be non-nil and will be used for request cancellation. If
  8645. // the context is nil a panic will occur. In the future the SDK may create
  8646. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8647. // for more information on using Contexts.
  8648. func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
  8649. req, out := c.DescribeExportTasksRequest(input)
  8650. req.SetContext(ctx)
  8651. req.ApplyOptions(opts...)
  8652. return out, req.Send()
  8653. }
  8654. const opDescribeFleetHistory = "DescribeFleetHistory"
  8655. // DescribeFleetHistoryRequest generates a "aws/request.Request" representing the
  8656. // client's request for the DescribeFleetHistory operation. The "output" return
  8657. // value will be populated with the request's response once the request completes
  8658. // successfuly.
  8659. //
  8660. // Use "Send" method on the returned Request to send the API call to the service.
  8661. // the "output" return value is not valid until after Send returns without error.
  8662. //
  8663. // See DescribeFleetHistory for more information on using the DescribeFleetHistory
  8664. // API call, and error handling.
  8665. //
  8666. // This method is useful when you want to inject custom logic or configuration
  8667. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8668. //
  8669. //
  8670. // // Example sending a request using the DescribeFleetHistoryRequest method.
  8671. // req, resp := client.DescribeFleetHistoryRequest(params)
  8672. //
  8673. // err := req.Send()
  8674. // if err == nil { // resp is now filled
  8675. // fmt.Println(resp)
  8676. // }
  8677. //
  8678. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
  8679. func (c *EC2) DescribeFleetHistoryRequest(input *DescribeFleetHistoryInput) (req *request.Request, output *DescribeFleetHistoryOutput) {
  8680. op := &request.Operation{
  8681. Name: opDescribeFleetHistory,
  8682. HTTPMethod: "POST",
  8683. HTTPPath: "/",
  8684. }
  8685. if input == nil {
  8686. input = &DescribeFleetHistoryInput{}
  8687. }
  8688. output = &DescribeFleetHistoryOutput{}
  8689. req = c.newRequest(op, input, output)
  8690. return
  8691. }
  8692. // DescribeFleetHistory API operation for Amazon Elastic Compute Cloud.
  8693. //
  8694. // Describes the events for the specified EC2 Fleet during the specified time.
  8695. //
  8696. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8697. // with awserr.Error's Code and Message methods to get detailed information about
  8698. // the error.
  8699. //
  8700. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8701. // API operation DescribeFleetHistory for usage and error information.
  8702. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
  8703. func (c *EC2) DescribeFleetHistory(input *DescribeFleetHistoryInput) (*DescribeFleetHistoryOutput, error) {
  8704. req, out := c.DescribeFleetHistoryRequest(input)
  8705. return out, req.Send()
  8706. }
  8707. // DescribeFleetHistoryWithContext is the same as DescribeFleetHistory with the addition of
  8708. // the ability to pass a context and additional request options.
  8709. //
  8710. // See DescribeFleetHistory for details on how to use this API operation.
  8711. //
  8712. // The context must be non-nil and will be used for request cancellation. If
  8713. // the context is nil a panic will occur. In the future the SDK may create
  8714. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8715. // for more information on using Contexts.
  8716. func (c *EC2) DescribeFleetHistoryWithContext(ctx aws.Context, input *DescribeFleetHistoryInput, opts ...request.Option) (*DescribeFleetHistoryOutput, error) {
  8717. req, out := c.DescribeFleetHistoryRequest(input)
  8718. req.SetContext(ctx)
  8719. req.ApplyOptions(opts...)
  8720. return out, req.Send()
  8721. }
  8722. const opDescribeFleetInstances = "DescribeFleetInstances"
  8723. // DescribeFleetInstancesRequest generates a "aws/request.Request" representing the
  8724. // client's request for the DescribeFleetInstances operation. The "output" return
  8725. // value will be populated with the request's response once the request completes
  8726. // successfuly.
  8727. //
  8728. // Use "Send" method on the returned Request to send the API call to the service.
  8729. // the "output" return value is not valid until after Send returns without error.
  8730. //
  8731. // See DescribeFleetInstances for more information on using the DescribeFleetInstances
  8732. // API call, and error handling.
  8733. //
  8734. // This method is useful when you want to inject custom logic or configuration
  8735. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8736. //
  8737. //
  8738. // // Example sending a request using the DescribeFleetInstancesRequest method.
  8739. // req, resp := client.DescribeFleetInstancesRequest(params)
  8740. //
  8741. // err := req.Send()
  8742. // if err == nil { // resp is now filled
  8743. // fmt.Println(resp)
  8744. // }
  8745. //
  8746. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
  8747. func (c *EC2) DescribeFleetInstancesRequest(input *DescribeFleetInstancesInput) (req *request.Request, output *DescribeFleetInstancesOutput) {
  8748. op := &request.Operation{
  8749. Name: opDescribeFleetInstances,
  8750. HTTPMethod: "POST",
  8751. HTTPPath: "/",
  8752. }
  8753. if input == nil {
  8754. input = &DescribeFleetInstancesInput{}
  8755. }
  8756. output = &DescribeFleetInstancesOutput{}
  8757. req = c.newRequest(op, input, output)
  8758. return
  8759. }
  8760. // DescribeFleetInstances API operation for Amazon Elastic Compute Cloud.
  8761. //
  8762. // Describes the running instances for the specified EC2 Fleet.
  8763. //
  8764. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8765. // with awserr.Error's Code and Message methods to get detailed information about
  8766. // the error.
  8767. //
  8768. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8769. // API operation DescribeFleetInstances for usage and error information.
  8770. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
  8771. func (c *EC2) DescribeFleetInstances(input *DescribeFleetInstancesInput) (*DescribeFleetInstancesOutput, error) {
  8772. req, out := c.DescribeFleetInstancesRequest(input)
  8773. return out, req.Send()
  8774. }
  8775. // DescribeFleetInstancesWithContext is the same as DescribeFleetInstances with the addition of
  8776. // the ability to pass a context and additional request options.
  8777. //
  8778. // See DescribeFleetInstances for details on how to use this API operation.
  8779. //
  8780. // The context must be non-nil and will be used for request cancellation. If
  8781. // the context is nil a panic will occur. In the future the SDK may create
  8782. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8783. // for more information on using Contexts.
  8784. func (c *EC2) DescribeFleetInstancesWithContext(ctx aws.Context, input *DescribeFleetInstancesInput, opts ...request.Option) (*DescribeFleetInstancesOutput, error) {
  8785. req, out := c.DescribeFleetInstancesRequest(input)
  8786. req.SetContext(ctx)
  8787. req.ApplyOptions(opts...)
  8788. return out, req.Send()
  8789. }
  8790. const opDescribeFleets = "DescribeFleets"
  8791. // DescribeFleetsRequest generates a "aws/request.Request" representing the
  8792. // client's request for the DescribeFleets operation. The "output" return
  8793. // value will be populated with the request's response once the request completes
  8794. // successfuly.
  8795. //
  8796. // Use "Send" method on the returned Request to send the API call to the service.
  8797. // the "output" return value is not valid until after Send returns without error.
  8798. //
  8799. // See DescribeFleets for more information on using the DescribeFleets
  8800. // API call, and error handling.
  8801. //
  8802. // This method is useful when you want to inject custom logic or configuration
  8803. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8804. //
  8805. //
  8806. // // Example sending a request using the DescribeFleetsRequest method.
  8807. // req, resp := client.DescribeFleetsRequest(params)
  8808. //
  8809. // err := req.Send()
  8810. // if err == nil { // resp is now filled
  8811. // fmt.Println(resp)
  8812. // }
  8813. //
  8814. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
  8815. func (c *EC2) DescribeFleetsRequest(input *DescribeFleetsInput) (req *request.Request, output *DescribeFleetsOutput) {
  8816. op := &request.Operation{
  8817. Name: opDescribeFleets,
  8818. HTTPMethod: "POST",
  8819. HTTPPath: "/",
  8820. }
  8821. if input == nil {
  8822. input = &DescribeFleetsInput{}
  8823. }
  8824. output = &DescribeFleetsOutput{}
  8825. req = c.newRequest(op, input, output)
  8826. return
  8827. }
  8828. // DescribeFleets API operation for Amazon Elastic Compute Cloud.
  8829. //
  8830. // Describes the specified EC2 Fleet.
  8831. //
  8832. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8833. // with awserr.Error's Code and Message methods to get detailed information about
  8834. // the error.
  8835. //
  8836. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8837. // API operation DescribeFleets for usage and error information.
  8838. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
  8839. func (c *EC2) DescribeFleets(input *DescribeFleetsInput) (*DescribeFleetsOutput, error) {
  8840. req, out := c.DescribeFleetsRequest(input)
  8841. return out, req.Send()
  8842. }
  8843. // DescribeFleetsWithContext is the same as DescribeFleets with the addition of
  8844. // the ability to pass a context and additional request options.
  8845. //
  8846. // See DescribeFleets for details on how to use this API operation.
  8847. //
  8848. // The context must be non-nil and will be used for request cancellation. If
  8849. // the context is nil a panic will occur. In the future the SDK may create
  8850. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8851. // for more information on using Contexts.
  8852. func (c *EC2) DescribeFleetsWithContext(ctx aws.Context, input *DescribeFleetsInput, opts ...request.Option) (*DescribeFleetsOutput, error) {
  8853. req, out := c.DescribeFleetsRequest(input)
  8854. req.SetContext(ctx)
  8855. req.ApplyOptions(opts...)
  8856. return out, req.Send()
  8857. }
  8858. const opDescribeFlowLogs = "DescribeFlowLogs"
  8859. // DescribeFlowLogsRequest generates a "aws/request.Request" representing the
  8860. // client's request for the DescribeFlowLogs operation. The "output" return
  8861. // value will be populated with the request's response once the request completes
  8862. // successfuly.
  8863. //
  8864. // Use "Send" method on the returned Request to send the API call to the service.
  8865. // the "output" return value is not valid until after Send returns without error.
  8866. //
  8867. // See DescribeFlowLogs for more information on using the DescribeFlowLogs
  8868. // API call, and error handling.
  8869. //
  8870. // This method is useful when you want to inject custom logic or configuration
  8871. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8872. //
  8873. //
  8874. // // Example sending a request using the DescribeFlowLogsRequest method.
  8875. // req, resp := client.DescribeFlowLogsRequest(params)
  8876. //
  8877. // err := req.Send()
  8878. // if err == nil { // resp is now filled
  8879. // fmt.Println(resp)
  8880. // }
  8881. //
  8882. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
  8883. func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
  8884. op := &request.Operation{
  8885. Name: opDescribeFlowLogs,
  8886. HTTPMethod: "POST",
  8887. HTTPPath: "/",
  8888. }
  8889. if input == nil {
  8890. input = &DescribeFlowLogsInput{}
  8891. }
  8892. output = &DescribeFlowLogsOutput{}
  8893. req = c.newRequest(op, input, output)
  8894. return
  8895. }
  8896. // DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
  8897. //
  8898. // Describes one or more flow logs. To view the information in your flow logs
  8899. // (the log streams for the network interfaces), you must use the CloudWatch
  8900. // Logs console or the CloudWatch Logs API.
  8901. //
  8902. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8903. // with awserr.Error's Code and Message methods to get detailed information about
  8904. // the error.
  8905. //
  8906. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8907. // API operation DescribeFlowLogs for usage and error information.
  8908. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
  8909. func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
  8910. req, out := c.DescribeFlowLogsRequest(input)
  8911. return out, req.Send()
  8912. }
  8913. // DescribeFlowLogsWithContext is the same as DescribeFlowLogs with the addition of
  8914. // the ability to pass a context and additional request options.
  8915. //
  8916. // See DescribeFlowLogs for details on how to use this API operation.
  8917. //
  8918. // The context must be non-nil and will be used for request cancellation. If
  8919. // the context is nil a panic will occur. In the future the SDK may create
  8920. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8921. // for more information on using Contexts.
  8922. func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLogsInput, opts ...request.Option) (*DescribeFlowLogsOutput, error) {
  8923. req, out := c.DescribeFlowLogsRequest(input)
  8924. req.SetContext(ctx)
  8925. req.ApplyOptions(opts...)
  8926. return out, req.Send()
  8927. }
  8928. const opDescribeFpgaImageAttribute = "DescribeFpgaImageAttribute"
  8929. // DescribeFpgaImageAttributeRequest generates a "aws/request.Request" representing the
  8930. // client's request for the DescribeFpgaImageAttribute operation. The "output" return
  8931. // value will be populated with the request's response once the request completes
  8932. // successfuly.
  8933. //
  8934. // Use "Send" method on the returned Request to send the API call to the service.
  8935. // the "output" return value is not valid until after Send returns without error.
  8936. //
  8937. // See DescribeFpgaImageAttribute for more information on using the DescribeFpgaImageAttribute
  8938. // API call, and error handling.
  8939. //
  8940. // This method is useful when you want to inject custom logic or configuration
  8941. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8942. //
  8943. //
  8944. // // Example sending a request using the DescribeFpgaImageAttributeRequest method.
  8945. // req, resp := client.DescribeFpgaImageAttributeRequest(params)
  8946. //
  8947. // err := req.Send()
  8948. // if err == nil { // resp is now filled
  8949. // fmt.Println(resp)
  8950. // }
  8951. //
  8952. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
  8953. func (c *EC2) DescribeFpgaImageAttributeRequest(input *DescribeFpgaImageAttributeInput) (req *request.Request, output *DescribeFpgaImageAttributeOutput) {
  8954. op := &request.Operation{
  8955. Name: opDescribeFpgaImageAttribute,
  8956. HTTPMethod: "POST",
  8957. HTTPPath: "/",
  8958. }
  8959. if input == nil {
  8960. input = &DescribeFpgaImageAttributeInput{}
  8961. }
  8962. output = &DescribeFpgaImageAttributeOutput{}
  8963. req = c.newRequest(op, input, output)
  8964. return
  8965. }
  8966. // DescribeFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
  8967. //
  8968. // Describes the specified attribute of the specified Amazon FPGA Image (AFI).
  8969. //
  8970. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8971. // with awserr.Error's Code and Message methods to get detailed information about
  8972. // the error.
  8973. //
  8974. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8975. // API operation DescribeFpgaImageAttribute for usage and error information.
  8976. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
  8977. func (c *EC2) DescribeFpgaImageAttribute(input *DescribeFpgaImageAttributeInput) (*DescribeFpgaImageAttributeOutput, error) {
  8978. req, out := c.DescribeFpgaImageAttributeRequest(input)
  8979. return out, req.Send()
  8980. }
  8981. // DescribeFpgaImageAttributeWithContext is the same as DescribeFpgaImageAttribute with the addition of
  8982. // the ability to pass a context and additional request options.
  8983. //
  8984. // See DescribeFpgaImageAttribute for details on how to use this API operation.
  8985. //
  8986. // The context must be non-nil and will be used for request cancellation. If
  8987. // the context is nil a panic will occur. In the future the SDK may create
  8988. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8989. // for more information on using Contexts.
  8990. func (c *EC2) DescribeFpgaImageAttributeWithContext(ctx aws.Context, input *DescribeFpgaImageAttributeInput, opts ...request.Option) (*DescribeFpgaImageAttributeOutput, error) {
  8991. req, out := c.DescribeFpgaImageAttributeRequest(input)
  8992. req.SetContext(ctx)
  8993. req.ApplyOptions(opts...)
  8994. return out, req.Send()
  8995. }
  8996. const opDescribeFpgaImages = "DescribeFpgaImages"
  8997. // DescribeFpgaImagesRequest generates a "aws/request.Request" representing the
  8998. // client's request for the DescribeFpgaImages operation. The "output" return
  8999. // value will be populated with the request's response once the request completes
  9000. // successfuly.
  9001. //
  9002. // Use "Send" method on the returned Request to send the API call to the service.
  9003. // the "output" return value is not valid until after Send returns without error.
  9004. //
  9005. // See DescribeFpgaImages for more information on using the DescribeFpgaImages
  9006. // API call, and error handling.
  9007. //
  9008. // This method is useful when you want to inject custom logic or configuration
  9009. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9010. //
  9011. //
  9012. // // Example sending a request using the DescribeFpgaImagesRequest method.
  9013. // req, resp := client.DescribeFpgaImagesRequest(params)
  9014. //
  9015. // err := req.Send()
  9016. // if err == nil { // resp is now filled
  9017. // fmt.Println(resp)
  9018. // }
  9019. //
  9020. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
  9021. func (c *EC2) DescribeFpgaImagesRequest(input *DescribeFpgaImagesInput) (req *request.Request, output *DescribeFpgaImagesOutput) {
  9022. op := &request.Operation{
  9023. Name: opDescribeFpgaImages,
  9024. HTTPMethod: "POST",
  9025. HTTPPath: "/",
  9026. }
  9027. if input == nil {
  9028. input = &DescribeFpgaImagesInput{}
  9029. }
  9030. output = &DescribeFpgaImagesOutput{}
  9031. req = c.newRequest(op, input, output)
  9032. return
  9033. }
  9034. // DescribeFpgaImages API operation for Amazon Elastic Compute Cloud.
  9035. //
  9036. // Describes one or more available Amazon FPGA Images (AFIs). These include
  9037. // public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts
  9038. // for which you have load permissions.
  9039. //
  9040. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9041. // with awserr.Error's Code and Message methods to get detailed information about
  9042. // the error.
  9043. //
  9044. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9045. // API operation DescribeFpgaImages for usage and error information.
  9046. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
  9047. func (c *EC2) DescribeFpgaImages(input *DescribeFpgaImagesInput) (*DescribeFpgaImagesOutput, error) {
  9048. req, out := c.DescribeFpgaImagesRequest(input)
  9049. return out, req.Send()
  9050. }
  9051. // DescribeFpgaImagesWithContext is the same as DescribeFpgaImages with the addition of
  9052. // the ability to pass a context and additional request options.
  9053. //
  9054. // See DescribeFpgaImages for details on how to use this API operation.
  9055. //
  9056. // The context must be non-nil and will be used for request cancellation. If
  9057. // the context is nil a panic will occur. In the future the SDK may create
  9058. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9059. // for more information on using Contexts.
  9060. func (c *EC2) DescribeFpgaImagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, opts ...request.Option) (*DescribeFpgaImagesOutput, error) {
  9061. req, out := c.DescribeFpgaImagesRequest(input)
  9062. req.SetContext(ctx)
  9063. req.ApplyOptions(opts...)
  9064. return out, req.Send()
  9065. }
  9066. const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
  9067. // DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
  9068. // client's request for the DescribeHostReservationOfferings operation. The "output" return
  9069. // value will be populated with the request's response once the request completes
  9070. // successfuly.
  9071. //
  9072. // Use "Send" method on the returned Request to send the API call to the service.
  9073. // the "output" return value is not valid until after Send returns without error.
  9074. //
  9075. // See DescribeHostReservationOfferings for more information on using the DescribeHostReservationOfferings
  9076. // API call, and error handling.
  9077. //
  9078. // This method is useful when you want to inject custom logic or configuration
  9079. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9080. //
  9081. //
  9082. // // Example sending a request using the DescribeHostReservationOfferingsRequest method.
  9083. // req, resp := client.DescribeHostReservationOfferingsRequest(params)
  9084. //
  9085. // err := req.Send()
  9086. // if err == nil { // resp is now filled
  9087. // fmt.Println(resp)
  9088. // }
  9089. //
  9090. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
  9091. func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
  9092. op := &request.Operation{
  9093. Name: opDescribeHostReservationOfferings,
  9094. HTTPMethod: "POST",
  9095. HTTPPath: "/",
  9096. }
  9097. if input == nil {
  9098. input = &DescribeHostReservationOfferingsInput{}
  9099. }
  9100. output = &DescribeHostReservationOfferingsOutput{}
  9101. req = c.newRequest(op, input, output)
  9102. return
  9103. }
  9104. // DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
  9105. //
  9106. // Describes the Dedicated Host Reservations that are available to purchase.
  9107. //
  9108. // The results describe all the Dedicated Host Reservation offerings, including
  9109. // offerings that may not match the instance family and region of your Dedicated
  9110. // Hosts. When purchasing an offering, ensure that the the instance family and
  9111. // region of the offering matches that of the Dedicated Host/s it will be associated
  9112. // with. For an overview of supported instance types, see Dedicated Hosts Overview
  9113. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)
  9114. // in the Amazon Elastic Compute Cloud User Guide.
  9115. //
  9116. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9117. // with awserr.Error's Code and Message methods to get detailed information about
  9118. // the error.
  9119. //
  9120. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9121. // API operation DescribeHostReservationOfferings for usage and error information.
  9122. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
  9123. func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
  9124. req, out := c.DescribeHostReservationOfferingsRequest(input)
  9125. return out, req.Send()
  9126. }
  9127. // DescribeHostReservationOfferingsWithContext is the same as DescribeHostReservationOfferings with the addition of
  9128. // the ability to pass a context and additional request options.
  9129. //
  9130. // See DescribeHostReservationOfferings for details on how to use this API operation.
  9131. //
  9132. // The context must be non-nil and will be used for request cancellation. If
  9133. // the context is nil a panic will occur. In the future the SDK may create
  9134. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9135. // for more information on using Contexts.
  9136. func (c *EC2) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, opts ...request.Option) (*DescribeHostReservationOfferingsOutput, error) {
  9137. req, out := c.DescribeHostReservationOfferingsRequest(input)
  9138. req.SetContext(ctx)
  9139. req.ApplyOptions(opts...)
  9140. return out, req.Send()
  9141. }
  9142. const opDescribeHostReservations = "DescribeHostReservations"
  9143. // DescribeHostReservationsRequest generates a "aws/request.Request" representing the
  9144. // client's request for the DescribeHostReservations operation. The "output" return
  9145. // value will be populated with the request's response once the request completes
  9146. // successfuly.
  9147. //
  9148. // Use "Send" method on the returned Request to send the API call to the service.
  9149. // the "output" return value is not valid until after Send returns without error.
  9150. //
  9151. // See DescribeHostReservations for more information on using the DescribeHostReservations
  9152. // API call, and error handling.
  9153. //
  9154. // This method is useful when you want to inject custom logic or configuration
  9155. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9156. //
  9157. //
  9158. // // Example sending a request using the DescribeHostReservationsRequest method.
  9159. // req, resp := client.DescribeHostReservationsRequest(params)
  9160. //
  9161. // err := req.Send()
  9162. // if err == nil { // resp is now filled
  9163. // fmt.Println(resp)
  9164. // }
  9165. //
  9166. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
  9167. func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
  9168. op := &request.Operation{
  9169. Name: opDescribeHostReservations,
  9170. HTTPMethod: "POST",
  9171. HTTPPath: "/",
  9172. }
  9173. if input == nil {
  9174. input = &DescribeHostReservationsInput{}
  9175. }
  9176. output = &DescribeHostReservationsOutput{}
  9177. req = c.newRequest(op, input, output)
  9178. return
  9179. }
  9180. // DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
  9181. //
  9182. // Describes Dedicated Host Reservations which are associated with Dedicated
  9183. // Hosts in your account.
  9184. //
  9185. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9186. // with awserr.Error's Code and Message methods to get detailed information about
  9187. // the error.
  9188. //
  9189. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9190. // API operation DescribeHostReservations for usage and error information.
  9191. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
  9192. func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
  9193. req, out := c.DescribeHostReservationsRequest(input)
  9194. return out, req.Send()
  9195. }
  9196. // DescribeHostReservationsWithContext is the same as DescribeHostReservations with the addition of
  9197. // the ability to pass a context and additional request options.
  9198. //
  9199. // See DescribeHostReservations for details on how to use this API operation.
  9200. //
  9201. // The context must be non-nil and will be used for request cancellation. If
  9202. // the context is nil a panic will occur. In the future the SDK may create
  9203. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9204. // for more information on using Contexts.
  9205. func (c *EC2) DescribeHostReservationsWithContext(ctx aws.Context, input *DescribeHostReservationsInput, opts ...request.Option) (*DescribeHostReservationsOutput, error) {
  9206. req, out := c.DescribeHostReservationsRequest(input)
  9207. req.SetContext(ctx)
  9208. req.ApplyOptions(opts...)
  9209. return out, req.Send()
  9210. }
  9211. const opDescribeHosts = "DescribeHosts"
  9212. // DescribeHostsRequest generates a "aws/request.Request" representing the
  9213. // client's request for the DescribeHosts operation. The "output" return
  9214. // value will be populated with the request's response once the request completes
  9215. // successfuly.
  9216. //
  9217. // Use "Send" method on the returned Request to send the API call to the service.
  9218. // the "output" return value is not valid until after Send returns without error.
  9219. //
  9220. // See DescribeHosts for more information on using the DescribeHosts
  9221. // API call, and error handling.
  9222. //
  9223. // This method is useful when you want to inject custom logic or configuration
  9224. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9225. //
  9226. //
  9227. // // Example sending a request using the DescribeHostsRequest method.
  9228. // req, resp := client.DescribeHostsRequest(params)
  9229. //
  9230. // err := req.Send()
  9231. // if err == nil { // resp is now filled
  9232. // fmt.Println(resp)
  9233. // }
  9234. //
  9235. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
  9236. func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
  9237. op := &request.Operation{
  9238. Name: opDescribeHosts,
  9239. HTTPMethod: "POST",
  9240. HTTPPath: "/",
  9241. }
  9242. if input == nil {
  9243. input = &DescribeHostsInput{}
  9244. }
  9245. output = &DescribeHostsOutput{}
  9246. req = c.newRequest(op, input, output)
  9247. return
  9248. }
  9249. // DescribeHosts API operation for Amazon Elastic Compute Cloud.
  9250. //
  9251. // Describes one or more of your Dedicated Hosts.
  9252. //
  9253. // The results describe only the Dedicated Hosts in the region you're currently
  9254. // using. All listed instances consume capacity on your Dedicated Host. Dedicated
  9255. // Hosts that have recently been released will be listed with the state released.
  9256. //
  9257. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9258. // with awserr.Error's Code and Message methods to get detailed information about
  9259. // the error.
  9260. //
  9261. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9262. // API operation DescribeHosts for usage and error information.
  9263. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
  9264. func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
  9265. req, out := c.DescribeHostsRequest(input)
  9266. return out, req.Send()
  9267. }
  9268. // DescribeHostsWithContext is the same as DescribeHosts with the addition of
  9269. // the ability to pass a context and additional request options.
  9270. //
  9271. // See DescribeHosts for details on how to use this API operation.
  9272. //
  9273. // The context must be non-nil and will be used for request cancellation. If
  9274. // the context is nil a panic will occur. In the future the SDK may create
  9275. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9276. // for more information on using Contexts.
  9277. func (c *EC2) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInput, opts ...request.Option) (*DescribeHostsOutput, error) {
  9278. req, out := c.DescribeHostsRequest(input)
  9279. req.SetContext(ctx)
  9280. req.ApplyOptions(opts...)
  9281. return out, req.Send()
  9282. }
  9283. const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations"
  9284. // DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the
  9285. // client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return
  9286. // value will be populated with the request's response once the request completes
  9287. // successfuly.
  9288. //
  9289. // Use "Send" method on the returned Request to send the API call to the service.
  9290. // the "output" return value is not valid until after Send returns without error.
  9291. //
  9292. // See DescribeIamInstanceProfileAssociations for more information on using the DescribeIamInstanceProfileAssociations
  9293. // API call, and error handling.
  9294. //
  9295. // This method is useful when you want to inject custom logic or configuration
  9296. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9297. //
  9298. //
  9299. // // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method.
  9300. // req, resp := client.DescribeIamInstanceProfileAssociationsRequest(params)
  9301. //
  9302. // err := req.Send()
  9303. // if err == nil { // resp is now filled
  9304. // fmt.Println(resp)
  9305. // }
  9306. //
  9307. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
  9308. func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamInstanceProfileAssociationsInput) (req *request.Request, output *DescribeIamInstanceProfileAssociationsOutput) {
  9309. op := &request.Operation{
  9310. Name: opDescribeIamInstanceProfileAssociations,
  9311. HTTPMethod: "POST",
  9312. HTTPPath: "/",
  9313. }
  9314. if input == nil {
  9315. input = &DescribeIamInstanceProfileAssociationsInput{}
  9316. }
  9317. output = &DescribeIamInstanceProfileAssociationsOutput{}
  9318. req = c.newRequest(op, input, output)
  9319. return
  9320. }
  9321. // DescribeIamInstanceProfileAssociations API operation for Amazon Elastic Compute Cloud.
  9322. //
  9323. // Describes your IAM instance profile associations.
  9324. //
  9325. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9326. // with awserr.Error's Code and Message methods to get detailed information about
  9327. // the error.
  9328. //
  9329. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9330. // API operation DescribeIamInstanceProfileAssociations for usage and error information.
  9331. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
  9332. func (c *EC2) DescribeIamInstanceProfileAssociations(input *DescribeIamInstanceProfileAssociationsInput) (*DescribeIamInstanceProfileAssociationsOutput, error) {
  9333. req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
  9334. return out, req.Send()
  9335. }
  9336. // DescribeIamInstanceProfileAssociationsWithContext is the same as DescribeIamInstanceProfileAssociations with the addition of
  9337. // the ability to pass a context and additional request options.
  9338. //
  9339. // See DescribeIamInstanceProfileAssociations for details on how to use this API operation.
  9340. //
  9341. // The context must be non-nil and will be used for request cancellation. If
  9342. // the context is nil a panic will occur. In the future the SDK may create
  9343. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9344. // for more information on using Contexts.
  9345. func (c *EC2) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, opts ...request.Option) (*DescribeIamInstanceProfileAssociationsOutput, error) {
  9346. req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
  9347. req.SetContext(ctx)
  9348. req.ApplyOptions(opts...)
  9349. return out, req.Send()
  9350. }
  9351. const opDescribeIdFormat = "DescribeIdFormat"
  9352. // DescribeIdFormatRequest generates a "aws/request.Request" representing the
  9353. // client's request for the DescribeIdFormat operation. The "output" return
  9354. // value will be populated with the request's response once the request completes
  9355. // successfuly.
  9356. //
  9357. // Use "Send" method on the returned Request to send the API call to the service.
  9358. // the "output" return value is not valid until after Send returns without error.
  9359. //
  9360. // See DescribeIdFormat for more information on using the DescribeIdFormat
  9361. // API call, and error handling.
  9362. //
  9363. // This method is useful when you want to inject custom logic or configuration
  9364. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9365. //
  9366. //
  9367. // // Example sending a request using the DescribeIdFormatRequest method.
  9368. // req, resp := client.DescribeIdFormatRequest(params)
  9369. //
  9370. // err := req.Send()
  9371. // if err == nil { // resp is now filled
  9372. // fmt.Println(resp)
  9373. // }
  9374. //
  9375. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
  9376. func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
  9377. op := &request.Operation{
  9378. Name: opDescribeIdFormat,
  9379. HTTPMethod: "POST",
  9380. HTTPPath: "/",
  9381. }
  9382. if input == nil {
  9383. input = &DescribeIdFormatInput{}
  9384. }
  9385. output = &DescribeIdFormatOutput{}
  9386. req = c.newRequest(op, input, output)
  9387. return
  9388. }
  9389. // DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
  9390. //
  9391. // Describes the ID format settings for your resources on a per-region basis,
  9392. // for example, to view which resource types are enabled for longer IDs. This
  9393. // request only returns information about resource types whose ID formats can
  9394. // be modified; it does not return information about other resource types.
  9395. //
  9396. // The following resource types support longer IDs: bundle | conversion-task
  9397. // | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
  9398. // | export-task | flow-log | image | import-task | instance | internet-gateway
  9399. // | network-acl | network-acl-association | network-interface | network-interface-attachment
  9400. // | prefix-list | reservation | route-table | route-table-association | security-group
  9401. // | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  9402. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  9403. //
  9404. // These settings apply to the IAM user who makes the request; they do not apply
  9405. // to the entire AWS account. By default, an IAM user defaults to the same settings
  9406. // as the root user, unless they explicitly override the settings by running
  9407. // the ModifyIdFormat command. Resources created with longer IDs are visible
  9408. // to all IAM users, regardless of these settings and provided that they have
  9409. // permission to use the relevant Describe command for the resource type.
  9410. //
  9411. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9412. // with awserr.Error's Code and Message methods to get detailed information about
  9413. // the error.
  9414. //
  9415. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9416. // API operation DescribeIdFormat for usage and error information.
  9417. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
  9418. func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
  9419. req, out := c.DescribeIdFormatRequest(input)
  9420. return out, req.Send()
  9421. }
  9422. // DescribeIdFormatWithContext is the same as DescribeIdFormat with the addition of
  9423. // the ability to pass a context and additional request options.
  9424. //
  9425. // See DescribeIdFormat for details on how to use this API operation.
  9426. //
  9427. // The context must be non-nil and will be used for request cancellation. If
  9428. // the context is nil a panic will occur. In the future the SDK may create
  9429. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9430. // for more information on using Contexts.
  9431. func (c *EC2) DescribeIdFormatWithContext(ctx aws.Context, input *DescribeIdFormatInput, opts ...request.Option) (*DescribeIdFormatOutput, error) {
  9432. req, out := c.DescribeIdFormatRequest(input)
  9433. req.SetContext(ctx)
  9434. req.ApplyOptions(opts...)
  9435. return out, req.Send()
  9436. }
  9437. const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
  9438. // DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
  9439. // client's request for the DescribeIdentityIdFormat operation. The "output" return
  9440. // value will be populated with the request's response once the request completes
  9441. // successfuly.
  9442. //
  9443. // Use "Send" method on the returned Request to send the API call to the service.
  9444. // the "output" return value is not valid until after Send returns without error.
  9445. //
  9446. // See DescribeIdentityIdFormat for more information on using the DescribeIdentityIdFormat
  9447. // API call, and error handling.
  9448. //
  9449. // This method is useful when you want to inject custom logic or configuration
  9450. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9451. //
  9452. //
  9453. // // Example sending a request using the DescribeIdentityIdFormatRequest method.
  9454. // req, resp := client.DescribeIdentityIdFormatRequest(params)
  9455. //
  9456. // err := req.Send()
  9457. // if err == nil { // resp is now filled
  9458. // fmt.Println(resp)
  9459. // }
  9460. //
  9461. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
  9462. func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
  9463. op := &request.Operation{
  9464. Name: opDescribeIdentityIdFormat,
  9465. HTTPMethod: "POST",
  9466. HTTPPath: "/",
  9467. }
  9468. if input == nil {
  9469. input = &DescribeIdentityIdFormatInput{}
  9470. }
  9471. output = &DescribeIdentityIdFormatOutput{}
  9472. req = c.newRequest(op, input, output)
  9473. return
  9474. }
  9475. // DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  9476. //
  9477. // Describes the ID format settings for resources for the specified IAM user,
  9478. // IAM role, or root user. For example, you can view the resource types that
  9479. // are enabled for longer IDs. This request only returns information about resource
  9480. // types whose ID formats can be modified; it does not return information about
  9481. // other resource types. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  9482. // in the Amazon Elastic Compute Cloud User Guide.
  9483. //
  9484. // The following resource types support longer IDs: bundle | conversion-task
  9485. // | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
  9486. // | export-task | flow-log | image | import-task | instance | internet-gateway
  9487. // | network-acl | network-acl-association | network-interface | network-interface-attachment
  9488. // | prefix-list | reservation | route-table | route-table-association | security-group
  9489. // | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  9490. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  9491. //
  9492. // These settings apply to the principal specified in the request. They do not
  9493. // apply to the principal that makes the request.
  9494. //
  9495. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9496. // with awserr.Error's Code and Message methods to get detailed information about
  9497. // the error.
  9498. //
  9499. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9500. // API operation DescribeIdentityIdFormat for usage and error information.
  9501. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
  9502. func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
  9503. req, out := c.DescribeIdentityIdFormatRequest(input)
  9504. return out, req.Send()
  9505. }
  9506. // DescribeIdentityIdFormatWithContext is the same as DescribeIdentityIdFormat with the addition of
  9507. // the ability to pass a context and additional request options.
  9508. //
  9509. // See DescribeIdentityIdFormat for details on how to use this API operation.
  9510. //
  9511. // The context must be non-nil and will be used for request cancellation. If
  9512. // the context is nil a panic will occur. In the future the SDK may create
  9513. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9514. // for more information on using Contexts.
  9515. func (c *EC2) DescribeIdentityIdFormatWithContext(ctx aws.Context, input *DescribeIdentityIdFormatInput, opts ...request.Option) (*DescribeIdentityIdFormatOutput, error) {
  9516. req, out := c.DescribeIdentityIdFormatRequest(input)
  9517. req.SetContext(ctx)
  9518. req.ApplyOptions(opts...)
  9519. return out, req.Send()
  9520. }
  9521. const opDescribeImageAttribute = "DescribeImageAttribute"
  9522. // DescribeImageAttributeRequest generates a "aws/request.Request" representing the
  9523. // client's request for the DescribeImageAttribute operation. The "output" return
  9524. // value will be populated with the request's response once the request completes
  9525. // successfuly.
  9526. //
  9527. // Use "Send" method on the returned Request to send the API call to the service.
  9528. // the "output" return value is not valid until after Send returns without error.
  9529. //
  9530. // See DescribeImageAttribute for more information on using the DescribeImageAttribute
  9531. // API call, and error handling.
  9532. //
  9533. // This method is useful when you want to inject custom logic or configuration
  9534. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9535. //
  9536. //
  9537. // // Example sending a request using the DescribeImageAttributeRequest method.
  9538. // req, resp := client.DescribeImageAttributeRequest(params)
  9539. //
  9540. // err := req.Send()
  9541. // if err == nil { // resp is now filled
  9542. // fmt.Println(resp)
  9543. // }
  9544. //
  9545. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
  9546. func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
  9547. op := &request.Operation{
  9548. Name: opDescribeImageAttribute,
  9549. HTTPMethod: "POST",
  9550. HTTPPath: "/",
  9551. }
  9552. if input == nil {
  9553. input = &DescribeImageAttributeInput{}
  9554. }
  9555. output = &DescribeImageAttributeOutput{}
  9556. req = c.newRequest(op, input, output)
  9557. return
  9558. }
  9559. // DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
  9560. //
  9561. // Describes the specified attribute of the specified AMI. You can specify only
  9562. // one attribute at a time.
  9563. //
  9564. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9565. // with awserr.Error's Code and Message methods to get detailed information about
  9566. // the error.
  9567. //
  9568. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9569. // API operation DescribeImageAttribute for usage and error information.
  9570. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
  9571. func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
  9572. req, out := c.DescribeImageAttributeRequest(input)
  9573. return out, req.Send()
  9574. }
  9575. // DescribeImageAttributeWithContext is the same as DescribeImageAttribute with the addition of
  9576. // the ability to pass a context and additional request options.
  9577. //
  9578. // See DescribeImageAttribute for details on how to use this API operation.
  9579. //
  9580. // The context must be non-nil and will be used for request cancellation. If
  9581. // the context is nil a panic will occur. In the future the SDK may create
  9582. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9583. // for more information on using Contexts.
  9584. func (c *EC2) DescribeImageAttributeWithContext(ctx aws.Context, input *DescribeImageAttributeInput, opts ...request.Option) (*DescribeImageAttributeOutput, error) {
  9585. req, out := c.DescribeImageAttributeRequest(input)
  9586. req.SetContext(ctx)
  9587. req.ApplyOptions(opts...)
  9588. return out, req.Send()
  9589. }
  9590. const opDescribeImages = "DescribeImages"
  9591. // DescribeImagesRequest generates a "aws/request.Request" representing the
  9592. // client's request for the DescribeImages operation. The "output" return
  9593. // value will be populated with the request's response once the request completes
  9594. // successfuly.
  9595. //
  9596. // Use "Send" method on the returned Request to send the API call to the service.
  9597. // the "output" return value is not valid until after Send returns without error.
  9598. //
  9599. // See DescribeImages for more information on using the DescribeImages
  9600. // API call, and error handling.
  9601. //
  9602. // This method is useful when you want to inject custom logic or configuration
  9603. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9604. //
  9605. //
  9606. // // Example sending a request using the DescribeImagesRequest method.
  9607. // req, resp := client.DescribeImagesRequest(params)
  9608. //
  9609. // err := req.Send()
  9610. // if err == nil { // resp is now filled
  9611. // fmt.Println(resp)
  9612. // }
  9613. //
  9614. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
  9615. func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
  9616. op := &request.Operation{
  9617. Name: opDescribeImages,
  9618. HTTPMethod: "POST",
  9619. HTTPPath: "/",
  9620. }
  9621. if input == nil {
  9622. input = &DescribeImagesInput{}
  9623. }
  9624. output = &DescribeImagesOutput{}
  9625. req = c.newRequest(op, input, output)
  9626. return
  9627. }
  9628. // DescribeImages API operation for Amazon Elastic Compute Cloud.
  9629. //
  9630. // Describes one or more of the images (AMIs, AKIs, and ARIs) available to you.
  9631. // Images available to you include public images, private images that you own,
  9632. // and private images owned by other AWS accounts but for which you have explicit
  9633. // launch permissions.
  9634. //
  9635. // Deregistered images are included in the returned results for an unspecified
  9636. // interval after deregistration.
  9637. //
  9638. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9639. // with awserr.Error's Code and Message methods to get detailed information about
  9640. // the error.
  9641. //
  9642. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9643. // API operation DescribeImages for usage and error information.
  9644. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
  9645. func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
  9646. req, out := c.DescribeImagesRequest(input)
  9647. return out, req.Send()
  9648. }
  9649. // DescribeImagesWithContext is the same as DescribeImages with the addition of
  9650. // the ability to pass a context and additional request options.
  9651. //
  9652. // See DescribeImages for details on how to use this API operation.
  9653. //
  9654. // The context must be non-nil and will be used for request cancellation. If
  9655. // the context is nil a panic will occur. In the future the SDK may create
  9656. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9657. // for more information on using Contexts.
  9658. func (c *EC2) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
  9659. req, out := c.DescribeImagesRequest(input)
  9660. req.SetContext(ctx)
  9661. req.ApplyOptions(opts...)
  9662. return out, req.Send()
  9663. }
  9664. const opDescribeImportImageTasks = "DescribeImportImageTasks"
  9665. // DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
  9666. // client's request for the DescribeImportImageTasks operation. The "output" return
  9667. // value will be populated with the request's response once the request completes
  9668. // successfuly.
  9669. //
  9670. // Use "Send" method on the returned Request to send the API call to the service.
  9671. // the "output" return value is not valid until after Send returns without error.
  9672. //
  9673. // See DescribeImportImageTasks for more information on using the DescribeImportImageTasks
  9674. // API call, and error handling.
  9675. //
  9676. // This method is useful when you want to inject custom logic or configuration
  9677. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9678. //
  9679. //
  9680. // // Example sending a request using the DescribeImportImageTasksRequest method.
  9681. // req, resp := client.DescribeImportImageTasksRequest(params)
  9682. //
  9683. // err := req.Send()
  9684. // if err == nil { // resp is now filled
  9685. // fmt.Println(resp)
  9686. // }
  9687. //
  9688. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
  9689. func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
  9690. op := &request.Operation{
  9691. Name: opDescribeImportImageTasks,
  9692. HTTPMethod: "POST",
  9693. HTTPPath: "/",
  9694. }
  9695. if input == nil {
  9696. input = &DescribeImportImageTasksInput{}
  9697. }
  9698. output = &DescribeImportImageTasksOutput{}
  9699. req = c.newRequest(op, input, output)
  9700. return
  9701. }
  9702. // DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
  9703. //
  9704. // Displays details about an import virtual machine or import snapshot tasks
  9705. // that are already created.
  9706. //
  9707. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9708. // with awserr.Error's Code and Message methods to get detailed information about
  9709. // the error.
  9710. //
  9711. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9712. // API operation DescribeImportImageTasks for usage and error information.
  9713. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
  9714. func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
  9715. req, out := c.DescribeImportImageTasksRequest(input)
  9716. return out, req.Send()
  9717. }
  9718. // DescribeImportImageTasksWithContext is the same as DescribeImportImageTasks with the addition of
  9719. // the ability to pass a context and additional request options.
  9720. //
  9721. // See DescribeImportImageTasks for details on how to use this API operation.
  9722. //
  9723. // The context must be non-nil and will be used for request cancellation. If
  9724. // the context is nil a panic will occur. In the future the SDK may create
  9725. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9726. // for more information on using Contexts.
  9727. func (c *EC2) DescribeImportImageTasksWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, opts ...request.Option) (*DescribeImportImageTasksOutput, error) {
  9728. req, out := c.DescribeImportImageTasksRequest(input)
  9729. req.SetContext(ctx)
  9730. req.ApplyOptions(opts...)
  9731. return out, req.Send()
  9732. }
  9733. const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
  9734. // DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
  9735. // client's request for the DescribeImportSnapshotTasks operation. The "output" return
  9736. // value will be populated with the request's response once the request completes
  9737. // successfuly.
  9738. //
  9739. // Use "Send" method on the returned Request to send the API call to the service.
  9740. // the "output" return value is not valid until after Send returns without error.
  9741. //
  9742. // See DescribeImportSnapshotTasks for more information on using the DescribeImportSnapshotTasks
  9743. // API call, and error handling.
  9744. //
  9745. // This method is useful when you want to inject custom logic or configuration
  9746. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9747. //
  9748. //
  9749. // // Example sending a request using the DescribeImportSnapshotTasksRequest method.
  9750. // req, resp := client.DescribeImportSnapshotTasksRequest(params)
  9751. //
  9752. // err := req.Send()
  9753. // if err == nil { // resp is now filled
  9754. // fmt.Println(resp)
  9755. // }
  9756. //
  9757. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
  9758. func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
  9759. op := &request.Operation{
  9760. Name: opDescribeImportSnapshotTasks,
  9761. HTTPMethod: "POST",
  9762. HTTPPath: "/",
  9763. }
  9764. if input == nil {
  9765. input = &DescribeImportSnapshotTasksInput{}
  9766. }
  9767. output = &DescribeImportSnapshotTasksOutput{}
  9768. req = c.newRequest(op, input, output)
  9769. return
  9770. }
  9771. // DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
  9772. //
  9773. // Describes your import snapshot tasks.
  9774. //
  9775. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9776. // with awserr.Error's Code and Message methods to get detailed information about
  9777. // the error.
  9778. //
  9779. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9780. // API operation DescribeImportSnapshotTasks for usage and error information.
  9781. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
  9782. func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
  9783. req, out := c.DescribeImportSnapshotTasksRequest(input)
  9784. return out, req.Send()
  9785. }
  9786. // DescribeImportSnapshotTasksWithContext is the same as DescribeImportSnapshotTasks with the addition of
  9787. // the ability to pass a context and additional request options.
  9788. //
  9789. // See DescribeImportSnapshotTasks for details on how to use this API operation.
  9790. //
  9791. // The context must be non-nil and will be used for request cancellation. If
  9792. // the context is nil a panic will occur. In the future the SDK may create
  9793. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9794. // for more information on using Contexts.
  9795. func (c *EC2) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, opts ...request.Option) (*DescribeImportSnapshotTasksOutput, error) {
  9796. req, out := c.DescribeImportSnapshotTasksRequest(input)
  9797. req.SetContext(ctx)
  9798. req.ApplyOptions(opts...)
  9799. return out, req.Send()
  9800. }
  9801. const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
  9802. // DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
  9803. // client's request for the DescribeInstanceAttribute operation. The "output" return
  9804. // value will be populated with the request's response once the request completes
  9805. // successfuly.
  9806. //
  9807. // Use "Send" method on the returned Request to send the API call to the service.
  9808. // the "output" return value is not valid until after Send returns without error.
  9809. //
  9810. // See DescribeInstanceAttribute for more information on using the DescribeInstanceAttribute
  9811. // API call, and error handling.
  9812. //
  9813. // This method is useful when you want to inject custom logic or configuration
  9814. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9815. //
  9816. //
  9817. // // Example sending a request using the DescribeInstanceAttributeRequest method.
  9818. // req, resp := client.DescribeInstanceAttributeRequest(params)
  9819. //
  9820. // err := req.Send()
  9821. // if err == nil { // resp is now filled
  9822. // fmt.Println(resp)
  9823. // }
  9824. //
  9825. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
  9826. func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
  9827. op := &request.Operation{
  9828. Name: opDescribeInstanceAttribute,
  9829. HTTPMethod: "POST",
  9830. HTTPPath: "/",
  9831. }
  9832. if input == nil {
  9833. input = &DescribeInstanceAttributeInput{}
  9834. }
  9835. output = &DescribeInstanceAttributeOutput{}
  9836. req = c.newRequest(op, input, output)
  9837. return
  9838. }
  9839. // DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  9840. //
  9841. // Describes the specified attribute of the specified instance. You can specify
  9842. // only one attribute at a time. Valid attribute values are: instanceType |
  9843. // kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
  9844. // | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
  9845. // groupSet | ebsOptimized | sriovNetSupport
  9846. //
  9847. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9848. // with awserr.Error's Code and Message methods to get detailed information about
  9849. // the error.
  9850. //
  9851. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9852. // API operation DescribeInstanceAttribute for usage and error information.
  9853. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
  9854. func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
  9855. req, out := c.DescribeInstanceAttributeRequest(input)
  9856. return out, req.Send()
  9857. }
  9858. // DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
  9859. // the ability to pass a context and additional request options.
  9860. //
  9861. // See DescribeInstanceAttribute for details on how to use this API operation.
  9862. //
  9863. // The context must be non-nil and will be used for request cancellation. If
  9864. // the context is nil a panic will occur. In the future the SDK may create
  9865. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9866. // for more information on using Contexts.
  9867. func (c *EC2) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
  9868. req, out := c.DescribeInstanceAttributeRequest(input)
  9869. req.SetContext(ctx)
  9870. req.ApplyOptions(opts...)
  9871. return out, req.Send()
  9872. }
  9873. const opDescribeInstanceCreditSpecifications = "DescribeInstanceCreditSpecifications"
  9874. // DescribeInstanceCreditSpecificationsRequest generates a "aws/request.Request" representing the
  9875. // client's request for the DescribeInstanceCreditSpecifications operation. The "output" return
  9876. // value will be populated with the request's response once the request completes
  9877. // successfuly.
  9878. //
  9879. // Use "Send" method on the returned Request to send the API call to the service.
  9880. // the "output" return value is not valid until after Send returns without error.
  9881. //
  9882. // See DescribeInstanceCreditSpecifications for more information on using the DescribeInstanceCreditSpecifications
  9883. // API call, and error handling.
  9884. //
  9885. // This method is useful when you want to inject custom logic or configuration
  9886. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9887. //
  9888. //
  9889. // // Example sending a request using the DescribeInstanceCreditSpecificationsRequest method.
  9890. // req, resp := client.DescribeInstanceCreditSpecificationsRequest(params)
  9891. //
  9892. // err := req.Send()
  9893. // if err == nil { // resp is now filled
  9894. // fmt.Println(resp)
  9895. // }
  9896. //
  9897. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
  9898. func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanceCreditSpecificationsInput) (req *request.Request, output *DescribeInstanceCreditSpecificationsOutput) {
  9899. op := &request.Operation{
  9900. Name: opDescribeInstanceCreditSpecifications,
  9901. HTTPMethod: "POST",
  9902. HTTPPath: "/",
  9903. }
  9904. if input == nil {
  9905. input = &DescribeInstanceCreditSpecificationsInput{}
  9906. }
  9907. output = &DescribeInstanceCreditSpecificationsOutput{}
  9908. req = c.newRequest(op, input, output)
  9909. return
  9910. }
  9911. // DescribeInstanceCreditSpecifications API operation for Amazon Elastic Compute Cloud.
  9912. //
  9913. // Describes the credit option for CPU usage of one or more of your T2 instances.
  9914. // The credit options are standard and unlimited.
  9915. //
  9916. // If you do not specify an instance ID, Amazon EC2 returns only the T2 instances
  9917. // with the unlimited credit option. If you specify one or more instance IDs,
  9918. // Amazon EC2 returns the credit option (standard or unlimited) of those instances.
  9919. // If you specify an instance ID that is not valid, such as an instance that
  9920. // is not a T2 instance, an error is returned.
  9921. //
  9922. // Recently terminated instances might appear in the returned results. This
  9923. // interval is usually less than one hour.
  9924. //
  9925. // If an Availability Zone is experiencing a service disruption and you specify
  9926. // instance IDs in the affected zone, or do not specify any instance IDs at
  9927. // all, the call fails. If you specify only instance IDs in an unaffected zone,
  9928. // the call works normally.
  9929. //
  9930. // For more information, see T2 Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html)
  9931. // in the Amazon Elastic Compute Cloud User Guide.
  9932. //
  9933. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9934. // with awserr.Error's Code and Message methods to get detailed information about
  9935. // the error.
  9936. //
  9937. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9938. // API operation DescribeInstanceCreditSpecifications for usage and error information.
  9939. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
  9940. func (c *EC2) DescribeInstanceCreditSpecifications(input *DescribeInstanceCreditSpecificationsInput) (*DescribeInstanceCreditSpecificationsOutput, error) {
  9941. req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
  9942. return out, req.Send()
  9943. }
  9944. // DescribeInstanceCreditSpecificationsWithContext is the same as DescribeInstanceCreditSpecifications with the addition of
  9945. // the ability to pass a context and additional request options.
  9946. //
  9947. // See DescribeInstanceCreditSpecifications for details on how to use this API operation.
  9948. //
  9949. // The context must be non-nil and will be used for request cancellation. If
  9950. // the context is nil a panic will occur. In the future the SDK may create
  9951. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9952. // for more information on using Contexts.
  9953. func (c *EC2) DescribeInstanceCreditSpecificationsWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, opts ...request.Option) (*DescribeInstanceCreditSpecificationsOutput, error) {
  9954. req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
  9955. req.SetContext(ctx)
  9956. req.ApplyOptions(opts...)
  9957. return out, req.Send()
  9958. }
  9959. const opDescribeInstanceStatus = "DescribeInstanceStatus"
  9960. // DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
  9961. // client's request for the DescribeInstanceStatus operation. The "output" return
  9962. // value will be populated with the request's response once the request completes
  9963. // successfuly.
  9964. //
  9965. // Use "Send" method on the returned Request to send the API call to the service.
  9966. // the "output" return value is not valid until after Send returns without error.
  9967. //
  9968. // See DescribeInstanceStatus for more information on using the DescribeInstanceStatus
  9969. // API call, and error handling.
  9970. //
  9971. // This method is useful when you want to inject custom logic or configuration
  9972. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9973. //
  9974. //
  9975. // // Example sending a request using the DescribeInstanceStatusRequest method.
  9976. // req, resp := client.DescribeInstanceStatusRequest(params)
  9977. //
  9978. // err := req.Send()
  9979. // if err == nil { // resp is now filled
  9980. // fmt.Println(resp)
  9981. // }
  9982. //
  9983. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
  9984. func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
  9985. op := &request.Operation{
  9986. Name: opDescribeInstanceStatus,
  9987. HTTPMethod: "POST",
  9988. HTTPPath: "/",
  9989. Paginator: &request.Paginator{
  9990. InputTokens: []string{"NextToken"},
  9991. OutputTokens: []string{"NextToken"},
  9992. LimitToken: "MaxResults",
  9993. TruncationToken: "",
  9994. },
  9995. }
  9996. if input == nil {
  9997. input = &DescribeInstanceStatusInput{}
  9998. }
  9999. output = &DescribeInstanceStatusOutput{}
  10000. req = c.newRequest(op, input, output)
  10001. return
  10002. }
  10003. // DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
  10004. //
  10005. // Describes the status of one or more instances. By default, only running instances
  10006. // are described, unless you specifically indicate to return the status of all
  10007. // instances.
  10008. //
  10009. // Instance status includes the following components:
  10010. //
  10011. // * Status checks - Amazon EC2 performs status checks on running EC2 instances
  10012. // to identify hardware and software issues. For more information, see Status
  10013. // Checks for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
  10014. // and Troubleshooting Instances with Failed Status Checks (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
  10015. // in the Amazon Elastic Compute Cloud User Guide.
  10016. //
  10017. // * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
  10018. // or terminate) for your instances related to hardware issues, software
  10019. // updates, or system maintenance. For more information, see Scheduled Events
  10020. // for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
  10021. // in the Amazon Elastic Compute Cloud User Guide.
  10022. //
  10023. // * Instance state - You can manage your instances from the moment you launch
  10024. // them through their termination. For more information, see Instance Lifecycle
  10025. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  10026. // in the Amazon Elastic Compute Cloud User Guide.
  10027. //
  10028. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10029. // with awserr.Error's Code and Message methods to get detailed information about
  10030. // the error.
  10031. //
  10032. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10033. // API operation DescribeInstanceStatus for usage and error information.
  10034. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
  10035. func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
  10036. req, out := c.DescribeInstanceStatusRequest(input)
  10037. return out, req.Send()
  10038. }
  10039. // DescribeInstanceStatusWithContext is the same as DescribeInstanceStatus with the addition of
  10040. // the ability to pass a context and additional request options.
  10041. //
  10042. // See DescribeInstanceStatus for details on how to use this API operation.
  10043. //
  10044. // The context must be non-nil and will be used for request cancellation. If
  10045. // the context is nil a panic will occur. In the future the SDK may create
  10046. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10047. // for more information on using Contexts.
  10048. func (c *EC2) DescribeInstanceStatusWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.Option) (*DescribeInstanceStatusOutput, error) {
  10049. req, out := c.DescribeInstanceStatusRequest(input)
  10050. req.SetContext(ctx)
  10051. req.ApplyOptions(opts...)
  10052. return out, req.Send()
  10053. }
  10054. // DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
  10055. // calling the "fn" function with the response data for each page. To stop
  10056. // iterating, return false from the fn function.
  10057. //
  10058. // See DescribeInstanceStatus method for more information on how to use this operation.
  10059. //
  10060. // Note: This operation can generate multiple requests to a service.
  10061. //
  10062. // // Example iterating over at most 3 pages of a DescribeInstanceStatus operation.
  10063. // pageNum := 0
  10064. // err := client.DescribeInstanceStatusPages(params,
  10065. // func(page *DescribeInstanceStatusOutput, lastPage bool) bool {
  10066. // pageNum++
  10067. // fmt.Println(page)
  10068. // return pageNum <= 3
  10069. // })
  10070. //
  10071. func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool) error {
  10072. return c.DescribeInstanceStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  10073. }
  10074. // DescribeInstanceStatusPagesWithContext same as DescribeInstanceStatusPages except
  10075. // it takes a Context and allows setting request options on the pages.
  10076. //
  10077. // The context must be non-nil and will be used for request cancellation. If
  10078. // the context is nil a panic will occur. In the future the SDK may create
  10079. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10080. // for more information on using Contexts.
  10081. func (c *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool, opts ...request.Option) error {
  10082. p := request.Pagination{
  10083. NewRequest: func() (*request.Request, error) {
  10084. var inCpy *DescribeInstanceStatusInput
  10085. if input != nil {
  10086. tmp := *input
  10087. inCpy = &tmp
  10088. }
  10089. req, _ := c.DescribeInstanceStatusRequest(inCpy)
  10090. req.SetContext(ctx)
  10091. req.ApplyOptions(opts...)
  10092. return req, nil
  10093. },
  10094. }
  10095. cont := true
  10096. for p.Next() && cont {
  10097. cont = fn(p.Page().(*DescribeInstanceStatusOutput), !p.HasNextPage())
  10098. }
  10099. return p.Err()
  10100. }
  10101. const opDescribeInstances = "DescribeInstances"
  10102. // DescribeInstancesRequest generates a "aws/request.Request" representing the
  10103. // client's request for the DescribeInstances operation. The "output" return
  10104. // value will be populated with the request's response once the request completes
  10105. // successfuly.
  10106. //
  10107. // Use "Send" method on the returned Request to send the API call to the service.
  10108. // the "output" return value is not valid until after Send returns without error.
  10109. //
  10110. // See DescribeInstances for more information on using the DescribeInstances
  10111. // API call, and error handling.
  10112. //
  10113. // This method is useful when you want to inject custom logic or configuration
  10114. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10115. //
  10116. //
  10117. // // Example sending a request using the DescribeInstancesRequest method.
  10118. // req, resp := client.DescribeInstancesRequest(params)
  10119. //
  10120. // err := req.Send()
  10121. // if err == nil { // resp is now filled
  10122. // fmt.Println(resp)
  10123. // }
  10124. //
  10125. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
  10126. func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
  10127. op := &request.Operation{
  10128. Name: opDescribeInstances,
  10129. HTTPMethod: "POST",
  10130. HTTPPath: "/",
  10131. Paginator: &request.Paginator{
  10132. InputTokens: []string{"NextToken"},
  10133. OutputTokens: []string{"NextToken"},
  10134. LimitToken: "MaxResults",
  10135. TruncationToken: "",
  10136. },
  10137. }
  10138. if input == nil {
  10139. input = &DescribeInstancesInput{}
  10140. }
  10141. output = &DescribeInstancesOutput{}
  10142. req = c.newRequest(op, input, output)
  10143. return
  10144. }
  10145. // DescribeInstances API operation for Amazon Elastic Compute Cloud.
  10146. //
  10147. // Describes one or more of your instances.
  10148. //
  10149. // If you specify one or more instance IDs, Amazon EC2 returns information for
  10150. // those instances. If you do not specify instance IDs, Amazon EC2 returns information
  10151. // for all relevant instances. If you specify an instance ID that is not valid,
  10152. // an error is returned. If you specify an instance that you do not own, it
  10153. // is not included in the returned results.
  10154. //
  10155. // Recently terminated instances might appear in the returned results. This
  10156. // interval is usually less than one hour.
  10157. //
  10158. // If you describe instances in the rare case where an Availability Zone is
  10159. // experiencing a service disruption and you specify instance IDs that are in
  10160. // the affected zone, or do not specify any instance IDs at all, the call fails.
  10161. // If you describe instances and specify only instance IDs that are in an unaffected
  10162. // zone, the call works normally.
  10163. //
  10164. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10165. // with awserr.Error's Code and Message methods to get detailed information about
  10166. // the error.
  10167. //
  10168. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10169. // API operation DescribeInstances for usage and error information.
  10170. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
  10171. func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
  10172. req, out := c.DescribeInstancesRequest(input)
  10173. return out, req.Send()
  10174. }
  10175. // DescribeInstancesWithContext is the same as DescribeInstances with the addition of
  10176. // the ability to pass a context and additional request options.
  10177. //
  10178. // See DescribeInstances for details on how to use this API operation.
  10179. //
  10180. // The context must be non-nil and will be used for request cancellation. If
  10181. // the context is nil a panic will occur. In the future the SDK may create
  10182. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10183. // for more information on using Contexts.
  10184. func (c *EC2) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
  10185. req, out := c.DescribeInstancesRequest(input)
  10186. req.SetContext(ctx)
  10187. req.ApplyOptions(opts...)
  10188. return out, req.Send()
  10189. }
  10190. // DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
  10191. // calling the "fn" function with the response data for each page. To stop
  10192. // iterating, return false from the fn function.
  10193. //
  10194. // See DescribeInstances method for more information on how to use this operation.
  10195. //
  10196. // Note: This operation can generate multiple requests to a service.
  10197. //
  10198. // // Example iterating over at most 3 pages of a DescribeInstances operation.
  10199. // pageNum := 0
  10200. // err := client.DescribeInstancesPages(params,
  10201. // func(page *DescribeInstancesOutput, lastPage bool) bool {
  10202. // pageNum++
  10203. // fmt.Println(page)
  10204. // return pageNum <= 3
  10205. // })
  10206. //
  10207. func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
  10208. return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  10209. }
  10210. // DescribeInstancesPagesWithContext same as DescribeInstancesPages except
  10211. // it takes a Context and allows setting request options on the pages.
  10212. //
  10213. // The context must be non-nil and will be used for request cancellation. If
  10214. // the context is nil a panic will occur. In the future the SDK may create
  10215. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10216. // for more information on using Contexts.
  10217. func (c *EC2) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
  10218. p := request.Pagination{
  10219. NewRequest: func() (*request.Request, error) {
  10220. var inCpy *DescribeInstancesInput
  10221. if input != nil {
  10222. tmp := *input
  10223. inCpy = &tmp
  10224. }
  10225. req, _ := c.DescribeInstancesRequest(inCpy)
  10226. req.SetContext(ctx)
  10227. req.ApplyOptions(opts...)
  10228. return req, nil
  10229. },
  10230. }
  10231. cont := true
  10232. for p.Next() && cont {
  10233. cont = fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage())
  10234. }
  10235. return p.Err()
  10236. }
  10237. const opDescribeInternetGateways = "DescribeInternetGateways"
  10238. // DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
  10239. // client's request for the DescribeInternetGateways operation. The "output" return
  10240. // value will be populated with the request's response once the request completes
  10241. // successfuly.
  10242. //
  10243. // Use "Send" method on the returned Request to send the API call to the service.
  10244. // the "output" return value is not valid until after Send returns without error.
  10245. //
  10246. // See DescribeInternetGateways for more information on using the DescribeInternetGateways
  10247. // API call, and error handling.
  10248. //
  10249. // This method is useful when you want to inject custom logic or configuration
  10250. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10251. //
  10252. //
  10253. // // Example sending a request using the DescribeInternetGatewaysRequest method.
  10254. // req, resp := client.DescribeInternetGatewaysRequest(params)
  10255. //
  10256. // err := req.Send()
  10257. // if err == nil { // resp is now filled
  10258. // fmt.Println(resp)
  10259. // }
  10260. //
  10261. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
  10262. func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
  10263. op := &request.Operation{
  10264. Name: opDescribeInternetGateways,
  10265. HTTPMethod: "POST",
  10266. HTTPPath: "/",
  10267. }
  10268. if input == nil {
  10269. input = &DescribeInternetGatewaysInput{}
  10270. }
  10271. output = &DescribeInternetGatewaysOutput{}
  10272. req = c.newRequest(op, input, output)
  10273. return
  10274. }
  10275. // DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
  10276. //
  10277. // Describes one or more of your Internet gateways.
  10278. //
  10279. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10280. // with awserr.Error's Code and Message methods to get detailed information about
  10281. // the error.
  10282. //
  10283. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10284. // API operation DescribeInternetGateways for usage and error information.
  10285. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
  10286. func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
  10287. req, out := c.DescribeInternetGatewaysRequest(input)
  10288. return out, req.Send()
  10289. }
  10290. // DescribeInternetGatewaysWithContext is the same as DescribeInternetGateways with the addition of
  10291. // the ability to pass a context and additional request options.
  10292. //
  10293. // See DescribeInternetGateways for details on how to use this API operation.
  10294. //
  10295. // The context must be non-nil and will be used for request cancellation. If
  10296. // the context is nil a panic will occur. In the future the SDK may create
  10297. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10298. // for more information on using Contexts.
  10299. func (c *EC2) DescribeInternetGatewaysWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.Option) (*DescribeInternetGatewaysOutput, error) {
  10300. req, out := c.DescribeInternetGatewaysRequest(input)
  10301. req.SetContext(ctx)
  10302. req.ApplyOptions(opts...)
  10303. return out, req.Send()
  10304. }
  10305. const opDescribeKeyPairs = "DescribeKeyPairs"
  10306. // DescribeKeyPairsRequest generates a "aws/request.Request" representing the
  10307. // client's request for the DescribeKeyPairs operation. The "output" return
  10308. // value will be populated with the request's response once the request completes
  10309. // successfuly.
  10310. //
  10311. // Use "Send" method on the returned Request to send the API call to the service.
  10312. // the "output" return value is not valid until after Send returns without error.
  10313. //
  10314. // See DescribeKeyPairs for more information on using the DescribeKeyPairs
  10315. // API call, and error handling.
  10316. //
  10317. // This method is useful when you want to inject custom logic or configuration
  10318. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10319. //
  10320. //
  10321. // // Example sending a request using the DescribeKeyPairsRequest method.
  10322. // req, resp := client.DescribeKeyPairsRequest(params)
  10323. //
  10324. // err := req.Send()
  10325. // if err == nil { // resp is now filled
  10326. // fmt.Println(resp)
  10327. // }
  10328. //
  10329. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
  10330. func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
  10331. op := &request.Operation{
  10332. Name: opDescribeKeyPairs,
  10333. HTTPMethod: "POST",
  10334. HTTPPath: "/",
  10335. }
  10336. if input == nil {
  10337. input = &DescribeKeyPairsInput{}
  10338. }
  10339. output = &DescribeKeyPairsOutput{}
  10340. req = c.newRequest(op, input, output)
  10341. return
  10342. }
  10343. // DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
  10344. //
  10345. // Describes one or more of your key pairs.
  10346. //
  10347. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  10348. // in the Amazon Elastic Compute Cloud User Guide.
  10349. //
  10350. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10351. // with awserr.Error's Code and Message methods to get detailed information about
  10352. // the error.
  10353. //
  10354. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10355. // API operation DescribeKeyPairs for usage and error information.
  10356. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
  10357. func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
  10358. req, out := c.DescribeKeyPairsRequest(input)
  10359. return out, req.Send()
  10360. }
  10361. // DescribeKeyPairsWithContext is the same as DescribeKeyPairs with the addition of
  10362. // the ability to pass a context and additional request options.
  10363. //
  10364. // See DescribeKeyPairs for details on how to use this API operation.
  10365. //
  10366. // The context must be non-nil and will be used for request cancellation. If
  10367. // the context is nil a panic will occur. In the future the SDK may create
  10368. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10369. // for more information on using Contexts.
  10370. func (c *EC2) DescribeKeyPairsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.Option) (*DescribeKeyPairsOutput, error) {
  10371. req, out := c.DescribeKeyPairsRequest(input)
  10372. req.SetContext(ctx)
  10373. req.ApplyOptions(opts...)
  10374. return out, req.Send()
  10375. }
  10376. const opDescribeLaunchTemplateVersions = "DescribeLaunchTemplateVersions"
  10377. // DescribeLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
  10378. // client's request for the DescribeLaunchTemplateVersions operation. The "output" return
  10379. // value will be populated with the request's response once the request completes
  10380. // successfuly.
  10381. //
  10382. // Use "Send" method on the returned Request to send the API call to the service.
  10383. // the "output" return value is not valid until after Send returns without error.
  10384. //
  10385. // See DescribeLaunchTemplateVersions for more information on using the DescribeLaunchTemplateVersions
  10386. // API call, and error handling.
  10387. //
  10388. // This method is useful when you want to inject custom logic or configuration
  10389. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10390. //
  10391. //
  10392. // // Example sending a request using the DescribeLaunchTemplateVersionsRequest method.
  10393. // req, resp := client.DescribeLaunchTemplateVersionsRequest(params)
  10394. //
  10395. // err := req.Send()
  10396. // if err == nil { // resp is now filled
  10397. // fmt.Println(resp)
  10398. // }
  10399. //
  10400. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
  10401. func (c *EC2) DescribeLaunchTemplateVersionsRequest(input *DescribeLaunchTemplateVersionsInput) (req *request.Request, output *DescribeLaunchTemplateVersionsOutput) {
  10402. op := &request.Operation{
  10403. Name: opDescribeLaunchTemplateVersions,
  10404. HTTPMethod: "POST",
  10405. HTTPPath: "/",
  10406. }
  10407. if input == nil {
  10408. input = &DescribeLaunchTemplateVersionsInput{}
  10409. }
  10410. output = &DescribeLaunchTemplateVersionsOutput{}
  10411. req = c.newRequest(op, input, output)
  10412. return
  10413. }
  10414. // DescribeLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
  10415. //
  10416. // Describes one or more versions of a specified launch template. You can describe
  10417. // all versions, individual versions, or a range of versions.
  10418. //
  10419. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10420. // with awserr.Error's Code and Message methods to get detailed information about
  10421. // the error.
  10422. //
  10423. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10424. // API operation DescribeLaunchTemplateVersions for usage and error information.
  10425. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
  10426. func (c *EC2) DescribeLaunchTemplateVersions(input *DescribeLaunchTemplateVersionsInput) (*DescribeLaunchTemplateVersionsOutput, error) {
  10427. req, out := c.DescribeLaunchTemplateVersionsRequest(input)
  10428. return out, req.Send()
  10429. }
  10430. // DescribeLaunchTemplateVersionsWithContext is the same as DescribeLaunchTemplateVersions with the addition of
  10431. // the ability to pass a context and additional request options.
  10432. //
  10433. // See DescribeLaunchTemplateVersions for details on how to use this API operation.
  10434. //
  10435. // The context must be non-nil and will be used for request cancellation. If
  10436. // the context is nil a panic will occur. In the future the SDK may create
  10437. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10438. // for more information on using Contexts.
  10439. func (c *EC2) DescribeLaunchTemplateVersionsWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, opts ...request.Option) (*DescribeLaunchTemplateVersionsOutput, error) {
  10440. req, out := c.DescribeLaunchTemplateVersionsRequest(input)
  10441. req.SetContext(ctx)
  10442. req.ApplyOptions(opts...)
  10443. return out, req.Send()
  10444. }
  10445. const opDescribeLaunchTemplates = "DescribeLaunchTemplates"
  10446. // DescribeLaunchTemplatesRequest generates a "aws/request.Request" representing the
  10447. // client's request for the DescribeLaunchTemplates operation. The "output" return
  10448. // value will be populated with the request's response once the request completes
  10449. // successfuly.
  10450. //
  10451. // Use "Send" method on the returned Request to send the API call to the service.
  10452. // the "output" return value is not valid until after Send returns without error.
  10453. //
  10454. // See DescribeLaunchTemplates for more information on using the DescribeLaunchTemplates
  10455. // API call, and error handling.
  10456. //
  10457. // This method is useful when you want to inject custom logic or configuration
  10458. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10459. //
  10460. //
  10461. // // Example sending a request using the DescribeLaunchTemplatesRequest method.
  10462. // req, resp := client.DescribeLaunchTemplatesRequest(params)
  10463. //
  10464. // err := req.Send()
  10465. // if err == nil { // resp is now filled
  10466. // fmt.Println(resp)
  10467. // }
  10468. //
  10469. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
  10470. func (c *EC2) DescribeLaunchTemplatesRequest(input *DescribeLaunchTemplatesInput) (req *request.Request, output *DescribeLaunchTemplatesOutput) {
  10471. op := &request.Operation{
  10472. Name: opDescribeLaunchTemplates,
  10473. HTTPMethod: "POST",
  10474. HTTPPath: "/",
  10475. }
  10476. if input == nil {
  10477. input = &DescribeLaunchTemplatesInput{}
  10478. }
  10479. output = &DescribeLaunchTemplatesOutput{}
  10480. req = c.newRequest(op, input, output)
  10481. return
  10482. }
  10483. // DescribeLaunchTemplates API operation for Amazon Elastic Compute Cloud.
  10484. //
  10485. // Describes one or more launch templates.
  10486. //
  10487. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10488. // with awserr.Error's Code and Message methods to get detailed information about
  10489. // the error.
  10490. //
  10491. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10492. // API operation DescribeLaunchTemplates for usage and error information.
  10493. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
  10494. func (c *EC2) DescribeLaunchTemplates(input *DescribeLaunchTemplatesInput) (*DescribeLaunchTemplatesOutput, error) {
  10495. req, out := c.DescribeLaunchTemplatesRequest(input)
  10496. return out, req.Send()
  10497. }
  10498. // DescribeLaunchTemplatesWithContext is the same as DescribeLaunchTemplates with the addition of
  10499. // the ability to pass a context and additional request options.
  10500. //
  10501. // See DescribeLaunchTemplates for details on how to use this API operation.
  10502. //
  10503. // The context must be non-nil and will be used for request cancellation. If
  10504. // the context is nil a panic will occur. In the future the SDK may create
  10505. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10506. // for more information on using Contexts.
  10507. func (c *EC2) DescribeLaunchTemplatesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, opts ...request.Option) (*DescribeLaunchTemplatesOutput, error) {
  10508. req, out := c.DescribeLaunchTemplatesRequest(input)
  10509. req.SetContext(ctx)
  10510. req.ApplyOptions(opts...)
  10511. return out, req.Send()
  10512. }
  10513. const opDescribeMovingAddresses = "DescribeMovingAddresses"
  10514. // DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
  10515. // client's request for the DescribeMovingAddresses operation. The "output" return
  10516. // value will be populated with the request's response once the request completes
  10517. // successfuly.
  10518. //
  10519. // Use "Send" method on the returned Request to send the API call to the service.
  10520. // the "output" return value is not valid until after Send returns without error.
  10521. //
  10522. // See DescribeMovingAddresses for more information on using the DescribeMovingAddresses
  10523. // API call, and error handling.
  10524. //
  10525. // This method is useful when you want to inject custom logic or configuration
  10526. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10527. //
  10528. //
  10529. // // Example sending a request using the DescribeMovingAddressesRequest method.
  10530. // req, resp := client.DescribeMovingAddressesRequest(params)
  10531. //
  10532. // err := req.Send()
  10533. // if err == nil { // resp is now filled
  10534. // fmt.Println(resp)
  10535. // }
  10536. //
  10537. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
  10538. func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
  10539. op := &request.Operation{
  10540. Name: opDescribeMovingAddresses,
  10541. HTTPMethod: "POST",
  10542. HTTPPath: "/",
  10543. }
  10544. if input == nil {
  10545. input = &DescribeMovingAddressesInput{}
  10546. }
  10547. output = &DescribeMovingAddressesOutput{}
  10548. req = c.newRequest(op, input, output)
  10549. return
  10550. }
  10551. // DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
  10552. //
  10553. // Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
  10554. // or that are being restored to the EC2-Classic platform. This request does
  10555. // not return information about any other Elastic IP addresses in your account.
  10556. //
  10557. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10558. // with awserr.Error's Code and Message methods to get detailed information about
  10559. // the error.
  10560. //
  10561. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10562. // API operation DescribeMovingAddresses for usage and error information.
  10563. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
  10564. func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
  10565. req, out := c.DescribeMovingAddressesRequest(input)
  10566. return out, req.Send()
  10567. }
  10568. // DescribeMovingAddressesWithContext is the same as DescribeMovingAddresses with the addition of
  10569. // the ability to pass a context and additional request options.
  10570. //
  10571. // See DescribeMovingAddresses for details on how to use this API operation.
  10572. //
  10573. // The context must be non-nil and will be used for request cancellation. If
  10574. // the context is nil a panic will occur. In the future the SDK may create
  10575. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10576. // for more information on using Contexts.
  10577. func (c *EC2) DescribeMovingAddressesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, opts ...request.Option) (*DescribeMovingAddressesOutput, error) {
  10578. req, out := c.DescribeMovingAddressesRequest(input)
  10579. req.SetContext(ctx)
  10580. req.ApplyOptions(opts...)
  10581. return out, req.Send()
  10582. }
  10583. const opDescribeNatGateways = "DescribeNatGateways"
  10584. // DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
  10585. // client's request for the DescribeNatGateways operation. The "output" return
  10586. // value will be populated with the request's response once the request completes
  10587. // successfuly.
  10588. //
  10589. // Use "Send" method on the returned Request to send the API call to the service.
  10590. // the "output" return value is not valid until after Send returns without error.
  10591. //
  10592. // See DescribeNatGateways for more information on using the DescribeNatGateways
  10593. // API call, and error handling.
  10594. //
  10595. // This method is useful when you want to inject custom logic or configuration
  10596. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10597. //
  10598. //
  10599. // // Example sending a request using the DescribeNatGatewaysRequest method.
  10600. // req, resp := client.DescribeNatGatewaysRequest(params)
  10601. //
  10602. // err := req.Send()
  10603. // if err == nil { // resp is now filled
  10604. // fmt.Println(resp)
  10605. // }
  10606. //
  10607. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
  10608. func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
  10609. op := &request.Operation{
  10610. Name: opDescribeNatGateways,
  10611. HTTPMethod: "POST",
  10612. HTTPPath: "/",
  10613. Paginator: &request.Paginator{
  10614. InputTokens: []string{"NextToken"},
  10615. OutputTokens: []string{"NextToken"},
  10616. LimitToken: "MaxResults",
  10617. TruncationToken: "",
  10618. },
  10619. }
  10620. if input == nil {
  10621. input = &DescribeNatGatewaysInput{}
  10622. }
  10623. output = &DescribeNatGatewaysOutput{}
  10624. req = c.newRequest(op, input, output)
  10625. return
  10626. }
  10627. // DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
  10628. //
  10629. // Describes one or more of the your NAT gateways.
  10630. //
  10631. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10632. // with awserr.Error's Code and Message methods to get detailed information about
  10633. // the error.
  10634. //
  10635. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10636. // API operation DescribeNatGateways for usage and error information.
  10637. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
  10638. func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
  10639. req, out := c.DescribeNatGatewaysRequest(input)
  10640. return out, req.Send()
  10641. }
  10642. // DescribeNatGatewaysWithContext is the same as DescribeNatGateways with the addition of
  10643. // the ability to pass a context and additional request options.
  10644. //
  10645. // See DescribeNatGateways for details on how to use this API operation.
  10646. //
  10647. // The context must be non-nil and will be used for request cancellation. If
  10648. // the context is nil a panic will occur. In the future the SDK may create
  10649. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10650. // for more information on using Contexts.
  10651. func (c *EC2) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.Option) (*DescribeNatGatewaysOutput, error) {
  10652. req, out := c.DescribeNatGatewaysRequest(input)
  10653. req.SetContext(ctx)
  10654. req.ApplyOptions(opts...)
  10655. return out, req.Send()
  10656. }
  10657. // DescribeNatGatewaysPages iterates over the pages of a DescribeNatGateways operation,
  10658. // calling the "fn" function with the response data for each page. To stop
  10659. // iterating, return false from the fn function.
  10660. //
  10661. // See DescribeNatGateways method for more information on how to use this operation.
  10662. //
  10663. // Note: This operation can generate multiple requests to a service.
  10664. //
  10665. // // Example iterating over at most 3 pages of a DescribeNatGateways operation.
  10666. // pageNum := 0
  10667. // err := client.DescribeNatGatewaysPages(params,
  10668. // func(page *DescribeNatGatewaysOutput, lastPage bool) bool {
  10669. // pageNum++
  10670. // fmt.Println(page)
  10671. // return pageNum <= 3
  10672. // })
  10673. //
  10674. func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool) error {
  10675. return c.DescribeNatGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
  10676. }
  10677. // DescribeNatGatewaysPagesWithContext same as DescribeNatGatewaysPages except
  10678. // it takes a Context and allows setting request options on the pages.
  10679. //
  10680. // The context must be non-nil and will be used for request cancellation. If
  10681. // the context is nil a panic will occur. In the future the SDK may create
  10682. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10683. // for more information on using Contexts.
  10684. func (c *EC2) DescribeNatGatewaysPagesWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool, opts ...request.Option) error {
  10685. p := request.Pagination{
  10686. NewRequest: func() (*request.Request, error) {
  10687. var inCpy *DescribeNatGatewaysInput
  10688. if input != nil {
  10689. tmp := *input
  10690. inCpy = &tmp
  10691. }
  10692. req, _ := c.DescribeNatGatewaysRequest(inCpy)
  10693. req.SetContext(ctx)
  10694. req.ApplyOptions(opts...)
  10695. return req, nil
  10696. },
  10697. }
  10698. cont := true
  10699. for p.Next() && cont {
  10700. cont = fn(p.Page().(*DescribeNatGatewaysOutput), !p.HasNextPage())
  10701. }
  10702. return p.Err()
  10703. }
  10704. const opDescribeNetworkAcls = "DescribeNetworkAcls"
  10705. // DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
  10706. // client's request for the DescribeNetworkAcls operation. The "output" return
  10707. // value will be populated with the request's response once the request completes
  10708. // successfuly.
  10709. //
  10710. // Use "Send" method on the returned Request to send the API call to the service.
  10711. // the "output" return value is not valid until after Send returns without error.
  10712. //
  10713. // See DescribeNetworkAcls for more information on using the DescribeNetworkAcls
  10714. // API call, and error handling.
  10715. //
  10716. // This method is useful when you want to inject custom logic or configuration
  10717. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10718. //
  10719. //
  10720. // // Example sending a request using the DescribeNetworkAclsRequest method.
  10721. // req, resp := client.DescribeNetworkAclsRequest(params)
  10722. //
  10723. // err := req.Send()
  10724. // if err == nil { // resp is now filled
  10725. // fmt.Println(resp)
  10726. // }
  10727. //
  10728. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
  10729. func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
  10730. op := &request.Operation{
  10731. Name: opDescribeNetworkAcls,
  10732. HTTPMethod: "POST",
  10733. HTTPPath: "/",
  10734. }
  10735. if input == nil {
  10736. input = &DescribeNetworkAclsInput{}
  10737. }
  10738. output = &DescribeNetworkAclsOutput{}
  10739. req = c.newRequest(op, input, output)
  10740. return
  10741. }
  10742. // DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
  10743. //
  10744. // Describes one or more of your network ACLs.
  10745. //
  10746. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  10747. // in the Amazon Virtual Private Cloud User Guide.
  10748. //
  10749. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10750. // with awserr.Error's Code and Message methods to get detailed information about
  10751. // the error.
  10752. //
  10753. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10754. // API operation DescribeNetworkAcls for usage and error information.
  10755. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
  10756. func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
  10757. req, out := c.DescribeNetworkAclsRequest(input)
  10758. return out, req.Send()
  10759. }
  10760. // DescribeNetworkAclsWithContext is the same as DescribeNetworkAcls with the addition of
  10761. // the ability to pass a context and additional request options.
  10762. //
  10763. // See DescribeNetworkAcls for details on how to use this API operation.
  10764. //
  10765. // The context must be non-nil and will be used for request cancellation. If
  10766. // the context is nil a panic will occur. In the future the SDK may create
  10767. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10768. // for more information on using Contexts.
  10769. func (c *EC2) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, opts ...request.Option) (*DescribeNetworkAclsOutput, error) {
  10770. req, out := c.DescribeNetworkAclsRequest(input)
  10771. req.SetContext(ctx)
  10772. req.ApplyOptions(opts...)
  10773. return out, req.Send()
  10774. }
  10775. const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
  10776. // DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  10777. // client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
  10778. // value will be populated with the request's response once the request completes
  10779. // successfuly.
  10780. //
  10781. // Use "Send" method on the returned Request to send the API call to the service.
  10782. // the "output" return value is not valid until after Send returns without error.
  10783. //
  10784. // See DescribeNetworkInterfaceAttribute for more information on using the DescribeNetworkInterfaceAttribute
  10785. // API call, and error handling.
  10786. //
  10787. // This method is useful when you want to inject custom logic or configuration
  10788. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10789. //
  10790. //
  10791. // // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
  10792. // req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
  10793. //
  10794. // err := req.Send()
  10795. // if err == nil { // resp is now filled
  10796. // fmt.Println(resp)
  10797. // }
  10798. //
  10799. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
  10800. func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
  10801. op := &request.Operation{
  10802. Name: opDescribeNetworkInterfaceAttribute,
  10803. HTTPMethod: "POST",
  10804. HTTPPath: "/",
  10805. }
  10806. if input == nil {
  10807. input = &DescribeNetworkInterfaceAttributeInput{}
  10808. }
  10809. output = &DescribeNetworkInterfaceAttributeOutput{}
  10810. req = c.newRequest(op, input, output)
  10811. return
  10812. }
  10813. // DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  10814. //
  10815. // Describes a network interface attribute. You can specify only one attribute
  10816. // at a time.
  10817. //
  10818. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10819. // with awserr.Error's Code and Message methods to get detailed information about
  10820. // the error.
  10821. //
  10822. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10823. // API operation DescribeNetworkInterfaceAttribute for usage and error information.
  10824. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
  10825. func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
  10826. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  10827. return out, req.Send()
  10828. }
  10829. // DescribeNetworkInterfaceAttributeWithContext is the same as DescribeNetworkInterfaceAttribute with the addition of
  10830. // the ability to pass a context and additional request options.
  10831. //
  10832. // See DescribeNetworkInterfaceAttribute for details on how to use this API operation.
  10833. //
  10834. // The context must be non-nil and will be used for request cancellation. If
  10835. // the context is nil a panic will occur. In the future the SDK may create
  10836. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10837. // for more information on using Contexts.
  10838. func (c *EC2) DescribeNetworkInterfaceAttributeWithContext(ctx aws.Context, input *DescribeNetworkInterfaceAttributeInput, opts ...request.Option) (*DescribeNetworkInterfaceAttributeOutput, error) {
  10839. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  10840. req.SetContext(ctx)
  10841. req.ApplyOptions(opts...)
  10842. return out, req.Send()
  10843. }
  10844. const opDescribeNetworkInterfacePermissions = "DescribeNetworkInterfacePermissions"
  10845. // DescribeNetworkInterfacePermissionsRequest generates a "aws/request.Request" representing the
  10846. // client's request for the DescribeNetworkInterfacePermissions operation. The "output" return
  10847. // value will be populated with the request's response once the request completes
  10848. // successfuly.
  10849. //
  10850. // Use "Send" method on the returned Request to send the API call to the service.
  10851. // the "output" return value is not valid until after Send returns without error.
  10852. //
  10853. // See DescribeNetworkInterfacePermissions for more information on using the DescribeNetworkInterfacePermissions
  10854. // API call, and error handling.
  10855. //
  10856. // This method is useful when you want to inject custom logic or configuration
  10857. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10858. //
  10859. //
  10860. // // Example sending a request using the DescribeNetworkInterfacePermissionsRequest method.
  10861. // req, resp := client.DescribeNetworkInterfacePermissionsRequest(params)
  10862. //
  10863. // err := req.Send()
  10864. // if err == nil { // resp is now filled
  10865. // fmt.Println(resp)
  10866. // }
  10867. //
  10868. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
  10869. func (c *EC2) DescribeNetworkInterfacePermissionsRequest(input *DescribeNetworkInterfacePermissionsInput) (req *request.Request, output *DescribeNetworkInterfacePermissionsOutput) {
  10870. op := &request.Operation{
  10871. Name: opDescribeNetworkInterfacePermissions,
  10872. HTTPMethod: "POST",
  10873. HTTPPath: "/",
  10874. }
  10875. if input == nil {
  10876. input = &DescribeNetworkInterfacePermissionsInput{}
  10877. }
  10878. output = &DescribeNetworkInterfacePermissionsOutput{}
  10879. req = c.newRequest(op, input, output)
  10880. return
  10881. }
  10882. // DescribeNetworkInterfacePermissions API operation for Amazon Elastic Compute Cloud.
  10883. //
  10884. // Describes the permissions for your network interfaces.
  10885. //
  10886. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10887. // with awserr.Error's Code and Message methods to get detailed information about
  10888. // the error.
  10889. //
  10890. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10891. // API operation DescribeNetworkInterfacePermissions for usage and error information.
  10892. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
  10893. func (c *EC2) DescribeNetworkInterfacePermissions(input *DescribeNetworkInterfacePermissionsInput) (*DescribeNetworkInterfacePermissionsOutput, error) {
  10894. req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
  10895. return out, req.Send()
  10896. }
  10897. // DescribeNetworkInterfacePermissionsWithContext is the same as DescribeNetworkInterfacePermissions with the addition of
  10898. // the ability to pass a context and additional request options.
  10899. //
  10900. // See DescribeNetworkInterfacePermissions for details on how to use this API operation.
  10901. //
  10902. // The context must be non-nil and will be used for request cancellation. If
  10903. // the context is nil a panic will occur. In the future the SDK may create
  10904. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10905. // for more information on using Contexts.
  10906. func (c *EC2) DescribeNetworkInterfacePermissionsWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, opts ...request.Option) (*DescribeNetworkInterfacePermissionsOutput, error) {
  10907. req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
  10908. req.SetContext(ctx)
  10909. req.ApplyOptions(opts...)
  10910. return out, req.Send()
  10911. }
  10912. const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
  10913. // DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
  10914. // client's request for the DescribeNetworkInterfaces operation. The "output" return
  10915. // value will be populated with the request's response once the request completes
  10916. // successfuly.
  10917. //
  10918. // Use "Send" method on the returned Request to send the API call to the service.
  10919. // the "output" return value is not valid until after Send returns without error.
  10920. //
  10921. // See DescribeNetworkInterfaces for more information on using the DescribeNetworkInterfaces
  10922. // API call, and error handling.
  10923. //
  10924. // This method is useful when you want to inject custom logic or configuration
  10925. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10926. //
  10927. //
  10928. // // Example sending a request using the DescribeNetworkInterfacesRequest method.
  10929. // req, resp := client.DescribeNetworkInterfacesRequest(params)
  10930. //
  10931. // err := req.Send()
  10932. // if err == nil { // resp is now filled
  10933. // fmt.Println(resp)
  10934. // }
  10935. //
  10936. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
  10937. func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
  10938. op := &request.Operation{
  10939. Name: opDescribeNetworkInterfaces,
  10940. HTTPMethod: "POST",
  10941. HTTPPath: "/",
  10942. }
  10943. if input == nil {
  10944. input = &DescribeNetworkInterfacesInput{}
  10945. }
  10946. output = &DescribeNetworkInterfacesOutput{}
  10947. req = c.newRequest(op, input, output)
  10948. return
  10949. }
  10950. // DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
  10951. //
  10952. // Describes one or more of your network interfaces.
  10953. //
  10954. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10955. // with awserr.Error's Code and Message methods to get detailed information about
  10956. // the error.
  10957. //
  10958. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10959. // API operation DescribeNetworkInterfaces for usage and error information.
  10960. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
  10961. func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
  10962. req, out := c.DescribeNetworkInterfacesRequest(input)
  10963. return out, req.Send()
  10964. }
  10965. // DescribeNetworkInterfacesWithContext is the same as DescribeNetworkInterfaces with the addition of
  10966. // the ability to pass a context and additional request options.
  10967. //
  10968. // See DescribeNetworkInterfaces for details on how to use this API operation.
  10969. //
  10970. // The context must be non-nil and will be used for request cancellation. If
  10971. // the context is nil a panic will occur. In the future the SDK may create
  10972. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10973. // for more information on using Contexts.
  10974. func (c *EC2) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.Option) (*DescribeNetworkInterfacesOutput, error) {
  10975. req, out := c.DescribeNetworkInterfacesRequest(input)
  10976. req.SetContext(ctx)
  10977. req.ApplyOptions(opts...)
  10978. return out, req.Send()
  10979. }
  10980. const opDescribePlacementGroups = "DescribePlacementGroups"
  10981. // DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
  10982. // client's request for the DescribePlacementGroups operation. The "output" return
  10983. // value will be populated with the request's response once the request completes
  10984. // successfuly.
  10985. //
  10986. // Use "Send" method on the returned Request to send the API call to the service.
  10987. // the "output" return value is not valid until after Send returns without error.
  10988. //
  10989. // See DescribePlacementGroups for more information on using the DescribePlacementGroups
  10990. // API call, and error handling.
  10991. //
  10992. // This method is useful when you want to inject custom logic or configuration
  10993. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10994. //
  10995. //
  10996. // // Example sending a request using the DescribePlacementGroupsRequest method.
  10997. // req, resp := client.DescribePlacementGroupsRequest(params)
  10998. //
  10999. // err := req.Send()
  11000. // if err == nil { // resp is now filled
  11001. // fmt.Println(resp)
  11002. // }
  11003. //
  11004. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
  11005. func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
  11006. op := &request.Operation{
  11007. Name: opDescribePlacementGroups,
  11008. HTTPMethod: "POST",
  11009. HTTPPath: "/",
  11010. }
  11011. if input == nil {
  11012. input = &DescribePlacementGroupsInput{}
  11013. }
  11014. output = &DescribePlacementGroupsOutput{}
  11015. req = c.newRequest(op, input, output)
  11016. return
  11017. }
  11018. // DescribePlacementGroups API operation for Amazon Elastic Compute Cloud.
  11019. //
  11020. // Describes one or more of your placement groups. For more information, see
  11021. // Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
  11022. // in the Amazon Elastic Compute Cloud User Guide.
  11023. //
  11024. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11025. // with awserr.Error's Code and Message methods to get detailed information about
  11026. // the error.
  11027. //
  11028. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11029. // API operation DescribePlacementGroups for usage and error information.
  11030. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
  11031. func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
  11032. req, out := c.DescribePlacementGroupsRequest(input)
  11033. return out, req.Send()
  11034. }
  11035. // DescribePlacementGroupsWithContext is the same as DescribePlacementGroups with the addition of
  11036. // the ability to pass a context and additional request options.
  11037. //
  11038. // See DescribePlacementGroups for details on how to use this API operation.
  11039. //
  11040. // The context must be non-nil and will be used for request cancellation. If
  11041. // the context is nil a panic will occur. In the future the SDK may create
  11042. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11043. // for more information on using Contexts.
  11044. func (c *EC2) DescribePlacementGroupsWithContext(ctx aws.Context, input *DescribePlacementGroupsInput, opts ...request.Option) (*DescribePlacementGroupsOutput, error) {
  11045. req, out := c.DescribePlacementGroupsRequest(input)
  11046. req.SetContext(ctx)
  11047. req.ApplyOptions(opts...)
  11048. return out, req.Send()
  11049. }
  11050. const opDescribePrefixLists = "DescribePrefixLists"
  11051. // DescribePrefixListsRequest generates a "aws/request.Request" representing the
  11052. // client's request for the DescribePrefixLists operation. The "output" return
  11053. // value will be populated with the request's response once the request completes
  11054. // successfuly.
  11055. //
  11056. // Use "Send" method on the returned Request to send the API call to the service.
  11057. // the "output" return value is not valid until after Send returns without error.
  11058. //
  11059. // See DescribePrefixLists for more information on using the DescribePrefixLists
  11060. // API call, and error handling.
  11061. //
  11062. // This method is useful when you want to inject custom logic or configuration
  11063. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11064. //
  11065. //
  11066. // // Example sending a request using the DescribePrefixListsRequest method.
  11067. // req, resp := client.DescribePrefixListsRequest(params)
  11068. //
  11069. // err := req.Send()
  11070. // if err == nil { // resp is now filled
  11071. // fmt.Println(resp)
  11072. // }
  11073. //
  11074. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
  11075. func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
  11076. op := &request.Operation{
  11077. Name: opDescribePrefixLists,
  11078. HTTPMethod: "POST",
  11079. HTTPPath: "/",
  11080. }
  11081. if input == nil {
  11082. input = &DescribePrefixListsInput{}
  11083. }
  11084. output = &DescribePrefixListsOutput{}
  11085. req = c.newRequest(op, input, output)
  11086. return
  11087. }
  11088. // DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
  11089. //
  11090. // Describes available AWS services in a prefix list format, which includes
  11091. // the prefix list name and prefix list ID of the service and the IP address
  11092. // range for the service. A prefix list ID is required for creating an outbound
  11093. // security group rule that allows traffic from a VPC to access an AWS service
  11094. // through a gateway VPC endpoint.
  11095. //
  11096. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11097. // with awserr.Error's Code and Message methods to get detailed information about
  11098. // the error.
  11099. //
  11100. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11101. // API operation DescribePrefixLists for usage and error information.
  11102. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
  11103. func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
  11104. req, out := c.DescribePrefixListsRequest(input)
  11105. return out, req.Send()
  11106. }
  11107. // DescribePrefixListsWithContext is the same as DescribePrefixLists with the addition of
  11108. // the ability to pass a context and additional request options.
  11109. //
  11110. // See DescribePrefixLists for details on how to use this API operation.
  11111. //
  11112. // The context must be non-nil and will be used for request cancellation. If
  11113. // the context is nil a panic will occur. In the future the SDK may create
  11114. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11115. // for more information on using Contexts.
  11116. func (c *EC2) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePrefixListsInput, opts ...request.Option) (*DescribePrefixListsOutput, error) {
  11117. req, out := c.DescribePrefixListsRequest(input)
  11118. req.SetContext(ctx)
  11119. req.ApplyOptions(opts...)
  11120. return out, req.Send()
  11121. }
  11122. const opDescribePrincipalIdFormat = "DescribePrincipalIdFormat"
  11123. // DescribePrincipalIdFormatRequest generates a "aws/request.Request" representing the
  11124. // client's request for the DescribePrincipalIdFormat operation. The "output" return
  11125. // value will be populated with the request's response once the request completes
  11126. // successfuly.
  11127. //
  11128. // Use "Send" method on the returned Request to send the API call to the service.
  11129. // the "output" return value is not valid until after Send returns without error.
  11130. //
  11131. // See DescribePrincipalIdFormat for more information on using the DescribePrincipalIdFormat
  11132. // API call, and error handling.
  11133. //
  11134. // This method is useful when you want to inject custom logic or configuration
  11135. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11136. //
  11137. //
  11138. // // Example sending a request using the DescribePrincipalIdFormatRequest method.
  11139. // req, resp := client.DescribePrincipalIdFormatRequest(params)
  11140. //
  11141. // err := req.Send()
  11142. // if err == nil { // resp is now filled
  11143. // fmt.Println(resp)
  11144. // }
  11145. //
  11146. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
  11147. func (c *EC2) DescribePrincipalIdFormatRequest(input *DescribePrincipalIdFormatInput) (req *request.Request, output *DescribePrincipalIdFormatOutput) {
  11148. op := &request.Operation{
  11149. Name: opDescribePrincipalIdFormat,
  11150. HTTPMethod: "POST",
  11151. HTTPPath: "/",
  11152. }
  11153. if input == nil {
  11154. input = &DescribePrincipalIdFormatInput{}
  11155. }
  11156. output = &DescribePrincipalIdFormatOutput{}
  11157. req = c.newRequest(op, input, output)
  11158. return
  11159. }
  11160. // DescribePrincipalIdFormat API operation for Amazon Elastic Compute Cloud.
  11161. //
  11162. // Describes the ID format settings for the root user and all IAM roles and
  11163. // IAM users that have explicitly specified a longer ID (17-character ID) preference.
  11164. //
  11165. // By default, all IAM roles and IAM users default to the same ID settings as
  11166. // the root user, unless they explicitly override the settings. This request
  11167. // is useful for identifying those IAM users and IAM roles that have overridden
  11168. // the default ID settings.
  11169. //
  11170. // The following resource types support longer IDs: bundle | conversion-task
  11171. // | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
  11172. // | export-task | flow-log | image | import-task | instance | internet-gateway
  11173. // | network-acl | network-acl-association | network-interface | network-interface-attachment
  11174. // | prefix-list | reservation | route-table | route-table-association | security-group
  11175. // | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  11176. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  11177. //
  11178. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11179. // with awserr.Error's Code and Message methods to get detailed information about
  11180. // the error.
  11181. //
  11182. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11183. // API operation DescribePrincipalIdFormat for usage and error information.
  11184. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
  11185. func (c *EC2) DescribePrincipalIdFormat(input *DescribePrincipalIdFormatInput) (*DescribePrincipalIdFormatOutput, error) {
  11186. req, out := c.DescribePrincipalIdFormatRequest(input)
  11187. return out, req.Send()
  11188. }
  11189. // DescribePrincipalIdFormatWithContext is the same as DescribePrincipalIdFormat with the addition of
  11190. // the ability to pass a context and additional request options.
  11191. //
  11192. // See DescribePrincipalIdFormat for details on how to use this API operation.
  11193. //
  11194. // The context must be non-nil and will be used for request cancellation. If
  11195. // the context is nil a panic will occur. In the future the SDK may create
  11196. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11197. // for more information on using Contexts.
  11198. func (c *EC2) DescribePrincipalIdFormatWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, opts ...request.Option) (*DescribePrincipalIdFormatOutput, error) {
  11199. req, out := c.DescribePrincipalIdFormatRequest(input)
  11200. req.SetContext(ctx)
  11201. req.ApplyOptions(opts...)
  11202. return out, req.Send()
  11203. }
  11204. const opDescribeRegions = "DescribeRegions"
  11205. // DescribeRegionsRequest generates a "aws/request.Request" representing the
  11206. // client's request for the DescribeRegions operation. The "output" return
  11207. // value will be populated with the request's response once the request completes
  11208. // successfuly.
  11209. //
  11210. // Use "Send" method on the returned Request to send the API call to the service.
  11211. // the "output" return value is not valid until after Send returns without error.
  11212. //
  11213. // See DescribeRegions for more information on using the DescribeRegions
  11214. // API call, and error handling.
  11215. //
  11216. // This method is useful when you want to inject custom logic or configuration
  11217. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11218. //
  11219. //
  11220. // // Example sending a request using the DescribeRegionsRequest method.
  11221. // req, resp := client.DescribeRegionsRequest(params)
  11222. //
  11223. // err := req.Send()
  11224. // if err == nil { // resp is now filled
  11225. // fmt.Println(resp)
  11226. // }
  11227. //
  11228. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
  11229. func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
  11230. op := &request.Operation{
  11231. Name: opDescribeRegions,
  11232. HTTPMethod: "POST",
  11233. HTTPPath: "/",
  11234. }
  11235. if input == nil {
  11236. input = &DescribeRegionsInput{}
  11237. }
  11238. output = &DescribeRegionsOutput{}
  11239. req = c.newRequest(op, input, output)
  11240. return
  11241. }
  11242. // DescribeRegions API operation for Amazon Elastic Compute Cloud.
  11243. //
  11244. // Describes one or more regions that are currently available to you.
  11245. //
  11246. // For a list of the regions supported by Amazon EC2, see Regions and Endpoints
  11247. // (http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
  11248. //
  11249. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11250. // with awserr.Error's Code and Message methods to get detailed information about
  11251. // the error.
  11252. //
  11253. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11254. // API operation DescribeRegions for usage and error information.
  11255. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
  11256. func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
  11257. req, out := c.DescribeRegionsRequest(input)
  11258. return out, req.Send()
  11259. }
  11260. // DescribeRegionsWithContext is the same as DescribeRegions with the addition of
  11261. // the ability to pass a context and additional request options.
  11262. //
  11263. // See DescribeRegions for details on how to use this API operation.
  11264. //
  11265. // The context must be non-nil and will be used for request cancellation. If
  11266. // the context is nil a panic will occur. In the future the SDK may create
  11267. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11268. // for more information on using Contexts.
  11269. func (c *EC2) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
  11270. req, out := c.DescribeRegionsRequest(input)
  11271. req.SetContext(ctx)
  11272. req.ApplyOptions(opts...)
  11273. return out, req.Send()
  11274. }
  11275. const opDescribeReservedInstances = "DescribeReservedInstances"
  11276. // DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
  11277. // client's request for the DescribeReservedInstances operation. The "output" return
  11278. // value will be populated with the request's response once the request completes
  11279. // successfuly.
  11280. //
  11281. // Use "Send" method on the returned Request to send the API call to the service.
  11282. // the "output" return value is not valid until after Send returns without error.
  11283. //
  11284. // See DescribeReservedInstances for more information on using the DescribeReservedInstances
  11285. // API call, and error handling.
  11286. //
  11287. // This method is useful when you want to inject custom logic or configuration
  11288. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11289. //
  11290. //
  11291. // // Example sending a request using the DescribeReservedInstancesRequest method.
  11292. // req, resp := client.DescribeReservedInstancesRequest(params)
  11293. //
  11294. // err := req.Send()
  11295. // if err == nil { // resp is now filled
  11296. // fmt.Println(resp)
  11297. // }
  11298. //
  11299. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
  11300. func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
  11301. op := &request.Operation{
  11302. Name: opDescribeReservedInstances,
  11303. HTTPMethod: "POST",
  11304. HTTPPath: "/",
  11305. }
  11306. if input == nil {
  11307. input = &DescribeReservedInstancesInput{}
  11308. }
  11309. output = &DescribeReservedInstancesOutput{}
  11310. req = c.newRequest(op, input, output)
  11311. return
  11312. }
  11313. // DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
  11314. //
  11315. // Describes one or more of the Reserved Instances that you purchased.
  11316. //
  11317. // For more information about Reserved Instances, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  11318. // in the Amazon Elastic Compute Cloud User Guide.
  11319. //
  11320. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11321. // with awserr.Error's Code and Message methods to get detailed information about
  11322. // the error.
  11323. //
  11324. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11325. // API operation DescribeReservedInstances for usage and error information.
  11326. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
  11327. func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
  11328. req, out := c.DescribeReservedInstancesRequest(input)
  11329. return out, req.Send()
  11330. }
  11331. // DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
  11332. // the ability to pass a context and additional request options.
  11333. //
  11334. // See DescribeReservedInstances for details on how to use this API operation.
  11335. //
  11336. // The context must be non-nil and will be used for request cancellation. If
  11337. // the context is nil a panic will occur. In the future the SDK may create
  11338. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11339. // for more information on using Contexts.
  11340. func (c *EC2) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
  11341. req, out := c.DescribeReservedInstancesRequest(input)
  11342. req.SetContext(ctx)
  11343. req.ApplyOptions(opts...)
  11344. return out, req.Send()
  11345. }
  11346. const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
  11347. // DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
  11348. // client's request for the DescribeReservedInstancesListings operation. The "output" return
  11349. // value will be populated with the request's response once the request completes
  11350. // successfuly.
  11351. //
  11352. // Use "Send" method on the returned Request to send the API call to the service.
  11353. // the "output" return value is not valid until after Send returns without error.
  11354. //
  11355. // See DescribeReservedInstancesListings for more information on using the DescribeReservedInstancesListings
  11356. // API call, and error handling.
  11357. //
  11358. // This method is useful when you want to inject custom logic or configuration
  11359. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11360. //
  11361. //
  11362. // // Example sending a request using the DescribeReservedInstancesListingsRequest method.
  11363. // req, resp := client.DescribeReservedInstancesListingsRequest(params)
  11364. //
  11365. // err := req.Send()
  11366. // if err == nil { // resp is now filled
  11367. // fmt.Println(resp)
  11368. // }
  11369. //
  11370. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
  11371. func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
  11372. op := &request.Operation{
  11373. Name: opDescribeReservedInstancesListings,
  11374. HTTPMethod: "POST",
  11375. HTTPPath: "/",
  11376. }
  11377. if input == nil {
  11378. input = &DescribeReservedInstancesListingsInput{}
  11379. }
  11380. output = &DescribeReservedInstancesListingsOutput{}
  11381. req = c.newRequest(op, input, output)
  11382. return
  11383. }
  11384. // DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
  11385. //
  11386. // Describes your account's Reserved Instance listings in the Reserved Instance
  11387. // Marketplace.
  11388. //
  11389. // The Reserved Instance Marketplace matches sellers who want to resell Reserved
  11390. // Instance capacity that they no longer need with buyers who want to purchase
  11391. // additional capacity. Reserved Instances bought and sold through the Reserved
  11392. // Instance Marketplace work like any other Reserved Instances.
  11393. //
  11394. // As a seller, you choose to list some or all of your Reserved Instances, and
  11395. // you specify the upfront price to receive for them. Your Reserved Instances
  11396. // are then listed in the Reserved Instance Marketplace and are available for
  11397. // purchase.
  11398. //
  11399. // As a buyer, you specify the configuration of the Reserved Instance to purchase,
  11400. // and the Marketplace matches what you're searching for with what's available.
  11401. // The Marketplace first sells the lowest priced Reserved Instances to you,
  11402. // and continues to sell available Reserved Instance listings to you until your
  11403. // demand is met. You are charged based on the total price of all of the listings
  11404. // that you purchase.
  11405. //
  11406. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  11407. // in the Amazon Elastic Compute Cloud User Guide.
  11408. //
  11409. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11410. // with awserr.Error's Code and Message methods to get detailed information about
  11411. // the error.
  11412. //
  11413. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11414. // API operation DescribeReservedInstancesListings for usage and error information.
  11415. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
  11416. func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
  11417. req, out := c.DescribeReservedInstancesListingsRequest(input)
  11418. return out, req.Send()
  11419. }
  11420. // DescribeReservedInstancesListingsWithContext is the same as DescribeReservedInstancesListings with the addition of
  11421. // the ability to pass a context and additional request options.
  11422. //
  11423. // See DescribeReservedInstancesListings for details on how to use this API operation.
  11424. //
  11425. // The context must be non-nil and will be used for request cancellation. If
  11426. // the context is nil a panic will occur. In the future the SDK may create
  11427. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11428. // for more information on using Contexts.
  11429. func (c *EC2) DescribeReservedInstancesListingsWithContext(ctx aws.Context, input *DescribeReservedInstancesListingsInput, opts ...request.Option) (*DescribeReservedInstancesListingsOutput, error) {
  11430. req, out := c.DescribeReservedInstancesListingsRequest(input)
  11431. req.SetContext(ctx)
  11432. req.ApplyOptions(opts...)
  11433. return out, req.Send()
  11434. }
  11435. const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
  11436. // DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
  11437. // client's request for the DescribeReservedInstancesModifications operation. The "output" return
  11438. // value will be populated with the request's response once the request completes
  11439. // successfuly.
  11440. //
  11441. // Use "Send" method on the returned Request to send the API call to the service.
  11442. // the "output" return value is not valid until after Send returns without error.
  11443. //
  11444. // See DescribeReservedInstancesModifications for more information on using the DescribeReservedInstancesModifications
  11445. // API call, and error handling.
  11446. //
  11447. // This method is useful when you want to inject custom logic or configuration
  11448. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11449. //
  11450. //
  11451. // // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
  11452. // req, resp := client.DescribeReservedInstancesModificationsRequest(params)
  11453. //
  11454. // err := req.Send()
  11455. // if err == nil { // resp is now filled
  11456. // fmt.Println(resp)
  11457. // }
  11458. //
  11459. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
  11460. func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
  11461. op := &request.Operation{
  11462. Name: opDescribeReservedInstancesModifications,
  11463. HTTPMethod: "POST",
  11464. HTTPPath: "/",
  11465. Paginator: &request.Paginator{
  11466. InputTokens: []string{"NextToken"},
  11467. OutputTokens: []string{"NextToken"},
  11468. LimitToken: "",
  11469. TruncationToken: "",
  11470. },
  11471. }
  11472. if input == nil {
  11473. input = &DescribeReservedInstancesModificationsInput{}
  11474. }
  11475. output = &DescribeReservedInstancesModificationsOutput{}
  11476. req = c.newRequest(op, input, output)
  11477. return
  11478. }
  11479. // DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
  11480. //
  11481. // Describes the modifications made to your Reserved Instances. If no parameter
  11482. // is specified, information about all your Reserved Instances modification
  11483. // requests is returned. If a modification ID is specified, only information
  11484. // about the specific modification is returned.
  11485. //
  11486. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  11487. // in the Amazon Elastic Compute Cloud User Guide.
  11488. //
  11489. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11490. // with awserr.Error's Code and Message methods to get detailed information about
  11491. // the error.
  11492. //
  11493. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11494. // API operation DescribeReservedInstancesModifications for usage and error information.
  11495. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
  11496. func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
  11497. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  11498. return out, req.Send()
  11499. }
  11500. // DescribeReservedInstancesModificationsWithContext is the same as DescribeReservedInstancesModifications with the addition of
  11501. // the ability to pass a context and additional request options.
  11502. //
  11503. // See DescribeReservedInstancesModifications for details on how to use this API operation.
  11504. //
  11505. // The context must be non-nil and will be used for request cancellation. If
  11506. // the context is nil a panic will occur. In the future the SDK may create
  11507. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11508. // for more information on using Contexts.
  11509. func (c *EC2) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, opts ...request.Option) (*DescribeReservedInstancesModificationsOutput, error) {
  11510. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  11511. req.SetContext(ctx)
  11512. req.ApplyOptions(opts...)
  11513. return out, req.Send()
  11514. }
  11515. // DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
  11516. // calling the "fn" function with the response data for each page. To stop
  11517. // iterating, return false from the fn function.
  11518. //
  11519. // See DescribeReservedInstancesModifications method for more information on how to use this operation.
  11520. //
  11521. // Note: This operation can generate multiple requests to a service.
  11522. //
  11523. // // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation.
  11524. // pageNum := 0
  11525. // err := client.DescribeReservedInstancesModificationsPages(params,
  11526. // func(page *DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
  11527. // pageNum++
  11528. // fmt.Println(page)
  11529. // return pageNum <= 3
  11530. // })
  11531. //
  11532. func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool) error {
  11533. return c.DescribeReservedInstancesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
  11534. }
  11535. // DescribeReservedInstancesModificationsPagesWithContext same as DescribeReservedInstancesModificationsPages except
  11536. // it takes a Context and allows setting request options on the pages.
  11537. //
  11538. // The context must be non-nil and will be used for request cancellation. If
  11539. // the context is nil a panic will occur. In the future the SDK may create
  11540. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11541. // for more information on using Contexts.
  11542. func (c *EC2) DescribeReservedInstancesModificationsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool, opts ...request.Option) error {
  11543. p := request.Pagination{
  11544. NewRequest: func() (*request.Request, error) {
  11545. var inCpy *DescribeReservedInstancesModificationsInput
  11546. if input != nil {
  11547. tmp := *input
  11548. inCpy = &tmp
  11549. }
  11550. req, _ := c.DescribeReservedInstancesModificationsRequest(inCpy)
  11551. req.SetContext(ctx)
  11552. req.ApplyOptions(opts...)
  11553. return req, nil
  11554. },
  11555. }
  11556. cont := true
  11557. for p.Next() && cont {
  11558. cont = fn(p.Page().(*DescribeReservedInstancesModificationsOutput), !p.HasNextPage())
  11559. }
  11560. return p.Err()
  11561. }
  11562. const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
  11563. // DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
  11564. // client's request for the DescribeReservedInstancesOfferings operation. The "output" return
  11565. // value will be populated with the request's response once the request completes
  11566. // successfuly.
  11567. //
  11568. // Use "Send" method on the returned Request to send the API call to the service.
  11569. // the "output" return value is not valid until after Send returns without error.
  11570. //
  11571. // See DescribeReservedInstancesOfferings for more information on using the DescribeReservedInstancesOfferings
  11572. // API call, and error handling.
  11573. //
  11574. // This method is useful when you want to inject custom logic or configuration
  11575. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11576. //
  11577. //
  11578. // // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
  11579. // req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
  11580. //
  11581. // err := req.Send()
  11582. // if err == nil { // resp is now filled
  11583. // fmt.Println(resp)
  11584. // }
  11585. //
  11586. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
  11587. func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
  11588. op := &request.Operation{
  11589. Name: opDescribeReservedInstancesOfferings,
  11590. HTTPMethod: "POST",
  11591. HTTPPath: "/",
  11592. Paginator: &request.Paginator{
  11593. InputTokens: []string{"NextToken"},
  11594. OutputTokens: []string{"NextToken"},
  11595. LimitToken: "MaxResults",
  11596. TruncationToken: "",
  11597. },
  11598. }
  11599. if input == nil {
  11600. input = &DescribeReservedInstancesOfferingsInput{}
  11601. }
  11602. output = &DescribeReservedInstancesOfferingsOutput{}
  11603. req = c.newRequest(op, input, output)
  11604. return
  11605. }
  11606. // DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
  11607. //
  11608. // Describes Reserved Instance offerings that are available for purchase. With
  11609. // Reserved Instances, you purchase the right to launch instances for a period
  11610. // of time. During that time period, you do not receive insufficient capacity
  11611. // errors, and you pay a lower usage rate than the rate charged for On-Demand
  11612. // instances for the actual time used.
  11613. //
  11614. // If you have listed your own Reserved Instances for sale in the Reserved Instance
  11615. // Marketplace, they will be excluded from these results. This is to ensure
  11616. // that you do not purchase your own Reserved Instances.
  11617. //
  11618. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  11619. // in the Amazon Elastic Compute Cloud User Guide.
  11620. //
  11621. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11622. // with awserr.Error's Code and Message methods to get detailed information about
  11623. // the error.
  11624. //
  11625. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11626. // API operation DescribeReservedInstancesOfferings for usage and error information.
  11627. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
  11628. func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
  11629. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  11630. return out, req.Send()
  11631. }
  11632. // DescribeReservedInstancesOfferingsWithContext is the same as DescribeReservedInstancesOfferings with the addition of
  11633. // the ability to pass a context and additional request options.
  11634. //
  11635. // See DescribeReservedInstancesOfferings for details on how to use this API operation.
  11636. //
  11637. // The context must be non-nil and will be used for request cancellation. If
  11638. // the context is nil a panic will occur. In the future the SDK may create
  11639. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11640. // for more information on using Contexts.
  11641. func (c *EC2) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedInstancesOfferingsOutput, error) {
  11642. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  11643. req.SetContext(ctx)
  11644. req.ApplyOptions(opts...)
  11645. return out, req.Send()
  11646. }
  11647. // DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
  11648. // calling the "fn" function with the response data for each page. To stop
  11649. // iterating, return false from the fn function.
  11650. //
  11651. // See DescribeReservedInstancesOfferings method for more information on how to use this operation.
  11652. //
  11653. // Note: This operation can generate multiple requests to a service.
  11654. //
  11655. // // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation.
  11656. // pageNum := 0
  11657. // err := client.DescribeReservedInstancesOfferingsPages(params,
  11658. // func(page *DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
  11659. // pageNum++
  11660. // fmt.Println(page)
  11661. // return pageNum <= 3
  11662. // })
  11663. //
  11664. func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool) error {
  11665. return c.DescribeReservedInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
  11666. }
  11667. // DescribeReservedInstancesOfferingsPagesWithContext same as DescribeReservedInstancesOfferingsPages except
  11668. // it takes a Context and allows setting request options on the pages.
  11669. //
  11670. // The context must be non-nil and will be used for request cancellation. If
  11671. // the context is nil a panic will occur. In the future the SDK may create
  11672. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11673. // for more information on using Contexts.
  11674. func (c *EC2) DescribeReservedInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
  11675. p := request.Pagination{
  11676. NewRequest: func() (*request.Request, error) {
  11677. var inCpy *DescribeReservedInstancesOfferingsInput
  11678. if input != nil {
  11679. tmp := *input
  11680. inCpy = &tmp
  11681. }
  11682. req, _ := c.DescribeReservedInstancesOfferingsRequest(inCpy)
  11683. req.SetContext(ctx)
  11684. req.ApplyOptions(opts...)
  11685. return req, nil
  11686. },
  11687. }
  11688. cont := true
  11689. for p.Next() && cont {
  11690. cont = fn(p.Page().(*DescribeReservedInstancesOfferingsOutput), !p.HasNextPage())
  11691. }
  11692. return p.Err()
  11693. }
  11694. const opDescribeRouteTables = "DescribeRouteTables"
  11695. // DescribeRouteTablesRequest generates a "aws/request.Request" representing the
  11696. // client's request for the DescribeRouteTables operation. The "output" return
  11697. // value will be populated with the request's response once the request completes
  11698. // successfuly.
  11699. //
  11700. // Use "Send" method on the returned Request to send the API call to the service.
  11701. // the "output" return value is not valid until after Send returns without error.
  11702. //
  11703. // See DescribeRouteTables for more information on using the DescribeRouteTables
  11704. // API call, and error handling.
  11705. //
  11706. // This method is useful when you want to inject custom logic or configuration
  11707. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11708. //
  11709. //
  11710. // // Example sending a request using the DescribeRouteTablesRequest method.
  11711. // req, resp := client.DescribeRouteTablesRequest(params)
  11712. //
  11713. // err := req.Send()
  11714. // if err == nil { // resp is now filled
  11715. // fmt.Println(resp)
  11716. // }
  11717. //
  11718. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
  11719. func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
  11720. op := &request.Operation{
  11721. Name: opDescribeRouteTables,
  11722. HTTPMethod: "POST",
  11723. HTTPPath: "/",
  11724. }
  11725. if input == nil {
  11726. input = &DescribeRouteTablesInput{}
  11727. }
  11728. output = &DescribeRouteTablesOutput{}
  11729. req = c.newRequest(op, input, output)
  11730. return
  11731. }
  11732. // DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
  11733. //
  11734. // Describes one or more of your route tables.
  11735. //
  11736. // Each subnet in your VPC must be associated with a route table. If a subnet
  11737. // is not explicitly associated with any route table, it is implicitly associated
  11738. // with the main route table. This command does not return the subnet ID for
  11739. // implicit associations.
  11740. //
  11741. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  11742. // in the Amazon Virtual Private Cloud User Guide.
  11743. //
  11744. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11745. // with awserr.Error's Code and Message methods to get detailed information about
  11746. // the error.
  11747. //
  11748. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11749. // API operation DescribeRouteTables for usage and error information.
  11750. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
  11751. func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
  11752. req, out := c.DescribeRouteTablesRequest(input)
  11753. return out, req.Send()
  11754. }
  11755. // DescribeRouteTablesWithContext is the same as DescribeRouteTables with the addition of
  11756. // the ability to pass a context and additional request options.
  11757. //
  11758. // See DescribeRouteTables for details on how to use this API operation.
  11759. //
  11760. // The context must be non-nil and will be used for request cancellation. If
  11761. // the context is nil a panic will occur. In the future the SDK may create
  11762. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11763. // for more information on using Contexts.
  11764. func (c *EC2) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, opts ...request.Option) (*DescribeRouteTablesOutput, error) {
  11765. req, out := c.DescribeRouteTablesRequest(input)
  11766. req.SetContext(ctx)
  11767. req.ApplyOptions(opts...)
  11768. return out, req.Send()
  11769. }
  11770. const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
  11771. // DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
  11772. // client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
  11773. // value will be populated with the request's response once the request completes
  11774. // successfuly.
  11775. //
  11776. // Use "Send" method on the returned Request to send the API call to the service.
  11777. // the "output" return value is not valid until after Send returns without error.
  11778. //
  11779. // See DescribeScheduledInstanceAvailability for more information on using the DescribeScheduledInstanceAvailability
  11780. // API call, and error handling.
  11781. //
  11782. // This method is useful when you want to inject custom logic or configuration
  11783. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11784. //
  11785. //
  11786. // // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
  11787. // req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
  11788. //
  11789. // err := req.Send()
  11790. // if err == nil { // resp is now filled
  11791. // fmt.Println(resp)
  11792. // }
  11793. //
  11794. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
  11795. func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
  11796. op := &request.Operation{
  11797. Name: opDescribeScheduledInstanceAvailability,
  11798. HTTPMethod: "POST",
  11799. HTTPPath: "/",
  11800. }
  11801. if input == nil {
  11802. input = &DescribeScheduledInstanceAvailabilityInput{}
  11803. }
  11804. output = &DescribeScheduledInstanceAvailabilityOutput{}
  11805. req = c.newRequest(op, input, output)
  11806. return
  11807. }
  11808. // DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
  11809. //
  11810. // Finds available schedules that meet the specified criteria.
  11811. //
  11812. // You can search for an available schedule no more than 3 months in advance.
  11813. // You must meet the minimum required duration of 1,200 hours per year. For
  11814. // example, the minimum daily schedule is 4 hours, the minimum weekly schedule
  11815. // is 24 hours, and the minimum monthly schedule is 100 hours.
  11816. //
  11817. // After you find a schedule that meets your needs, call PurchaseScheduledInstances
  11818. // to purchase Scheduled Instances with that schedule.
  11819. //
  11820. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11821. // with awserr.Error's Code and Message methods to get detailed information about
  11822. // the error.
  11823. //
  11824. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11825. // API operation DescribeScheduledInstanceAvailability for usage and error information.
  11826. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
  11827. func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  11828. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  11829. return out, req.Send()
  11830. }
  11831. // DescribeScheduledInstanceAvailabilityWithContext is the same as DescribeScheduledInstanceAvailability with the addition of
  11832. // the ability to pass a context and additional request options.
  11833. //
  11834. // See DescribeScheduledInstanceAvailability for details on how to use this API operation.
  11835. //
  11836. // The context must be non-nil and will be used for request cancellation. If
  11837. // the context is nil a panic will occur. In the future the SDK may create
  11838. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11839. // for more information on using Contexts.
  11840. func (c *EC2) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, opts ...request.Option) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  11841. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  11842. req.SetContext(ctx)
  11843. req.ApplyOptions(opts...)
  11844. return out, req.Send()
  11845. }
  11846. const opDescribeScheduledInstances = "DescribeScheduledInstances"
  11847. // DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
  11848. // client's request for the DescribeScheduledInstances operation. The "output" return
  11849. // value will be populated with the request's response once the request completes
  11850. // successfuly.
  11851. //
  11852. // Use "Send" method on the returned Request to send the API call to the service.
  11853. // the "output" return value is not valid until after Send returns without error.
  11854. //
  11855. // See DescribeScheduledInstances for more information on using the DescribeScheduledInstances
  11856. // API call, and error handling.
  11857. //
  11858. // This method is useful when you want to inject custom logic or configuration
  11859. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11860. //
  11861. //
  11862. // // Example sending a request using the DescribeScheduledInstancesRequest method.
  11863. // req, resp := client.DescribeScheduledInstancesRequest(params)
  11864. //
  11865. // err := req.Send()
  11866. // if err == nil { // resp is now filled
  11867. // fmt.Println(resp)
  11868. // }
  11869. //
  11870. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
  11871. func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
  11872. op := &request.Operation{
  11873. Name: opDescribeScheduledInstances,
  11874. HTTPMethod: "POST",
  11875. HTTPPath: "/",
  11876. }
  11877. if input == nil {
  11878. input = &DescribeScheduledInstancesInput{}
  11879. }
  11880. output = &DescribeScheduledInstancesOutput{}
  11881. req = c.newRequest(op, input, output)
  11882. return
  11883. }
  11884. // DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
  11885. //
  11886. // Describes one or more of your Scheduled Instances.
  11887. //
  11888. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11889. // with awserr.Error's Code and Message methods to get detailed information about
  11890. // the error.
  11891. //
  11892. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11893. // API operation DescribeScheduledInstances for usage and error information.
  11894. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
  11895. func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
  11896. req, out := c.DescribeScheduledInstancesRequest(input)
  11897. return out, req.Send()
  11898. }
  11899. // DescribeScheduledInstancesWithContext is the same as DescribeScheduledInstances with the addition of
  11900. // the ability to pass a context and additional request options.
  11901. //
  11902. // See DescribeScheduledInstances for details on how to use this API operation.
  11903. //
  11904. // The context must be non-nil and will be used for request cancellation. If
  11905. // the context is nil a panic will occur. In the future the SDK may create
  11906. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11907. // for more information on using Contexts.
  11908. func (c *EC2) DescribeScheduledInstancesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, opts ...request.Option) (*DescribeScheduledInstancesOutput, error) {
  11909. req, out := c.DescribeScheduledInstancesRequest(input)
  11910. req.SetContext(ctx)
  11911. req.ApplyOptions(opts...)
  11912. return out, req.Send()
  11913. }
  11914. const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
  11915. // DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
  11916. // client's request for the DescribeSecurityGroupReferences operation. The "output" return
  11917. // value will be populated with the request's response once the request completes
  11918. // successfuly.
  11919. //
  11920. // Use "Send" method on the returned Request to send the API call to the service.
  11921. // the "output" return value is not valid until after Send returns without error.
  11922. //
  11923. // See DescribeSecurityGroupReferences for more information on using the DescribeSecurityGroupReferences
  11924. // API call, and error handling.
  11925. //
  11926. // This method is useful when you want to inject custom logic or configuration
  11927. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11928. //
  11929. //
  11930. // // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
  11931. // req, resp := client.DescribeSecurityGroupReferencesRequest(params)
  11932. //
  11933. // err := req.Send()
  11934. // if err == nil { // resp is now filled
  11935. // fmt.Println(resp)
  11936. // }
  11937. //
  11938. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
  11939. func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
  11940. op := &request.Operation{
  11941. Name: opDescribeSecurityGroupReferences,
  11942. HTTPMethod: "POST",
  11943. HTTPPath: "/",
  11944. }
  11945. if input == nil {
  11946. input = &DescribeSecurityGroupReferencesInput{}
  11947. }
  11948. output = &DescribeSecurityGroupReferencesOutput{}
  11949. req = c.newRequest(op, input, output)
  11950. return
  11951. }
  11952. // DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
  11953. //
  11954. // [EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection
  11955. // that are referencing the security groups you've specified in this request.
  11956. //
  11957. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11958. // with awserr.Error's Code and Message methods to get detailed information about
  11959. // the error.
  11960. //
  11961. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11962. // API operation DescribeSecurityGroupReferences for usage and error information.
  11963. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
  11964. func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
  11965. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  11966. return out, req.Send()
  11967. }
  11968. // DescribeSecurityGroupReferencesWithContext is the same as DescribeSecurityGroupReferences with the addition of
  11969. // the ability to pass a context and additional request options.
  11970. //
  11971. // See DescribeSecurityGroupReferences for details on how to use this API operation.
  11972. //
  11973. // The context must be non-nil and will be used for request cancellation. If
  11974. // the context is nil a panic will occur. In the future the SDK may create
  11975. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11976. // for more information on using Contexts.
  11977. func (c *EC2) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input *DescribeSecurityGroupReferencesInput, opts ...request.Option) (*DescribeSecurityGroupReferencesOutput, error) {
  11978. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  11979. req.SetContext(ctx)
  11980. req.ApplyOptions(opts...)
  11981. return out, req.Send()
  11982. }
  11983. const opDescribeSecurityGroups = "DescribeSecurityGroups"
  11984. // DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
  11985. // client's request for the DescribeSecurityGroups operation. The "output" return
  11986. // value will be populated with the request's response once the request completes
  11987. // successfuly.
  11988. //
  11989. // Use "Send" method on the returned Request to send the API call to the service.
  11990. // the "output" return value is not valid until after Send returns without error.
  11991. //
  11992. // See DescribeSecurityGroups for more information on using the DescribeSecurityGroups
  11993. // API call, and error handling.
  11994. //
  11995. // This method is useful when you want to inject custom logic or configuration
  11996. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11997. //
  11998. //
  11999. // // Example sending a request using the DescribeSecurityGroupsRequest method.
  12000. // req, resp := client.DescribeSecurityGroupsRequest(params)
  12001. //
  12002. // err := req.Send()
  12003. // if err == nil { // resp is now filled
  12004. // fmt.Println(resp)
  12005. // }
  12006. //
  12007. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
  12008. func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
  12009. op := &request.Operation{
  12010. Name: opDescribeSecurityGroups,
  12011. HTTPMethod: "POST",
  12012. HTTPPath: "/",
  12013. }
  12014. if input == nil {
  12015. input = &DescribeSecurityGroupsInput{}
  12016. }
  12017. output = &DescribeSecurityGroupsOutput{}
  12018. req = c.newRequest(op, input, output)
  12019. return
  12020. }
  12021. // DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
  12022. //
  12023. // Describes one or more of your security groups.
  12024. //
  12025. // A security group is for use with instances either in the EC2-Classic platform
  12026. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  12027. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  12028. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  12029. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  12030. // in the Amazon Virtual Private Cloud User Guide.
  12031. //
  12032. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12033. // with awserr.Error's Code and Message methods to get detailed information about
  12034. // the error.
  12035. //
  12036. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12037. // API operation DescribeSecurityGroups for usage and error information.
  12038. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
  12039. func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
  12040. req, out := c.DescribeSecurityGroupsRequest(input)
  12041. return out, req.Send()
  12042. }
  12043. // DescribeSecurityGroupsWithContext is the same as DescribeSecurityGroups with the addition of
  12044. // the ability to pass a context and additional request options.
  12045. //
  12046. // See DescribeSecurityGroups for details on how to use this API operation.
  12047. //
  12048. // The context must be non-nil and will be used for request cancellation. If
  12049. // the context is nil a panic will occur. In the future the SDK may create
  12050. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12051. // for more information on using Contexts.
  12052. func (c *EC2) DescribeSecurityGroupsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.Option) (*DescribeSecurityGroupsOutput, error) {
  12053. req, out := c.DescribeSecurityGroupsRequest(input)
  12054. req.SetContext(ctx)
  12055. req.ApplyOptions(opts...)
  12056. return out, req.Send()
  12057. }
  12058. const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
  12059. // DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
  12060. // client's request for the DescribeSnapshotAttribute operation. The "output" return
  12061. // value will be populated with the request's response once the request completes
  12062. // successfuly.
  12063. //
  12064. // Use "Send" method on the returned Request to send the API call to the service.
  12065. // the "output" return value is not valid until after Send returns without error.
  12066. //
  12067. // See DescribeSnapshotAttribute for more information on using the DescribeSnapshotAttribute
  12068. // API call, and error handling.
  12069. //
  12070. // This method is useful when you want to inject custom logic or configuration
  12071. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12072. //
  12073. //
  12074. // // Example sending a request using the DescribeSnapshotAttributeRequest method.
  12075. // req, resp := client.DescribeSnapshotAttributeRequest(params)
  12076. //
  12077. // err := req.Send()
  12078. // if err == nil { // resp is now filled
  12079. // fmt.Println(resp)
  12080. // }
  12081. //
  12082. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
  12083. func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
  12084. op := &request.Operation{
  12085. Name: opDescribeSnapshotAttribute,
  12086. HTTPMethod: "POST",
  12087. HTTPPath: "/",
  12088. }
  12089. if input == nil {
  12090. input = &DescribeSnapshotAttributeInput{}
  12091. }
  12092. output = &DescribeSnapshotAttributeOutput{}
  12093. req = c.newRequest(op, input, output)
  12094. return
  12095. }
  12096. // DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  12097. //
  12098. // Describes the specified attribute of the specified snapshot. You can specify
  12099. // only one attribute at a time.
  12100. //
  12101. // For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  12102. // in the Amazon Elastic Compute Cloud User Guide.
  12103. //
  12104. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12105. // with awserr.Error's Code and Message methods to get detailed information about
  12106. // the error.
  12107. //
  12108. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12109. // API operation DescribeSnapshotAttribute for usage and error information.
  12110. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
  12111. func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
  12112. req, out := c.DescribeSnapshotAttributeRequest(input)
  12113. return out, req.Send()
  12114. }
  12115. // DescribeSnapshotAttributeWithContext is the same as DescribeSnapshotAttribute with the addition of
  12116. // the ability to pass a context and additional request options.
  12117. //
  12118. // See DescribeSnapshotAttribute for details on how to use this API operation.
  12119. //
  12120. // The context must be non-nil and will be used for request cancellation. If
  12121. // the context is nil a panic will occur. In the future the SDK may create
  12122. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12123. // for more information on using Contexts.
  12124. func (c *EC2) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *DescribeSnapshotAttributeInput, opts ...request.Option) (*DescribeSnapshotAttributeOutput, error) {
  12125. req, out := c.DescribeSnapshotAttributeRequest(input)
  12126. req.SetContext(ctx)
  12127. req.ApplyOptions(opts...)
  12128. return out, req.Send()
  12129. }
  12130. const opDescribeSnapshots = "DescribeSnapshots"
  12131. // DescribeSnapshotsRequest generates a "aws/request.Request" representing the
  12132. // client's request for the DescribeSnapshots operation. The "output" return
  12133. // value will be populated with the request's response once the request completes
  12134. // successfuly.
  12135. //
  12136. // Use "Send" method on the returned Request to send the API call to the service.
  12137. // the "output" return value is not valid until after Send returns without error.
  12138. //
  12139. // See DescribeSnapshots for more information on using the DescribeSnapshots
  12140. // API call, and error handling.
  12141. //
  12142. // This method is useful when you want to inject custom logic or configuration
  12143. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12144. //
  12145. //
  12146. // // Example sending a request using the DescribeSnapshotsRequest method.
  12147. // req, resp := client.DescribeSnapshotsRequest(params)
  12148. //
  12149. // err := req.Send()
  12150. // if err == nil { // resp is now filled
  12151. // fmt.Println(resp)
  12152. // }
  12153. //
  12154. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
  12155. func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
  12156. op := &request.Operation{
  12157. Name: opDescribeSnapshots,
  12158. HTTPMethod: "POST",
  12159. HTTPPath: "/",
  12160. Paginator: &request.Paginator{
  12161. InputTokens: []string{"NextToken"},
  12162. OutputTokens: []string{"NextToken"},
  12163. LimitToken: "MaxResults",
  12164. TruncationToken: "",
  12165. },
  12166. }
  12167. if input == nil {
  12168. input = &DescribeSnapshotsInput{}
  12169. }
  12170. output = &DescribeSnapshotsOutput{}
  12171. req = c.newRequest(op, input, output)
  12172. return
  12173. }
  12174. // DescribeSnapshots API operation for Amazon Elastic Compute Cloud.
  12175. //
  12176. // Describes one or more of the EBS snapshots available to you. Available snapshots
  12177. // include public snapshots available for any AWS account to launch, private
  12178. // snapshots that you own, and private snapshots owned by another AWS account
  12179. // but for which you've been given explicit create volume permissions.
  12180. //
  12181. // The create volume permissions fall into the following categories:
  12182. //
  12183. // * public: The owner of the snapshot granted create volume permissions
  12184. // for the snapshot to the all group. All AWS accounts have create volume
  12185. // permissions for these snapshots.
  12186. //
  12187. // * explicit: The owner of the snapshot granted create volume permissions
  12188. // to a specific AWS account.
  12189. //
  12190. // * implicit: An AWS account has implicit create volume permissions for
  12191. // all snapshots it owns.
  12192. //
  12193. // The list of snapshots returned can be modified by specifying snapshot IDs,
  12194. // snapshot owners, or AWS accounts with create volume permissions. If no options
  12195. // are specified, Amazon EC2 returns all snapshots for which you have create
  12196. // volume permissions.
  12197. //
  12198. // If you specify one or more snapshot IDs, only snapshots that have the specified
  12199. // IDs are returned. If you specify an invalid snapshot ID, an error is returned.
  12200. // If you specify a snapshot ID for which you do not have access, it is not
  12201. // included in the returned results.
  12202. //
  12203. // If you specify one or more snapshot owners using the OwnerIds option, only
  12204. // snapshots from the specified owners and for which you have access are returned.
  12205. // The results can include the AWS account IDs of the specified owners, amazon
  12206. // for snapshots owned by Amazon, or self for snapshots that you own.
  12207. //
  12208. // If you specify a list of restorable users, only snapshots with create snapshot
  12209. // permissions for those users are returned. You can specify AWS account IDs
  12210. // (if you own the snapshots), self for snapshots for which you own or have
  12211. // explicit permissions, or all for public snapshots.
  12212. //
  12213. // If you are describing a long list of snapshots, you can paginate the output
  12214. // to make the list more manageable. The MaxResults parameter sets the maximum
  12215. // number of results returned in a single page. If the list of results exceeds
  12216. // your MaxResults value, then that number of results is returned along with
  12217. // a NextToken value that can be passed to a subsequent DescribeSnapshots request
  12218. // to retrieve the remaining results.
  12219. //
  12220. // For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  12221. // in the Amazon Elastic Compute Cloud User Guide.
  12222. //
  12223. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12224. // with awserr.Error's Code and Message methods to get detailed information about
  12225. // the error.
  12226. //
  12227. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12228. // API operation DescribeSnapshots for usage and error information.
  12229. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
  12230. func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
  12231. req, out := c.DescribeSnapshotsRequest(input)
  12232. return out, req.Send()
  12233. }
  12234. // DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
  12235. // the ability to pass a context and additional request options.
  12236. //
  12237. // See DescribeSnapshots for details on how to use this API operation.
  12238. //
  12239. // The context must be non-nil and will be used for request cancellation. If
  12240. // the context is nil a panic will occur. In the future the SDK may create
  12241. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12242. // for more information on using Contexts.
  12243. func (c *EC2) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
  12244. req, out := c.DescribeSnapshotsRequest(input)
  12245. req.SetContext(ctx)
  12246. req.ApplyOptions(opts...)
  12247. return out, req.Send()
  12248. }
  12249. // DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
  12250. // calling the "fn" function with the response data for each page. To stop
  12251. // iterating, return false from the fn function.
  12252. //
  12253. // See DescribeSnapshots method for more information on how to use this operation.
  12254. //
  12255. // Note: This operation can generate multiple requests to a service.
  12256. //
  12257. // // Example iterating over at most 3 pages of a DescribeSnapshots operation.
  12258. // pageNum := 0
  12259. // err := client.DescribeSnapshotsPages(params,
  12260. // func(page *DescribeSnapshotsOutput, lastPage bool) bool {
  12261. // pageNum++
  12262. // fmt.Println(page)
  12263. // return pageNum <= 3
  12264. // })
  12265. //
  12266. func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error {
  12267. return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
  12268. }
  12269. // DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except
  12270. // it takes a Context and allows setting request options on the pages.
  12271. //
  12272. // The context must be non-nil and will be used for request cancellation. If
  12273. // the context is nil a panic will occur. In the future the SDK may create
  12274. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12275. // for more information on using Contexts.
  12276. func (c *EC2) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error {
  12277. p := request.Pagination{
  12278. NewRequest: func() (*request.Request, error) {
  12279. var inCpy *DescribeSnapshotsInput
  12280. if input != nil {
  12281. tmp := *input
  12282. inCpy = &tmp
  12283. }
  12284. req, _ := c.DescribeSnapshotsRequest(inCpy)
  12285. req.SetContext(ctx)
  12286. req.ApplyOptions(opts...)
  12287. return req, nil
  12288. },
  12289. }
  12290. cont := true
  12291. for p.Next() && cont {
  12292. cont = fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage())
  12293. }
  12294. return p.Err()
  12295. }
  12296. const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
  12297. // DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  12298. // client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
  12299. // value will be populated with the request's response once the request completes
  12300. // successfuly.
  12301. //
  12302. // Use "Send" method on the returned Request to send the API call to the service.
  12303. // the "output" return value is not valid until after Send returns without error.
  12304. //
  12305. // See DescribeSpotDatafeedSubscription for more information on using the DescribeSpotDatafeedSubscription
  12306. // API call, and error handling.
  12307. //
  12308. // This method is useful when you want to inject custom logic or configuration
  12309. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12310. //
  12311. //
  12312. // // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
  12313. // req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
  12314. //
  12315. // err := req.Send()
  12316. // if err == nil { // resp is now filled
  12317. // fmt.Println(resp)
  12318. // }
  12319. //
  12320. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
  12321. func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
  12322. op := &request.Operation{
  12323. Name: opDescribeSpotDatafeedSubscription,
  12324. HTTPMethod: "POST",
  12325. HTTPPath: "/",
  12326. }
  12327. if input == nil {
  12328. input = &DescribeSpotDatafeedSubscriptionInput{}
  12329. }
  12330. output = &DescribeSpotDatafeedSubscriptionOutput{}
  12331. req = c.newRequest(op, input, output)
  12332. return
  12333. }
  12334. // DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  12335. //
  12336. // Describes the data feed for Spot Instances. For more information, see Spot
  12337. // Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  12338. // in the Amazon EC2 User Guide for Linux Instances.
  12339. //
  12340. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12341. // with awserr.Error's Code and Message methods to get detailed information about
  12342. // the error.
  12343. //
  12344. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12345. // API operation DescribeSpotDatafeedSubscription for usage and error information.
  12346. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
  12347. func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  12348. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  12349. return out, req.Send()
  12350. }
  12351. // DescribeSpotDatafeedSubscriptionWithContext is the same as DescribeSpotDatafeedSubscription with the addition of
  12352. // the ability to pass a context and additional request options.
  12353. //
  12354. // See DescribeSpotDatafeedSubscription for details on how to use this API operation.
  12355. //
  12356. // The context must be non-nil and will be used for request cancellation. If
  12357. // the context is nil a panic will occur. In the future the SDK may create
  12358. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12359. // for more information on using Contexts.
  12360. func (c *EC2) DescribeSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DescribeSpotDatafeedSubscriptionInput, opts ...request.Option) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  12361. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  12362. req.SetContext(ctx)
  12363. req.ApplyOptions(opts...)
  12364. return out, req.Send()
  12365. }
  12366. const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
  12367. // DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
  12368. // client's request for the DescribeSpotFleetInstances operation. The "output" return
  12369. // value will be populated with the request's response once the request completes
  12370. // successfuly.
  12371. //
  12372. // Use "Send" method on the returned Request to send the API call to the service.
  12373. // the "output" return value is not valid until after Send returns without error.
  12374. //
  12375. // See DescribeSpotFleetInstances for more information on using the DescribeSpotFleetInstances
  12376. // API call, and error handling.
  12377. //
  12378. // This method is useful when you want to inject custom logic or configuration
  12379. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12380. //
  12381. //
  12382. // // Example sending a request using the DescribeSpotFleetInstancesRequest method.
  12383. // req, resp := client.DescribeSpotFleetInstancesRequest(params)
  12384. //
  12385. // err := req.Send()
  12386. // if err == nil { // resp is now filled
  12387. // fmt.Println(resp)
  12388. // }
  12389. //
  12390. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
  12391. func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
  12392. op := &request.Operation{
  12393. Name: opDescribeSpotFleetInstances,
  12394. HTTPMethod: "POST",
  12395. HTTPPath: "/",
  12396. }
  12397. if input == nil {
  12398. input = &DescribeSpotFleetInstancesInput{}
  12399. }
  12400. output = &DescribeSpotFleetInstancesOutput{}
  12401. req = c.newRequest(op, input, output)
  12402. return
  12403. }
  12404. // DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
  12405. //
  12406. // Describes the running instances for the specified Spot Fleet.
  12407. //
  12408. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12409. // with awserr.Error's Code and Message methods to get detailed information about
  12410. // the error.
  12411. //
  12412. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12413. // API operation DescribeSpotFleetInstances for usage and error information.
  12414. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
  12415. func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
  12416. req, out := c.DescribeSpotFleetInstancesRequest(input)
  12417. return out, req.Send()
  12418. }
  12419. // DescribeSpotFleetInstancesWithContext is the same as DescribeSpotFleetInstances with the addition of
  12420. // the ability to pass a context and additional request options.
  12421. //
  12422. // See DescribeSpotFleetInstances for details on how to use this API operation.
  12423. //
  12424. // The context must be non-nil and will be used for request cancellation. If
  12425. // the context is nil a panic will occur. In the future the SDK may create
  12426. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12427. // for more information on using Contexts.
  12428. func (c *EC2) DescribeSpotFleetInstancesWithContext(ctx aws.Context, input *DescribeSpotFleetInstancesInput, opts ...request.Option) (*DescribeSpotFleetInstancesOutput, error) {
  12429. req, out := c.DescribeSpotFleetInstancesRequest(input)
  12430. req.SetContext(ctx)
  12431. req.ApplyOptions(opts...)
  12432. return out, req.Send()
  12433. }
  12434. const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
  12435. // DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
  12436. // client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
  12437. // value will be populated with the request's response once the request completes
  12438. // successfuly.
  12439. //
  12440. // Use "Send" method on the returned Request to send the API call to the service.
  12441. // the "output" return value is not valid until after Send returns without error.
  12442. //
  12443. // See DescribeSpotFleetRequestHistory for more information on using the DescribeSpotFleetRequestHistory
  12444. // API call, and error handling.
  12445. //
  12446. // This method is useful when you want to inject custom logic or configuration
  12447. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12448. //
  12449. //
  12450. // // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
  12451. // req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
  12452. //
  12453. // err := req.Send()
  12454. // if err == nil { // resp is now filled
  12455. // fmt.Println(resp)
  12456. // }
  12457. //
  12458. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
  12459. func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
  12460. op := &request.Operation{
  12461. Name: opDescribeSpotFleetRequestHistory,
  12462. HTTPMethod: "POST",
  12463. HTTPPath: "/",
  12464. }
  12465. if input == nil {
  12466. input = &DescribeSpotFleetRequestHistoryInput{}
  12467. }
  12468. output = &DescribeSpotFleetRequestHistoryOutput{}
  12469. req = c.newRequest(op, input, output)
  12470. return
  12471. }
  12472. // DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
  12473. //
  12474. // Describes the events for the specified Spot Fleet request during the specified
  12475. // time.
  12476. //
  12477. // Spot Fleet events are delayed by up to 30 seconds before they can be described.
  12478. // This ensures that you can query by the last evaluated time and not miss a
  12479. // recorded event.
  12480. //
  12481. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12482. // with awserr.Error's Code and Message methods to get detailed information about
  12483. // the error.
  12484. //
  12485. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12486. // API operation DescribeSpotFleetRequestHistory for usage and error information.
  12487. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
  12488. func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
  12489. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  12490. return out, req.Send()
  12491. }
  12492. // DescribeSpotFleetRequestHistoryWithContext is the same as DescribeSpotFleetRequestHistory with the addition of
  12493. // the ability to pass a context and additional request options.
  12494. //
  12495. // See DescribeSpotFleetRequestHistory for details on how to use this API operation.
  12496. //
  12497. // The context must be non-nil and will be used for request cancellation. If
  12498. // the context is nil a panic will occur. In the future the SDK may create
  12499. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12500. // for more information on using Contexts.
  12501. func (c *EC2) DescribeSpotFleetRequestHistoryWithContext(ctx aws.Context, input *DescribeSpotFleetRequestHistoryInput, opts ...request.Option) (*DescribeSpotFleetRequestHistoryOutput, error) {
  12502. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  12503. req.SetContext(ctx)
  12504. req.ApplyOptions(opts...)
  12505. return out, req.Send()
  12506. }
  12507. const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
  12508. // DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  12509. // client's request for the DescribeSpotFleetRequests operation. The "output" return
  12510. // value will be populated with the request's response once the request completes
  12511. // successfuly.
  12512. //
  12513. // Use "Send" method on the returned Request to send the API call to the service.
  12514. // the "output" return value is not valid until after Send returns without error.
  12515. //
  12516. // See DescribeSpotFleetRequests for more information on using the DescribeSpotFleetRequests
  12517. // API call, and error handling.
  12518. //
  12519. // This method is useful when you want to inject custom logic or configuration
  12520. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12521. //
  12522. //
  12523. // // Example sending a request using the DescribeSpotFleetRequestsRequest method.
  12524. // req, resp := client.DescribeSpotFleetRequestsRequest(params)
  12525. //
  12526. // err := req.Send()
  12527. // if err == nil { // resp is now filled
  12528. // fmt.Println(resp)
  12529. // }
  12530. //
  12531. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
  12532. func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
  12533. op := &request.Operation{
  12534. Name: opDescribeSpotFleetRequests,
  12535. HTTPMethod: "POST",
  12536. HTTPPath: "/",
  12537. Paginator: &request.Paginator{
  12538. InputTokens: []string{"NextToken"},
  12539. OutputTokens: []string{"NextToken"},
  12540. LimitToken: "MaxResults",
  12541. TruncationToken: "",
  12542. },
  12543. }
  12544. if input == nil {
  12545. input = &DescribeSpotFleetRequestsInput{}
  12546. }
  12547. output = &DescribeSpotFleetRequestsOutput{}
  12548. req = c.newRequest(op, input, output)
  12549. return
  12550. }
  12551. // DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  12552. //
  12553. // Describes your Spot Fleet requests.
  12554. //
  12555. // Spot Fleet requests are deleted 48 hours after they are canceled and their
  12556. // instances are terminated.
  12557. //
  12558. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12559. // with awserr.Error's Code and Message methods to get detailed information about
  12560. // the error.
  12561. //
  12562. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12563. // API operation DescribeSpotFleetRequests for usage and error information.
  12564. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
  12565. func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
  12566. req, out := c.DescribeSpotFleetRequestsRequest(input)
  12567. return out, req.Send()
  12568. }
  12569. // DescribeSpotFleetRequestsWithContext is the same as DescribeSpotFleetRequests with the addition of
  12570. // the ability to pass a context and additional request options.
  12571. //
  12572. // See DescribeSpotFleetRequests for details on how to use this API operation.
  12573. //
  12574. // The context must be non-nil and will be used for request cancellation. If
  12575. // the context is nil a panic will occur. In the future the SDK may create
  12576. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12577. // for more information on using Contexts.
  12578. func (c *EC2) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, opts ...request.Option) (*DescribeSpotFleetRequestsOutput, error) {
  12579. req, out := c.DescribeSpotFleetRequestsRequest(input)
  12580. req.SetContext(ctx)
  12581. req.ApplyOptions(opts...)
  12582. return out, req.Send()
  12583. }
  12584. // DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
  12585. // calling the "fn" function with the response data for each page. To stop
  12586. // iterating, return false from the fn function.
  12587. //
  12588. // See DescribeSpotFleetRequests method for more information on how to use this operation.
  12589. //
  12590. // Note: This operation can generate multiple requests to a service.
  12591. //
  12592. // // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation.
  12593. // pageNum := 0
  12594. // err := client.DescribeSpotFleetRequestsPages(params,
  12595. // func(page *DescribeSpotFleetRequestsOutput, lastPage bool) bool {
  12596. // pageNum++
  12597. // fmt.Println(page)
  12598. // return pageNum <= 3
  12599. // })
  12600. //
  12601. func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool) error {
  12602. return c.DescribeSpotFleetRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
  12603. }
  12604. // DescribeSpotFleetRequestsPagesWithContext same as DescribeSpotFleetRequestsPages except
  12605. // it takes a Context and allows setting request options on the pages.
  12606. //
  12607. // The context must be non-nil and will be used for request cancellation. If
  12608. // the context is nil a panic will occur. In the future the SDK may create
  12609. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12610. // for more information on using Contexts.
  12611. func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool, opts ...request.Option) error {
  12612. p := request.Pagination{
  12613. NewRequest: func() (*request.Request, error) {
  12614. var inCpy *DescribeSpotFleetRequestsInput
  12615. if input != nil {
  12616. tmp := *input
  12617. inCpy = &tmp
  12618. }
  12619. req, _ := c.DescribeSpotFleetRequestsRequest(inCpy)
  12620. req.SetContext(ctx)
  12621. req.ApplyOptions(opts...)
  12622. return req, nil
  12623. },
  12624. }
  12625. cont := true
  12626. for p.Next() && cont {
  12627. cont = fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage())
  12628. }
  12629. return p.Err()
  12630. }
  12631. const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
  12632. // DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  12633. // client's request for the DescribeSpotInstanceRequests operation. The "output" return
  12634. // value will be populated with the request's response once the request completes
  12635. // successfuly.
  12636. //
  12637. // Use "Send" method on the returned Request to send the API call to the service.
  12638. // the "output" return value is not valid until after Send returns without error.
  12639. //
  12640. // See DescribeSpotInstanceRequests for more information on using the DescribeSpotInstanceRequests
  12641. // API call, and error handling.
  12642. //
  12643. // This method is useful when you want to inject custom logic or configuration
  12644. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12645. //
  12646. //
  12647. // // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
  12648. // req, resp := client.DescribeSpotInstanceRequestsRequest(params)
  12649. //
  12650. // err := req.Send()
  12651. // if err == nil { // resp is now filled
  12652. // fmt.Println(resp)
  12653. // }
  12654. //
  12655. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
  12656. func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
  12657. op := &request.Operation{
  12658. Name: opDescribeSpotInstanceRequests,
  12659. HTTPMethod: "POST",
  12660. HTTPPath: "/",
  12661. }
  12662. if input == nil {
  12663. input = &DescribeSpotInstanceRequestsInput{}
  12664. }
  12665. output = &DescribeSpotInstanceRequestsOutput{}
  12666. req = c.newRequest(op, input, output)
  12667. return
  12668. }
  12669. // DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  12670. //
  12671. // Describes the Spot Instance requests that belong to your account. Spot Instances
  12672. // are instances that Amazon EC2 launches when the Spot price that you specify
  12673. // exceeds the current Spot price. For more information, see Spot Instance Requests
  12674. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) in
  12675. // the Amazon EC2 User Guide for Linux Instances.
  12676. //
  12677. // You can use DescribeSpotInstanceRequests to find a running Spot Instance
  12678. // by examining the response. If the status of the Spot Instance is fulfilled,
  12679. // the instance ID appears in the response and contains the identifier of the
  12680. // instance. Alternatively, you can use DescribeInstances with a filter to look
  12681. // for instances where the instance lifecycle is spot.
  12682. //
  12683. // Spot Instance requests are deleted four hours after they are canceled and
  12684. // their instances are terminated.
  12685. //
  12686. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12687. // with awserr.Error's Code and Message methods to get detailed information about
  12688. // the error.
  12689. //
  12690. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12691. // API operation DescribeSpotInstanceRequests for usage and error information.
  12692. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
  12693. func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
  12694. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  12695. return out, req.Send()
  12696. }
  12697. // DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of
  12698. // the ability to pass a context and additional request options.
  12699. //
  12700. // See DescribeSpotInstanceRequests for details on how to use this API operation.
  12701. //
  12702. // The context must be non-nil and will be used for request cancellation. If
  12703. // the context is nil a panic will occur. In the future the SDK may create
  12704. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12705. // for more information on using Contexts.
  12706. func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) {
  12707. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  12708. req.SetContext(ctx)
  12709. req.ApplyOptions(opts...)
  12710. return out, req.Send()
  12711. }
  12712. const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
  12713. // DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
  12714. // client's request for the DescribeSpotPriceHistory operation. The "output" return
  12715. // value will be populated with the request's response once the request completes
  12716. // successfuly.
  12717. //
  12718. // Use "Send" method on the returned Request to send the API call to the service.
  12719. // the "output" return value is not valid until after Send returns without error.
  12720. //
  12721. // See DescribeSpotPriceHistory for more information on using the DescribeSpotPriceHistory
  12722. // API call, and error handling.
  12723. //
  12724. // This method is useful when you want to inject custom logic or configuration
  12725. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12726. //
  12727. //
  12728. // // Example sending a request using the DescribeSpotPriceHistoryRequest method.
  12729. // req, resp := client.DescribeSpotPriceHistoryRequest(params)
  12730. //
  12731. // err := req.Send()
  12732. // if err == nil { // resp is now filled
  12733. // fmt.Println(resp)
  12734. // }
  12735. //
  12736. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
  12737. func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
  12738. op := &request.Operation{
  12739. Name: opDescribeSpotPriceHistory,
  12740. HTTPMethod: "POST",
  12741. HTTPPath: "/",
  12742. Paginator: &request.Paginator{
  12743. InputTokens: []string{"NextToken"},
  12744. OutputTokens: []string{"NextToken"},
  12745. LimitToken: "MaxResults",
  12746. TruncationToken: "",
  12747. },
  12748. }
  12749. if input == nil {
  12750. input = &DescribeSpotPriceHistoryInput{}
  12751. }
  12752. output = &DescribeSpotPriceHistoryOutput{}
  12753. req = c.newRequest(op, input, output)
  12754. return
  12755. }
  12756. // DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
  12757. //
  12758. // Describes the Spot price history. For more information, see Spot Instance
  12759. // Pricing History (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
  12760. // in the Amazon EC2 User Guide for Linux Instances.
  12761. //
  12762. // When you specify a start and end time, this operation returns the prices
  12763. // of the instance types within the time range that you specified and the time
  12764. // when the price changed. The price is valid within the time period that you
  12765. // specified; the response merely indicates the last time that the price changed.
  12766. //
  12767. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12768. // with awserr.Error's Code and Message methods to get detailed information about
  12769. // the error.
  12770. //
  12771. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12772. // API operation DescribeSpotPriceHistory for usage and error information.
  12773. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
  12774. func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
  12775. req, out := c.DescribeSpotPriceHistoryRequest(input)
  12776. return out, req.Send()
  12777. }
  12778. // DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of
  12779. // the ability to pass a context and additional request options.
  12780. //
  12781. // See DescribeSpotPriceHistory for details on how to use this API operation.
  12782. //
  12783. // The context must be non-nil and will be used for request cancellation. If
  12784. // the context is nil a panic will occur. In the future the SDK may create
  12785. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12786. // for more information on using Contexts.
  12787. func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) {
  12788. req, out := c.DescribeSpotPriceHistoryRequest(input)
  12789. req.SetContext(ctx)
  12790. req.ApplyOptions(opts...)
  12791. return out, req.Send()
  12792. }
  12793. // DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
  12794. // calling the "fn" function with the response data for each page. To stop
  12795. // iterating, return false from the fn function.
  12796. //
  12797. // See DescribeSpotPriceHistory method for more information on how to use this operation.
  12798. //
  12799. // Note: This operation can generate multiple requests to a service.
  12800. //
  12801. // // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation.
  12802. // pageNum := 0
  12803. // err := client.DescribeSpotPriceHistoryPages(params,
  12804. // func(page *DescribeSpotPriceHistoryOutput, lastPage bool) bool {
  12805. // pageNum++
  12806. // fmt.Println(page)
  12807. // return pageNum <= 3
  12808. // })
  12809. //
  12810. func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error {
  12811. return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
  12812. }
  12813. // DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except
  12814. // it takes a Context and allows setting request options on the pages.
  12815. //
  12816. // The context must be non-nil and will be used for request cancellation. If
  12817. // the context is nil a panic will occur. In the future the SDK may create
  12818. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12819. // for more information on using Contexts.
  12820. func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error {
  12821. p := request.Pagination{
  12822. NewRequest: func() (*request.Request, error) {
  12823. var inCpy *DescribeSpotPriceHistoryInput
  12824. if input != nil {
  12825. tmp := *input
  12826. inCpy = &tmp
  12827. }
  12828. req, _ := c.DescribeSpotPriceHistoryRequest(inCpy)
  12829. req.SetContext(ctx)
  12830. req.ApplyOptions(opts...)
  12831. return req, nil
  12832. },
  12833. }
  12834. cont := true
  12835. for p.Next() && cont {
  12836. cont = fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage())
  12837. }
  12838. return p.Err()
  12839. }
  12840. const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
  12841. // DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
  12842. // client's request for the DescribeStaleSecurityGroups operation. The "output" return
  12843. // value will be populated with the request's response once the request completes
  12844. // successfuly.
  12845. //
  12846. // Use "Send" method on the returned Request to send the API call to the service.
  12847. // the "output" return value is not valid until after Send returns without error.
  12848. //
  12849. // See DescribeStaleSecurityGroups for more information on using the DescribeStaleSecurityGroups
  12850. // API call, and error handling.
  12851. //
  12852. // This method is useful when you want to inject custom logic or configuration
  12853. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12854. //
  12855. //
  12856. // // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
  12857. // req, resp := client.DescribeStaleSecurityGroupsRequest(params)
  12858. //
  12859. // err := req.Send()
  12860. // if err == nil { // resp is now filled
  12861. // fmt.Println(resp)
  12862. // }
  12863. //
  12864. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
  12865. func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
  12866. op := &request.Operation{
  12867. Name: opDescribeStaleSecurityGroups,
  12868. HTTPMethod: "POST",
  12869. HTTPPath: "/",
  12870. }
  12871. if input == nil {
  12872. input = &DescribeStaleSecurityGroupsInput{}
  12873. }
  12874. output = &DescribeStaleSecurityGroupsOutput{}
  12875. req = c.newRequest(op, input, output)
  12876. return
  12877. }
  12878. // DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
  12879. //
  12880. // [EC2-VPC only] Describes the stale security group rules for security groups
  12881. // in a specified VPC. Rules are stale when they reference a deleted security
  12882. // group in a peer VPC, or a security group in a peer VPC for which the VPC
  12883. // peering connection has been deleted.
  12884. //
  12885. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12886. // with awserr.Error's Code and Message methods to get detailed information about
  12887. // the error.
  12888. //
  12889. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12890. // API operation DescribeStaleSecurityGroups for usage and error information.
  12891. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
  12892. func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
  12893. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  12894. return out, req.Send()
  12895. }
  12896. // DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of
  12897. // the ability to pass a context and additional request options.
  12898. //
  12899. // See DescribeStaleSecurityGroups for details on how to use this API operation.
  12900. //
  12901. // The context must be non-nil and will be used for request cancellation. If
  12902. // the context is nil a panic will occur. In the future the SDK may create
  12903. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12904. // for more information on using Contexts.
  12905. func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) {
  12906. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  12907. req.SetContext(ctx)
  12908. req.ApplyOptions(opts...)
  12909. return out, req.Send()
  12910. }
  12911. const opDescribeSubnets = "DescribeSubnets"
  12912. // DescribeSubnetsRequest generates a "aws/request.Request" representing the
  12913. // client's request for the DescribeSubnets operation. The "output" return
  12914. // value will be populated with the request's response once the request completes
  12915. // successfuly.
  12916. //
  12917. // Use "Send" method on the returned Request to send the API call to the service.
  12918. // the "output" return value is not valid until after Send returns without error.
  12919. //
  12920. // See DescribeSubnets for more information on using the DescribeSubnets
  12921. // API call, and error handling.
  12922. //
  12923. // This method is useful when you want to inject custom logic or configuration
  12924. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12925. //
  12926. //
  12927. // // Example sending a request using the DescribeSubnetsRequest method.
  12928. // req, resp := client.DescribeSubnetsRequest(params)
  12929. //
  12930. // err := req.Send()
  12931. // if err == nil { // resp is now filled
  12932. // fmt.Println(resp)
  12933. // }
  12934. //
  12935. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
  12936. func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
  12937. op := &request.Operation{
  12938. Name: opDescribeSubnets,
  12939. HTTPMethod: "POST",
  12940. HTTPPath: "/",
  12941. }
  12942. if input == nil {
  12943. input = &DescribeSubnetsInput{}
  12944. }
  12945. output = &DescribeSubnetsOutput{}
  12946. req = c.newRequest(op, input, output)
  12947. return
  12948. }
  12949. // DescribeSubnets API operation for Amazon Elastic Compute Cloud.
  12950. //
  12951. // Describes one or more of your subnets.
  12952. //
  12953. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  12954. // in the Amazon Virtual Private Cloud User Guide.
  12955. //
  12956. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12957. // with awserr.Error's Code and Message methods to get detailed information about
  12958. // the error.
  12959. //
  12960. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12961. // API operation DescribeSubnets for usage and error information.
  12962. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
  12963. func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
  12964. req, out := c.DescribeSubnetsRequest(input)
  12965. return out, req.Send()
  12966. }
  12967. // DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of
  12968. // the ability to pass a context and additional request options.
  12969. //
  12970. // See DescribeSubnets for details on how to use this API operation.
  12971. //
  12972. // The context must be non-nil and will be used for request cancellation. If
  12973. // the context is nil a panic will occur. In the future the SDK may create
  12974. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12975. // for more information on using Contexts.
  12976. func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) {
  12977. req, out := c.DescribeSubnetsRequest(input)
  12978. req.SetContext(ctx)
  12979. req.ApplyOptions(opts...)
  12980. return out, req.Send()
  12981. }
  12982. const opDescribeTags = "DescribeTags"
  12983. // DescribeTagsRequest generates a "aws/request.Request" representing the
  12984. // client's request for the DescribeTags operation. The "output" return
  12985. // value will be populated with the request's response once the request completes
  12986. // successfuly.
  12987. //
  12988. // Use "Send" method on the returned Request to send the API call to the service.
  12989. // the "output" return value is not valid until after Send returns without error.
  12990. //
  12991. // See DescribeTags for more information on using the DescribeTags
  12992. // API call, and error handling.
  12993. //
  12994. // This method is useful when you want to inject custom logic or configuration
  12995. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12996. //
  12997. //
  12998. // // Example sending a request using the DescribeTagsRequest method.
  12999. // req, resp := client.DescribeTagsRequest(params)
  13000. //
  13001. // err := req.Send()
  13002. // if err == nil { // resp is now filled
  13003. // fmt.Println(resp)
  13004. // }
  13005. //
  13006. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
  13007. func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  13008. op := &request.Operation{
  13009. Name: opDescribeTags,
  13010. HTTPMethod: "POST",
  13011. HTTPPath: "/",
  13012. Paginator: &request.Paginator{
  13013. InputTokens: []string{"NextToken"},
  13014. OutputTokens: []string{"NextToken"},
  13015. LimitToken: "MaxResults",
  13016. TruncationToken: "",
  13017. },
  13018. }
  13019. if input == nil {
  13020. input = &DescribeTagsInput{}
  13021. }
  13022. output = &DescribeTagsOutput{}
  13023. req = c.newRequest(op, input, output)
  13024. return
  13025. }
  13026. // DescribeTags API operation for Amazon Elastic Compute Cloud.
  13027. //
  13028. // Describes one or more of the tags for your EC2 resources.
  13029. //
  13030. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  13031. // in the Amazon Elastic Compute Cloud User Guide.
  13032. //
  13033. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13034. // with awserr.Error's Code and Message methods to get detailed information about
  13035. // the error.
  13036. //
  13037. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13038. // API operation DescribeTags for usage and error information.
  13039. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
  13040. func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  13041. req, out := c.DescribeTagsRequest(input)
  13042. return out, req.Send()
  13043. }
  13044. // DescribeTagsWithContext is the same as DescribeTags with the addition of
  13045. // the ability to pass a context and additional request options.
  13046. //
  13047. // See DescribeTags for details on how to use this API operation.
  13048. //
  13049. // The context must be non-nil and will be used for request cancellation. If
  13050. // the context is nil a panic will occur. In the future the SDK may create
  13051. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13052. // for more information on using Contexts.
  13053. func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
  13054. req, out := c.DescribeTagsRequest(input)
  13055. req.SetContext(ctx)
  13056. req.ApplyOptions(opts...)
  13057. return out, req.Send()
  13058. }
  13059. // DescribeTagsPages iterates over the pages of a DescribeTags operation,
  13060. // calling the "fn" function with the response data for each page. To stop
  13061. // iterating, return false from the fn function.
  13062. //
  13063. // See DescribeTags method for more information on how to use this operation.
  13064. //
  13065. // Note: This operation can generate multiple requests to a service.
  13066. //
  13067. // // Example iterating over at most 3 pages of a DescribeTags operation.
  13068. // pageNum := 0
  13069. // err := client.DescribeTagsPages(params,
  13070. // func(page *DescribeTagsOutput, lastPage bool) bool {
  13071. // pageNum++
  13072. // fmt.Println(page)
  13073. // return pageNum <= 3
  13074. // })
  13075. //
  13076. func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
  13077. return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
  13078. }
  13079. // DescribeTagsPagesWithContext same as DescribeTagsPages except
  13080. // it takes a Context and allows setting request options on the pages.
  13081. //
  13082. // The context must be non-nil and will be used for request cancellation. If
  13083. // the context is nil a panic will occur. In the future the SDK may create
  13084. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13085. // for more information on using Contexts.
  13086. func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
  13087. p := request.Pagination{
  13088. NewRequest: func() (*request.Request, error) {
  13089. var inCpy *DescribeTagsInput
  13090. if input != nil {
  13091. tmp := *input
  13092. inCpy = &tmp
  13093. }
  13094. req, _ := c.DescribeTagsRequest(inCpy)
  13095. req.SetContext(ctx)
  13096. req.ApplyOptions(opts...)
  13097. return req, nil
  13098. },
  13099. }
  13100. cont := true
  13101. for p.Next() && cont {
  13102. cont = fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage())
  13103. }
  13104. return p.Err()
  13105. }
  13106. const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
  13107. // DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
  13108. // client's request for the DescribeVolumeAttribute operation. The "output" return
  13109. // value will be populated with the request's response once the request completes
  13110. // successfuly.
  13111. //
  13112. // Use "Send" method on the returned Request to send the API call to the service.
  13113. // the "output" return value is not valid until after Send returns without error.
  13114. //
  13115. // See DescribeVolumeAttribute for more information on using the DescribeVolumeAttribute
  13116. // API call, and error handling.
  13117. //
  13118. // This method is useful when you want to inject custom logic or configuration
  13119. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13120. //
  13121. //
  13122. // // Example sending a request using the DescribeVolumeAttributeRequest method.
  13123. // req, resp := client.DescribeVolumeAttributeRequest(params)
  13124. //
  13125. // err := req.Send()
  13126. // if err == nil { // resp is now filled
  13127. // fmt.Println(resp)
  13128. // }
  13129. //
  13130. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
  13131. func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
  13132. op := &request.Operation{
  13133. Name: opDescribeVolumeAttribute,
  13134. HTTPMethod: "POST",
  13135. HTTPPath: "/",
  13136. }
  13137. if input == nil {
  13138. input = &DescribeVolumeAttributeInput{}
  13139. }
  13140. output = &DescribeVolumeAttributeOutput{}
  13141. req = c.newRequest(op, input, output)
  13142. return
  13143. }
  13144. // DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  13145. //
  13146. // Describes the specified attribute of the specified volume. You can specify
  13147. // only one attribute at a time.
  13148. //
  13149. // For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  13150. // in the Amazon Elastic Compute Cloud User Guide.
  13151. //
  13152. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13153. // with awserr.Error's Code and Message methods to get detailed information about
  13154. // the error.
  13155. //
  13156. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13157. // API operation DescribeVolumeAttribute for usage and error information.
  13158. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
  13159. func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
  13160. req, out := c.DescribeVolumeAttributeRequest(input)
  13161. return out, req.Send()
  13162. }
  13163. // DescribeVolumeAttributeWithContext is the same as DescribeVolumeAttribute with the addition of
  13164. // the ability to pass a context and additional request options.
  13165. //
  13166. // See DescribeVolumeAttribute for details on how to use this API operation.
  13167. //
  13168. // The context must be non-nil and will be used for request cancellation. If
  13169. // the context is nil a panic will occur. In the future the SDK may create
  13170. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13171. // for more information on using Contexts.
  13172. func (c *EC2) DescribeVolumeAttributeWithContext(ctx aws.Context, input *DescribeVolumeAttributeInput, opts ...request.Option) (*DescribeVolumeAttributeOutput, error) {
  13173. req, out := c.DescribeVolumeAttributeRequest(input)
  13174. req.SetContext(ctx)
  13175. req.ApplyOptions(opts...)
  13176. return out, req.Send()
  13177. }
  13178. const opDescribeVolumeStatus = "DescribeVolumeStatus"
  13179. // DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
  13180. // client's request for the DescribeVolumeStatus operation. The "output" return
  13181. // value will be populated with the request's response once the request completes
  13182. // successfuly.
  13183. //
  13184. // Use "Send" method on the returned Request to send the API call to the service.
  13185. // the "output" return value is not valid until after Send returns without error.
  13186. //
  13187. // See DescribeVolumeStatus for more information on using the DescribeVolumeStatus
  13188. // API call, and error handling.
  13189. //
  13190. // This method is useful when you want to inject custom logic or configuration
  13191. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13192. //
  13193. //
  13194. // // Example sending a request using the DescribeVolumeStatusRequest method.
  13195. // req, resp := client.DescribeVolumeStatusRequest(params)
  13196. //
  13197. // err := req.Send()
  13198. // if err == nil { // resp is now filled
  13199. // fmt.Println(resp)
  13200. // }
  13201. //
  13202. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
  13203. func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
  13204. op := &request.Operation{
  13205. Name: opDescribeVolumeStatus,
  13206. HTTPMethod: "POST",
  13207. HTTPPath: "/",
  13208. Paginator: &request.Paginator{
  13209. InputTokens: []string{"NextToken"},
  13210. OutputTokens: []string{"NextToken"},
  13211. LimitToken: "MaxResults",
  13212. TruncationToken: "",
  13213. },
  13214. }
  13215. if input == nil {
  13216. input = &DescribeVolumeStatusInput{}
  13217. }
  13218. output = &DescribeVolumeStatusOutput{}
  13219. req = c.newRequest(op, input, output)
  13220. return
  13221. }
  13222. // DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
  13223. //
  13224. // Describes the status of the specified volumes. Volume status provides the
  13225. // result of the checks performed on your volumes to determine events that can
  13226. // impair the performance of your volumes. The performance of a volume can be
  13227. // affected if an issue occurs on the volume's underlying host. If the volume's
  13228. // underlying host experiences a power outage or system issue, after the system
  13229. // is restored, there could be data inconsistencies on the volume. Volume events
  13230. // notify you if this occurs. Volume actions notify you if any action needs
  13231. // to be taken in response to the event.
  13232. //
  13233. // The DescribeVolumeStatus operation provides the following information about
  13234. // the specified volumes:
  13235. //
  13236. // Status: Reflects the current status of the volume. The possible values are
  13237. // ok, impaired , warning, or insufficient-data. If all checks pass, the overall
  13238. // status of the volume is ok. If the check fails, the overall status is impaired.
  13239. // If the status is insufficient-data, then the checks may still be taking place
  13240. // on your volume at the time. We recommend that you retry the request. For
  13241. // more information on volume status, see Monitoring the Status of Your Volumes
  13242. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html).
  13243. //
  13244. // Events: Reflect the cause of a volume status and may require you to take
  13245. // action. For example, if your volume returns an impaired status, then the
  13246. // volume event might be potential-data-inconsistency. This means that your
  13247. // volume has been affected by an issue with the underlying host, has all I/O
  13248. // operations disabled, and may have inconsistent data.
  13249. //
  13250. // Actions: Reflect the actions you may have to take in response to an event.
  13251. // For example, if the status of the volume is impaired and the volume event
  13252. // shows potential-data-inconsistency, then the action shows enable-volume-io.
  13253. // This means that you may want to enable the I/O operations for the volume
  13254. // by calling the EnableVolumeIO action and then check the volume for data consistency.
  13255. //
  13256. // Volume status is based on the volume status checks, and does not reflect
  13257. // the volume state. Therefore, volume status does not indicate volumes in the
  13258. // error state (for example, when a volume is incapable of accepting I/O.)
  13259. //
  13260. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13261. // with awserr.Error's Code and Message methods to get detailed information about
  13262. // the error.
  13263. //
  13264. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13265. // API operation DescribeVolumeStatus for usage and error information.
  13266. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
  13267. func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
  13268. req, out := c.DescribeVolumeStatusRequest(input)
  13269. return out, req.Send()
  13270. }
  13271. // DescribeVolumeStatusWithContext is the same as DescribeVolumeStatus with the addition of
  13272. // the ability to pass a context and additional request options.
  13273. //
  13274. // See DescribeVolumeStatus for details on how to use this API operation.
  13275. //
  13276. // The context must be non-nil and will be used for request cancellation. If
  13277. // the context is nil a panic will occur. In the future the SDK may create
  13278. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13279. // for more information on using Contexts.
  13280. func (c *EC2) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, opts ...request.Option) (*DescribeVolumeStatusOutput, error) {
  13281. req, out := c.DescribeVolumeStatusRequest(input)
  13282. req.SetContext(ctx)
  13283. req.ApplyOptions(opts...)
  13284. return out, req.Send()
  13285. }
  13286. // DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
  13287. // calling the "fn" function with the response data for each page. To stop
  13288. // iterating, return false from the fn function.
  13289. //
  13290. // See DescribeVolumeStatus method for more information on how to use this operation.
  13291. //
  13292. // Note: This operation can generate multiple requests to a service.
  13293. //
  13294. // // Example iterating over at most 3 pages of a DescribeVolumeStatus operation.
  13295. // pageNum := 0
  13296. // err := client.DescribeVolumeStatusPages(params,
  13297. // func(page *DescribeVolumeStatusOutput, lastPage bool) bool {
  13298. // pageNum++
  13299. // fmt.Println(page)
  13300. // return pageNum <= 3
  13301. // })
  13302. //
  13303. func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool) error {
  13304. return c.DescribeVolumeStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  13305. }
  13306. // DescribeVolumeStatusPagesWithContext same as DescribeVolumeStatusPages except
  13307. // it takes a Context and allows setting request options on the pages.
  13308. //
  13309. // The context must be non-nil and will be used for request cancellation. If
  13310. // the context is nil a panic will occur. In the future the SDK may create
  13311. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13312. // for more information on using Contexts.
  13313. func (c *EC2) DescribeVolumeStatusPagesWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool, opts ...request.Option) error {
  13314. p := request.Pagination{
  13315. NewRequest: func() (*request.Request, error) {
  13316. var inCpy *DescribeVolumeStatusInput
  13317. if input != nil {
  13318. tmp := *input
  13319. inCpy = &tmp
  13320. }
  13321. req, _ := c.DescribeVolumeStatusRequest(inCpy)
  13322. req.SetContext(ctx)
  13323. req.ApplyOptions(opts...)
  13324. return req, nil
  13325. },
  13326. }
  13327. cont := true
  13328. for p.Next() && cont {
  13329. cont = fn(p.Page().(*DescribeVolumeStatusOutput), !p.HasNextPage())
  13330. }
  13331. return p.Err()
  13332. }
  13333. const opDescribeVolumes = "DescribeVolumes"
  13334. // DescribeVolumesRequest generates a "aws/request.Request" representing the
  13335. // client's request for the DescribeVolumes operation. The "output" return
  13336. // value will be populated with the request's response once the request completes
  13337. // successfuly.
  13338. //
  13339. // Use "Send" method on the returned Request to send the API call to the service.
  13340. // the "output" return value is not valid until after Send returns without error.
  13341. //
  13342. // See DescribeVolumes for more information on using the DescribeVolumes
  13343. // API call, and error handling.
  13344. //
  13345. // This method is useful when you want to inject custom logic or configuration
  13346. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13347. //
  13348. //
  13349. // // Example sending a request using the DescribeVolumesRequest method.
  13350. // req, resp := client.DescribeVolumesRequest(params)
  13351. //
  13352. // err := req.Send()
  13353. // if err == nil { // resp is now filled
  13354. // fmt.Println(resp)
  13355. // }
  13356. //
  13357. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
  13358. func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
  13359. op := &request.Operation{
  13360. Name: opDescribeVolumes,
  13361. HTTPMethod: "POST",
  13362. HTTPPath: "/",
  13363. Paginator: &request.Paginator{
  13364. InputTokens: []string{"NextToken"},
  13365. OutputTokens: []string{"NextToken"},
  13366. LimitToken: "MaxResults",
  13367. TruncationToken: "",
  13368. },
  13369. }
  13370. if input == nil {
  13371. input = &DescribeVolumesInput{}
  13372. }
  13373. output = &DescribeVolumesOutput{}
  13374. req = c.newRequest(op, input, output)
  13375. return
  13376. }
  13377. // DescribeVolumes API operation for Amazon Elastic Compute Cloud.
  13378. //
  13379. // Describes the specified EBS volumes.
  13380. //
  13381. // If you are describing a long list of volumes, you can paginate the output
  13382. // to make the list more manageable. The MaxResults parameter sets the maximum
  13383. // number of results returned in a single page. If the list of results exceeds
  13384. // your MaxResults value, then that number of results is returned along with
  13385. // a NextToken value that can be passed to a subsequent DescribeVolumes request
  13386. // to retrieve the remaining results.
  13387. //
  13388. // For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  13389. // in the Amazon Elastic Compute Cloud User Guide.
  13390. //
  13391. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13392. // with awserr.Error's Code and Message methods to get detailed information about
  13393. // the error.
  13394. //
  13395. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13396. // API operation DescribeVolumes for usage and error information.
  13397. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
  13398. func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
  13399. req, out := c.DescribeVolumesRequest(input)
  13400. return out, req.Send()
  13401. }
  13402. // DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
  13403. // the ability to pass a context and additional request options.
  13404. //
  13405. // See DescribeVolumes for details on how to use this API operation.
  13406. //
  13407. // The context must be non-nil and will be used for request cancellation. If
  13408. // the context is nil a panic will occur. In the future the SDK may create
  13409. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13410. // for more information on using Contexts.
  13411. func (c *EC2) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
  13412. req, out := c.DescribeVolumesRequest(input)
  13413. req.SetContext(ctx)
  13414. req.ApplyOptions(opts...)
  13415. return out, req.Send()
  13416. }
  13417. // DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
  13418. // calling the "fn" function with the response data for each page. To stop
  13419. // iterating, return false from the fn function.
  13420. //
  13421. // See DescribeVolumes method for more information on how to use this operation.
  13422. //
  13423. // Note: This operation can generate multiple requests to a service.
  13424. //
  13425. // // Example iterating over at most 3 pages of a DescribeVolumes operation.
  13426. // pageNum := 0
  13427. // err := client.DescribeVolumesPages(params,
  13428. // func(page *DescribeVolumesOutput, lastPage bool) bool {
  13429. // pageNum++
  13430. // fmt.Println(page)
  13431. // return pageNum <= 3
  13432. // })
  13433. //
  13434. func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
  13435. return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
  13436. }
  13437. // DescribeVolumesPagesWithContext same as DescribeVolumesPages except
  13438. // it takes a Context and allows setting request options on the pages.
  13439. //
  13440. // The context must be non-nil and will be used for request cancellation. If
  13441. // the context is nil a panic will occur. In the future the SDK may create
  13442. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13443. // for more information on using Contexts.
  13444. func (c *EC2) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
  13445. p := request.Pagination{
  13446. NewRequest: func() (*request.Request, error) {
  13447. var inCpy *DescribeVolumesInput
  13448. if input != nil {
  13449. tmp := *input
  13450. inCpy = &tmp
  13451. }
  13452. req, _ := c.DescribeVolumesRequest(inCpy)
  13453. req.SetContext(ctx)
  13454. req.ApplyOptions(opts...)
  13455. return req, nil
  13456. },
  13457. }
  13458. cont := true
  13459. for p.Next() && cont {
  13460. cont = fn(p.Page().(*DescribeVolumesOutput), !p.HasNextPage())
  13461. }
  13462. return p.Err()
  13463. }
  13464. const opDescribeVolumesModifications = "DescribeVolumesModifications"
  13465. // DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the
  13466. // client's request for the DescribeVolumesModifications operation. The "output" return
  13467. // value will be populated with the request's response once the request completes
  13468. // successfuly.
  13469. //
  13470. // Use "Send" method on the returned Request to send the API call to the service.
  13471. // the "output" return value is not valid until after Send returns without error.
  13472. //
  13473. // See DescribeVolumesModifications for more information on using the DescribeVolumesModifications
  13474. // API call, and error handling.
  13475. //
  13476. // This method is useful when you want to inject custom logic or configuration
  13477. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13478. //
  13479. //
  13480. // // Example sending a request using the DescribeVolumesModificationsRequest method.
  13481. // req, resp := client.DescribeVolumesModificationsRequest(params)
  13482. //
  13483. // err := req.Send()
  13484. // if err == nil { // resp is now filled
  13485. // fmt.Println(resp)
  13486. // }
  13487. //
  13488. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
  13489. func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModificationsInput) (req *request.Request, output *DescribeVolumesModificationsOutput) {
  13490. op := &request.Operation{
  13491. Name: opDescribeVolumesModifications,
  13492. HTTPMethod: "POST",
  13493. HTTPPath: "/",
  13494. }
  13495. if input == nil {
  13496. input = &DescribeVolumesModificationsInput{}
  13497. }
  13498. output = &DescribeVolumesModificationsOutput{}
  13499. req = c.newRequest(op, input, output)
  13500. return
  13501. }
  13502. // DescribeVolumesModifications API operation for Amazon Elastic Compute Cloud.
  13503. //
  13504. // Reports the current modification status of EBS volumes.
  13505. //
  13506. // Current-generation EBS volumes support modification of attributes including
  13507. // type, size, and (for io1 volumes) IOPS provisioning while either attached
  13508. // to or detached from an instance. Following an action from the API or the
  13509. // console to modify a volume, the status of the modification may be modifying,
  13510. // optimizing, completed, or failed. If a volume has never been modified, then
  13511. // certain elements of the returned VolumeModification objects are null.
  13512. //
  13513. // You can also use CloudWatch Events to check the status of a modification
  13514. // to an EBS volume. For information about CloudWatch Events, see the Amazon
  13515. // CloudWatch Events User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
  13516. // For more information, see Monitoring Volume Modifications" (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
  13517. //
  13518. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13519. // with awserr.Error's Code and Message methods to get detailed information about
  13520. // the error.
  13521. //
  13522. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13523. // API operation DescribeVolumesModifications for usage and error information.
  13524. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
  13525. func (c *EC2) DescribeVolumesModifications(input *DescribeVolumesModificationsInput) (*DescribeVolumesModificationsOutput, error) {
  13526. req, out := c.DescribeVolumesModificationsRequest(input)
  13527. return out, req.Send()
  13528. }
  13529. // DescribeVolumesModificationsWithContext is the same as DescribeVolumesModifications with the addition of
  13530. // the ability to pass a context and additional request options.
  13531. //
  13532. // See DescribeVolumesModifications for details on how to use this API operation.
  13533. //
  13534. // The context must be non-nil and will be used for request cancellation. If
  13535. // the context is nil a panic will occur. In the future the SDK may create
  13536. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13537. // for more information on using Contexts.
  13538. func (c *EC2) DescribeVolumesModificationsWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, opts ...request.Option) (*DescribeVolumesModificationsOutput, error) {
  13539. req, out := c.DescribeVolumesModificationsRequest(input)
  13540. req.SetContext(ctx)
  13541. req.ApplyOptions(opts...)
  13542. return out, req.Send()
  13543. }
  13544. const opDescribeVpcAttribute = "DescribeVpcAttribute"
  13545. // DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
  13546. // client's request for the DescribeVpcAttribute operation. The "output" return
  13547. // value will be populated with the request's response once the request completes
  13548. // successfuly.
  13549. //
  13550. // Use "Send" method on the returned Request to send the API call to the service.
  13551. // the "output" return value is not valid until after Send returns without error.
  13552. //
  13553. // See DescribeVpcAttribute for more information on using the DescribeVpcAttribute
  13554. // API call, and error handling.
  13555. //
  13556. // This method is useful when you want to inject custom logic or configuration
  13557. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13558. //
  13559. //
  13560. // // Example sending a request using the DescribeVpcAttributeRequest method.
  13561. // req, resp := client.DescribeVpcAttributeRequest(params)
  13562. //
  13563. // err := req.Send()
  13564. // if err == nil { // resp is now filled
  13565. // fmt.Println(resp)
  13566. // }
  13567. //
  13568. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
  13569. func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
  13570. op := &request.Operation{
  13571. Name: opDescribeVpcAttribute,
  13572. HTTPMethod: "POST",
  13573. HTTPPath: "/",
  13574. }
  13575. if input == nil {
  13576. input = &DescribeVpcAttributeInput{}
  13577. }
  13578. output = &DescribeVpcAttributeOutput{}
  13579. req = c.newRequest(op, input, output)
  13580. return
  13581. }
  13582. // DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
  13583. //
  13584. // Describes the specified attribute of the specified VPC. You can specify only
  13585. // one attribute at a time.
  13586. //
  13587. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13588. // with awserr.Error's Code and Message methods to get detailed information about
  13589. // the error.
  13590. //
  13591. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13592. // API operation DescribeVpcAttribute for usage and error information.
  13593. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
  13594. func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
  13595. req, out := c.DescribeVpcAttributeRequest(input)
  13596. return out, req.Send()
  13597. }
  13598. // DescribeVpcAttributeWithContext is the same as DescribeVpcAttribute with the addition of
  13599. // the ability to pass a context and additional request options.
  13600. //
  13601. // See DescribeVpcAttribute for details on how to use this API operation.
  13602. //
  13603. // The context must be non-nil and will be used for request cancellation. If
  13604. // the context is nil a panic will occur. In the future the SDK may create
  13605. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13606. // for more information on using Contexts.
  13607. func (c *EC2) DescribeVpcAttributeWithContext(ctx aws.Context, input *DescribeVpcAttributeInput, opts ...request.Option) (*DescribeVpcAttributeOutput, error) {
  13608. req, out := c.DescribeVpcAttributeRequest(input)
  13609. req.SetContext(ctx)
  13610. req.ApplyOptions(opts...)
  13611. return out, req.Send()
  13612. }
  13613. const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
  13614. // DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
  13615. // client's request for the DescribeVpcClassicLink operation. The "output" return
  13616. // value will be populated with the request's response once the request completes
  13617. // successfuly.
  13618. //
  13619. // Use "Send" method on the returned Request to send the API call to the service.
  13620. // the "output" return value is not valid until after Send returns without error.
  13621. //
  13622. // See DescribeVpcClassicLink for more information on using the DescribeVpcClassicLink
  13623. // API call, and error handling.
  13624. //
  13625. // This method is useful when you want to inject custom logic or configuration
  13626. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13627. //
  13628. //
  13629. // // Example sending a request using the DescribeVpcClassicLinkRequest method.
  13630. // req, resp := client.DescribeVpcClassicLinkRequest(params)
  13631. //
  13632. // err := req.Send()
  13633. // if err == nil { // resp is now filled
  13634. // fmt.Println(resp)
  13635. // }
  13636. //
  13637. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
  13638. func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
  13639. op := &request.Operation{
  13640. Name: opDescribeVpcClassicLink,
  13641. HTTPMethod: "POST",
  13642. HTTPPath: "/",
  13643. }
  13644. if input == nil {
  13645. input = &DescribeVpcClassicLinkInput{}
  13646. }
  13647. output = &DescribeVpcClassicLinkOutput{}
  13648. req = c.newRequest(op, input, output)
  13649. return
  13650. }
  13651. // DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  13652. //
  13653. // Describes the ClassicLink status of one or more VPCs.
  13654. //
  13655. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13656. // with awserr.Error's Code and Message methods to get detailed information about
  13657. // the error.
  13658. //
  13659. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13660. // API operation DescribeVpcClassicLink for usage and error information.
  13661. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
  13662. func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
  13663. req, out := c.DescribeVpcClassicLinkRequest(input)
  13664. return out, req.Send()
  13665. }
  13666. // DescribeVpcClassicLinkWithContext is the same as DescribeVpcClassicLink with the addition of
  13667. // the ability to pass a context and additional request options.
  13668. //
  13669. // See DescribeVpcClassicLink for details on how to use this API operation.
  13670. //
  13671. // The context must be non-nil and will be used for request cancellation. If
  13672. // the context is nil a panic will occur. In the future the SDK may create
  13673. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13674. // for more information on using Contexts.
  13675. func (c *EC2) DescribeVpcClassicLinkWithContext(ctx aws.Context, input *DescribeVpcClassicLinkInput, opts ...request.Option) (*DescribeVpcClassicLinkOutput, error) {
  13676. req, out := c.DescribeVpcClassicLinkRequest(input)
  13677. req.SetContext(ctx)
  13678. req.ApplyOptions(opts...)
  13679. return out, req.Send()
  13680. }
  13681. const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
  13682. // DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  13683. // client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
  13684. // value will be populated with the request's response once the request completes
  13685. // successfuly.
  13686. //
  13687. // Use "Send" method on the returned Request to send the API call to the service.
  13688. // the "output" return value is not valid until after Send returns without error.
  13689. //
  13690. // See DescribeVpcClassicLinkDnsSupport for more information on using the DescribeVpcClassicLinkDnsSupport
  13691. // API call, and error handling.
  13692. //
  13693. // This method is useful when you want to inject custom logic or configuration
  13694. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13695. //
  13696. //
  13697. // // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
  13698. // req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
  13699. //
  13700. // err := req.Send()
  13701. // if err == nil { // resp is now filled
  13702. // fmt.Println(resp)
  13703. // }
  13704. //
  13705. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
  13706. func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
  13707. op := &request.Operation{
  13708. Name: opDescribeVpcClassicLinkDnsSupport,
  13709. HTTPMethod: "POST",
  13710. HTTPPath: "/",
  13711. }
  13712. if input == nil {
  13713. input = &DescribeVpcClassicLinkDnsSupportInput{}
  13714. }
  13715. output = &DescribeVpcClassicLinkDnsSupportOutput{}
  13716. req = c.newRequest(op, input, output)
  13717. return
  13718. }
  13719. // DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  13720. //
  13721. // Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
  13722. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  13723. // IP address when addressed from an instance in the VPC to which it's linked.
  13724. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  13725. // IP address when addressed from a linked EC2-Classic instance. For more information,
  13726. // see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  13727. // in the Amazon Elastic Compute Cloud User Guide.
  13728. //
  13729. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13730. // with awserr.Error's Code and Message methods to get detailed information about
  13731. // the error.
  13732. //
  13733. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13734. // API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
  13735. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
  13736. func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  13737. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  13738. return out, req.Send()
  13739. }
  13740. // DescribeVpcClassicLinkDnsSupportWithContext is the same as DescribeVpcClassicLinkDnsSupport with the addition of
  13741. // the ability to pass a context and additional request options.
  13742. //
  13743. // See DescribeVpcClassicLinkDnsSupport for details on how to use this API operation.
  13744. //
  13745. // The context must be non-nil and will be used for request cancellation. If
  13746. // the context is nil a panic will occur. In the future the SDK may create
  13747. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13748. // for more information on using Contexts.
  13749. func (c *EC2) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  13750. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  13751. req.SetContext(ctx)
  13752. req.ApplyOptions(opts...)
  13753. return out, req.Send()
  13754. }
  13755. const opDescribeVpcEndpointConnectionNotifications = "DescribeVpcEndpointConnectionNotifications"
  13756. // DescribeVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
  13757. // client's request for the DescribeVpcEndpointConnectionNotifications operation. The "output" return
  13758. // value will be populated with the request's response once the request completes
  13759. // successfuly.
  13760. //
  13761. // Use "Send" method on the returned Request to send the API call to the service.
  13762. // the "output" return value is not valid until after Send returns without error.
  13763. //
  13764. // See DescribeVpcEndpointConnectionNotifications for more information on using the DescribeVpcEndpointConnectionNotifications
  13765. // API call, and error handling.
  13766. //
  13767. // This method is useful when you want to inject custom logic or configuration
  13768. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13769. //
  13770. //
  13771. // // Example sending a request using the DescribeVpcEndpointConnectionNotificationsRequest method.
  13772. // req, resp := client.DescribeVpcEndpointConnectionNotificationsRequest(params)
  13773. //
  13774. // err := req.Send()
  13775. // if err == nil { // resp is now filled
  13776. // fmt.Println(resp)
  13777. // }
  13778. //
  13779. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
  13780. func (c *EC2) DescribeVpcEndpointConnectionNotificationsRequest(input *DescribeVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DescribeVpcEndpointConnectionNotificationsOutput) {
  13781. op := &request.Operation{
  13782. Name: opDescribeVpcEndpointConnectionNotifications,
  13783. HTTPMethod: "POST",
  13784. HTTPPath: "/",
  13785. }
  13786. if input == nil {
  13787. input = &DescribeVpcEndpointConnectionNotificationsInput{}
  13788. }
  13789. output = &DescribeVpcEndpointConnectionNotificationsOutput{}
  13790. req = c.newRequest(op, input, output)
  13791. return
  13792. }
  13793. // DescribeVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
  13794. //
  13795. // Describes the connection notifications for VPC endpoints and VPC endpoint
  13796. // services.
  13797. //
  13798. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13799. // with awserr.Error's Code and Message methods to get detailed information about
  13800. // the error.
  13801. //
  13802. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13803. // API operation DescribeVpcEndpointConnectionNotifications for usage and error information.
  13804. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
  13805. func (c *EC2) DescribeVpcEndpointConnectionNotifications(input *DescribeVpcEndpointConnectionNotificationsInput) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
  13806. req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
  13807. return out, req.Send()
  13808. }
  13809. // DescribeVpcEndpointConnectionNotificationsWithContext is the same as DescribeVpcEndpointConnectionNotifications with the addition of
  13810. // the ability to pass a context and additional request options.
  13811. //
  13812. // See DescribeVpcEndpointConnectionNotifications for details on how to use this API operation.
  13813. //
  13814. // The context must be non-nil and will be used for request cancellation. If
  13815. // the context is nil a panic will occur. In the future the SDK may create
  13816. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13817. // for more information on using Contexts.
  13818. func (c *EC2) DescribeVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
  13819. req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
  13820. req.SetContext(ctx)
  13821. req.ApplyOptions(opts...)
  13822. return out, req.Send()
  13823. }
  13824. const opDescribeVpcEndpointConnections = "DescribeVpcEndpointConnections"
  13825. // DescribeVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
  13826. // client's request for the DescribeVpcEndpointConnections operation. The "output" return
  13827. // value will be populated with the request's response once the request completes
  13828. // successfuly.
  13829. //
  13830. // Use "Send" method on the returned Request to send the API call to the service.
  13831. // the "output" return value is not valid until after Send returns without error.
  13832. //
  13833. // See DescribeVpcEndpointConnections for more information on using the DescribeVpcEndpointConnections
  13834. // API call, and error handling.
  13835. //
  13836. // This method is useful when you want to inject custom logic or configuration
  13837. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13838. //
  13839. //
  13840. // // Example sending a request using the DescribeVpcEndpointConnectionsRequest method.
  13841. // req, resp := client.DescribeVpcEndpointConnectionsRequest(params)
  13842. //
  13843. // err := req.Send()
  13844. // if err == nil { // resp is now filled
  13845. // fmt.Println(resp)
  13846. // }
  13847. //
  13848. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
  13849. func (c *EC2) DescribeVpcEndpointConnectionsRequest(input *DescribeVpcEndpointConnectionsInput) (req *request.Request, output *DescribeVpcEndpointConnectionsOutput) {
  13850. op := &request.Operation{
  13851. Name: opDescribeVpcEndpointConnections,
  13852. HTTPMethod: "POST",
  13853. HTTPPath: "/",
  13854. }
  13855. if input == nil {
  13856. input = &DescribeVpcEndpointConnectionsInput{}
  13857. }
  13858. output = &DescribeVpcEndpointConnectionsOutput{}
  13859. req = c.newRequest(op, input, output)
  13860. return
  13861. }
  13862. // DescribeVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
  13863. //
  13864. // Describes the VPC endpoint connections to your VPC endpoint services, including
  13865. // any endpoints that are pending your acceptance.
  13866. //
  13867. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13868. // with awserr.Error's Code and Message methods to get detailed information about
  13869. // the error.
  13870. //
  13871. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13872. // API operation DescribeVpcEndpointConnections for usage and error information.
  13873. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
  13874. func (c *EC2) DescribeVpcEndpointConnections(input *DescribeVpcEndpointConnectionsInput) (*DescribeVpcEndpointConnectionsOutput, error) {
  13875. req, out := c.DescribeVpcEndpointConnectionsRequest(input)
  13876. return out, req.Send()
  13877. }
  13878. // DescribeVpcEndpointConnectionsWithContext is the same as DescribeVpcEndpointConnections with the addition of
  13879. // the ability to pass a context and additional request options.
  13880. //
  13881. // See DescribeVpcEndpointConnections for details on how to use this API operation.
  13882. //
  13883. // The context must be non-nil and will be used for request cancellation. If
  13884. // the context is nil a panic will occur. In the future the SDK may create
  13885. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13886. // for more information on using Contexts.
  13887. func (c *EC2) DescribeVpcEndpointConnectionsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionsOutput, error) {
  13888. req, out := c.DescribeVpcEndpointConnectionsRequest(input)
  13889. req.SetContext(ctx)
  13890. req.ApplyOptions(opts...)
  13891. return out, req.Send()
  13892. }
  13893. const opDescribeVpcEndpointServiceConfigurations = "DescribeVpcEndpointServiceConfigurations"
  13894. // DescribeVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
  13895. // client's request for the DescribeVpcEndpointServiceConfigurations operation. The "output" return
  13896. // value will be populated with the request's response once the request completes
  13897. // successfuly.
  13898. //
  13899. // Use "Send" method on the returned Request to send the API call to the service.
  13900. // the "output" return value is not valid until after Send returns without error.
  13901. //
  13902. // See DescribeVpcEndpointServiceConfigurations for more information on using the DescribeVpcEndpointServiceConfigurations
  13903. // API call, and error handling.
  13904. //
  13905. // This method is useful when you want to inject custom logic or configuration
  13906. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13907. //
  13908. //
  13909. // // Example sending a request using the DescribeVpcEndpointServiceConfigurationsRequest method.
  13910. // req, resp := client.DescribeVpcEndpointServiceConfigurationsRequest(params)
  13911. //
  13912. // err := req.Send()
  13913. // if err == nil { // resp is now filled
  13914. // fmt.Println(resp)
  13915. // }
  13916. //
  13917. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
  13918. func (c *EC2) DescribeVpcEndpointServiceConfigurationsRequest(input *DescribeVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DescribeVpcEndpointServiceConfigurationsOutput) {
  13919. op := &request.Operation{
  13920. Name: opDescribeVpcEndpointServiceConfigurations,
  13921. HTTPMethod: "POST",
  13922. HTTPPath: "/",
  13923. }
  13924. if input == nil {
  13925. input = &DescribeVpcEndpointServiceConfigurationsInput{}
  13926. }
  13927. output = &DescribeVpcEndpointServiceConfigurationsOutput{}
  13928. req = c.newRequest(op, input, output)
  13929. return
  13930. }
  13931. // DescribeVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
  13932. //
  13933. // Describes the VPC endpoint service configurations in your account (your services).
  13934. //
  13935. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13936. // with awserr.Error's Code and Message methods to get detailed information about
  13937. // the error.
  13938. //
  13939. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13940. // API operation DescribeVpcEndpointServiceConfigurations for usage and error information.
  13941. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
  13942. func (c *EC2) DescribeVpcEndpointServiceConfigurations(input *DescribeVpcEndpointServiceConfigurationsInput) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
  13943. req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
  13944. return out, req.Send()
  13945. }
  13946. // DescribeVpcEndpointServiceConfigurationsWithContext is the same as DescribeVpcEndpointServiceConfigurations with the addition of
  13947. // the ability to pass a context and additional request options.
  13948. //
  13949. // See DescribeVpcEndpointServiceConfigurations for details on how to use this API operation.
  13950. //
  13951. // The context must be non-nil and will be used for request cancellation. If
  13952. // the context is nil a panic will occur. In the future the SDK may create
  13953. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13954. // for more information on using Contexts.
  13955. func (c *EC2) DescribeVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
  13956. req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
  13957. req.SetContext(ctx)
  13958. req.ApplyOptions(opts...)
  13959. return out, req.Send()
  13960. }
  13961. const opDescribeVpcEndpointServicePermissions = "DescribeVpcEndpointServicePermissions"
  13962. // DescribeVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
  13963. // client's request for the DescribeVpcEndpointServicePermissions operation. The "output" return
  13964. // value will be populated with the request's response once the request completes
  13965. // successfuly.
  13966. //
  13967. // Use "Send" method on the returned Request to send the API call to the service.
  13968. // the "output" return value is not valid until after Send returns without error.
  13969. //
  13970. // See DescribeVpcEndpointServicePermissions for more information on using the DescribeVpcEndpointServicePermissions
  13971. // API call, and error handling.
  13972. //
  13973. // This method is useful when you want to inject custom logic or configuration
  13974. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13975. //
  13976. //
  13977. // // Example sending a request using the DescribeVpcEndpointServicePermissionsRequest method.
  13978. // req, resp := client.DescribeVpcEndpointServicePermissionsRequest(params)
  13979. //
  13980. // err := req.Send()
  13981. // if err == nil { // resp is now filled
  13982. // fmt.Println(resp)
  13983. // }
  13984. //
  13985. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
  13986. func (c *EC2) DescribeVpcEndpointServicePermissionsRequest(input *DescribeVpcEndpointServicePermissionsInput) (req *request.Request, output *DescribeVpcEndpointServicePermissionsOutput) {
  13987. op := &request.Operation{
  13988. Name: opDescribeVpcEndpointServicePermissions,
  13989. HTTPMethod: "POST",
  13990. HTTPPath: "/",
  13991. }
  13992. if input == nil {
  13993. input = &DescribeVpcEndpointServicePermissionsInput{}
  13994. }
  13995. output = &DescribeVpcEndpointServicePermissionsOutput{}
  13996. req = c.newRequest(op, input, output)
  13997. return
  13998. }
  13999. // DescribeVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
  14000. //
  14001. // Describes the principals (service consumers) that are permitted to discover
  14002. // your VPC endpoint service.
  14003. //
  14004. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14005. // with awserr.Error's Code and Message methods to get detailed information about
  14006. // the error.
  14007. //
  14008. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14009. // API operation DescribeVpcEndpointServicePermissions for usage and error information.
  14010. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
  14011. func (c *EC2) DescribeVpcEndpointServicePermissions(input *DescribeVpcEndpointServicePermissionsInput) (*DescribeVpcEndpointServicePermissionsOutput, error) {
  14012. req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
  14013. return out, req.Send()
  14014. }
  14015. // DescribeVpcEndpointServicePermissionsWithContext is the same as DescribeVpcEndpointServicePermissions with the addition of
  14016. // the ability to pass a context and additional request options.
  14017. //
  14018. // See DescribeVpcEndpointServicePermissions for details on how to use this API operation.
  14019. //
  14020. // The context must be non-nil and will be used for request cancellation. If
  14021. // the context is nil a panic will occur. In the future the SDK may create
  14022. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14023. // for more information on using Contexts.
  14024. func (c *EC2) DescribeVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, opts ...request.Option) (*DescribeVpcEndpointServicePermissionsOutput, error) {
  14025. req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
  14026. req.SetContext(ctx)
  14027. req.ApplyOptions(opts...)
  14028. return out, req.Send()
  14029. }
  14030. const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
  14031. // DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
  14032. // client's request for the DescribeVpcEndpointServices operation. The "output" return
  14033. // value will be populated with the request's response once the request completes
  14034. // successfuly.
  14035. //
  14036. // Use "Send" method on the returned Request to send the API call to the service.
  14037. // the "output" return value is not valid until after Send returns without error.
  14038. //
  14039. // See DescribeVpcEndpointServices for more information on using the DescribeVpcEndpointServices
  14040. // API call, and error handling.
  14041. //
  14042. // This method is useful when you want to inject custom logic or configuration
  14043. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14044. //
  14045. //
  14046. // // Example sending a request using the DescribeVpcEndpointServicesRequest method.
  14047. // req, resp := client.DescribeVpcEndpointServicesRequest(params)
  14048. //
  14049. // err := req.Send()
  14050. // if err == nil { // resp is now filled
  14051. // fmt.Println(resp)
  14052. // }
  14053. //
  14054. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
  14055. func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
  14056. op := &request.Operation{
  14057. Name: opDescribeVpcEndpointServices,
  14058. HTTPMethod: "POST",
  14059. HTTPPath: "/",
  14060. }
  14061. if input == nil {
  14062. input = &DescribeVpcEndpointServicesInput{}
  14063. }
  14064. output = &DescribeVpcEndpointServicesOutput{}
  14065. req = c.newRequest(op, input, output)
  14066. return
  14067. }
  14068. // DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
  14069. //
  14070. // Describes available services to which you can create a VPC endpoint.
  14071. //
  14072. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14073. // with awserr.Error's Code and Message methods to get detailed information about
  14074. // the error.
  14075. //
  14076. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14077. // API operation DescribeVpcEndpointServices for usage and error information.
  14078. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
  14079. func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
  14080. req, out := c.DescribeVpcEndpointServicesRequest(input)
  14081. return out, req.Send()
  14082. }
  14083. // DescribeVpcEndpointServicesWithContext is the same as DescribeVpcEndpointServices with the addition of
  14084. // the ability to pass a context and additional request options.
  14085. //
  14086. // See DescribeVpcEndpointServices for details on how to use this API operation.
  14087. //
  14088. // The context must be non-nil and will be used for request cancellation. If
  14089. // the context is nil a panic will occur. In the future the SDK may create
  14090. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14091. // for more information on using Contexts.
  14092. func (c *EC2) DescribeVpcEndpointServicesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicesInput, opts ...request.Option) (*DescribeVpcEndpointServicesOutput, error) {
  14093. req, out := c.DescribeVpcEndpointServicesRequest(input)
  14094. req.SetContext(ctx)
  14095. req.ApplyOptions(opts...)
  14096. return out, req.Send()
  14097. }
  14098. const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
  14099. // DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
  14100. // client's request for the DescribeVpcEndpoints operation. The "output" return
  14101. // value will be populated with the request's response once the request completes
  14102. // successfuly.
  14103. //
  14104. // Use "Send" method on the returned Request to send the API call to the service.
  14105. // the "output" return value is not valid until after Send returns without error.
  14106. //
  14107. // See DescribeVpcEndpoints for more information on using the DescribeVpcEndpoints
  14108. // API call, and error handling.
  14109. //
  14110. // This method is useful when you want to inject custom logic or configuration
  14111. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14112. //
  14113. //
  14114. // // Example sending a request using the DescribeVpcEndpointsRequest method.
  14115. // req, resp := client.DescribeVpcEndpointsRequest(params)
  14116. //
  14117. // err := req.Send()
  14118. // if err == nil { // resp is now filled
  14119. // fmt.Println(resp)
  14120. // }
  14121. //
  14122. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
  14123. func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
  14124. op := &request.Operation{
  14125. Name: opDescribeVpcEndpoints,
  14126. HTTPMethod: "POST",
  14127. HTTPPath: "/",
  14128. }
  14129. if input == nil {
  14130. input = &DescribeVpcEndpointsInput{}
  14131. }
  14132. output = &DescribeVpcEndpointsOutput{}
  14133. req = c.newRequest(op, input, output)
  14134. return
  14135. }
  14136. // DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  14137. //
  14138. // Describes one or more of your VPC endpoints.
  14139. //
  14140. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14141. // with awserr.Error's Code and Message methods to get detailed information about
  14142. // the error.
  14143. //
  14144. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14145. // API operation DescribeVpcEndpoints for usage and error information.
  14146. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
  14147. func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
  14148. req, out := c.DescribeVpcEndpointsRequest(input)
  14149. return out, req.Send()
  14150. }
  14151. // DescribeVpcEndpointsWithContext is the same as DescribeVpcEndpoints with the addition of
  14152. // the ability to pass a context and additional request options.
  14153. //
  14154. // See DescribeVpcEndpoints for details on how to use this API operation.
  14155. //
  14156. // The context must be non-nil and will be used for request cancellation. If
  14157. // the context is nil a panic will occur. In the future the SDK may create
  14158. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14159. // for more information on using Contexts.
  14160. func (c *EC2) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, opts ...request.Option) (*DescribeVpcEndpointsOutput, error) {
  14161. req, out := c.DescribeVpcEndpointsRequest(input)
  14162. req.SetContext(ctx)
  14163. req.ApplyOptions(opts...)
  14164. return out, req.Send()
  14165. }
  14166. const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
  14167. // DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
  14168. // client's request for the DescribeVpcPeeringConnections operation. The "output" return
  14169. // value will be populated with the request's response once the request completes
  14170. // successfuly.
  14171. //
  14172. // Use "Send" method on the returned Request to send the API call to the service.
  14173. // the "output" return value is not valid until after Send returns without error.
  14174. //
  14175. // See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
  14176. // API call, and error handling.
  14177. //
  14178. // This method is useful when you want to inject custom logic or configuration
  14179. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14180. //
  14181. //
  14182. // // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
  14183. // req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
  14184. //
  14185. // err := req.Send()
  14186. // if err == nil { // resp is now filled
  14187. // fmt.Println(resp)
  14188. // }
  14189. //
  14190. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
  14191. func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
  14192. op := &request.Operation{
  14193. Name: opDescribeVpcPeeringConnections,
  14194. HTTPMethod: "POST",
  14195. HTTPPath: "/",
  14196. }
  14197. if input == nil {
  14198. input = &DescribeVpcPeeringConnectionsInput{}
  14199. }
  14200. output = &DescribeVpcPeeringConnectionsOutput{}
  14201. req = c.newRequest(op, input, output)
  14202. return
  14203. }
  14204. // DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
  14205. //
  14206. // Describes one or more of your VPC peering connections.
  14207. //
  14208. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14209. // with awserr.Error's Code and Message methods to get detailed information about
  14210. // the error.
  14211. //
  14212. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14213. // API operation DescribeVpcPeeringConnections for usage and error information.
  14214. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
  14215. func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
  14216. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  14217. return out, req.Send()
  14218. }
  14219. // DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
  14220. // the ability to pass a context and additional request options.
  14221. //
  14222. // See DescribeVpcPeeringConnections for details on how to use this API operation.
  14223. //
  14224. // The context must be non-nil and will be used for request cancellation. If
  14225. // the context is nil a panic will occur. In the future the SDK may create
  14226. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14227. // for more information on using Contexts.
  14228. func (c *EC2) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
  14229. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  14230. req.SetContext(ctx)
  14231. req.ApplyOptions(opts...)
  14232. return out, req.Send()
  14233. }
  14234. const opDescribeVpcs = "DescribeVpcs"
  14235. // DescribeVpcsRequest generates a "aws/request.Request" representing the
  14236. // client's request for the DescribeVpcs operation. The "output" return
  14237. // value will be populated with the request's response once the request completes
  14238. // successfuly.
  14239. //
  14240. // Use "Send" method on the returned Request to send the API call to the service.
  14241. // the "output" return value is not valid until after Send returns without error.
  14242. //
  14243. // See DescribeVpcs for more information on using the DescribeVpcs
  14244. // API call, and error handling.
  14245. //
  14246. // This method is useful when you want to inject custom logic or configuration
  14247. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14248. //
  14249. //
  14250. // // Example sending a request using the DescribeVpcsRequest method.
  14251. // req, resp := client.DescribeVpcsRequest(params)
  14252. //
  14253. // err := req.Send()
  14254. // if err == nil { // resp is now filled
  14255. // fmt.Println(resp)
  14256. // }
  14257. //
  14258. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
  14259. func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
  14260. op := &request.Operation{
  14261. Name: opDescribeVpcs,
  14262. HTTPMethod: "POST",
  14263. HTTPPath: "/",
  14264. }
  14265. if input == nil {
  14266. input = &DescribeVpcsInput{}
  14267. }
  14268. output = &DescribeVpcsOutput{}
  14269. req = c.newRequest(op, input, output)
  14270. return
  14271. }
  14272. // DescribeVpcs API operation for Amazon Elastic Compute Cloud.
  14273. //
  14274. // Describes one or more of your VPCs.
  14275. //
  14276. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14277. // with awserr.Error's Code and Message methods to get detailed information about
  14278. // the error.
  14279. //
  14280. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14281. // API operation DescribeVpcs for usage and error information.
  14282. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
  14283. func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
  14284. req, out := c.DescribeVpcsRequest(input)
  14285. return out, req.Send()
  14286. }
  14287. // DescribeVpcsWithContext is the same as DescribeVpcs with the addition of
  14288. // the ability to pass a context and additional request options.
  14289. //
  14290. // See DescribeVpcs for details on how to use this API operation.
  14291. //
  14292. // The context must be non-nil and will be used for request cancellation. If
  14293. // the context is nil a panic will occur. In the future the SDK may create
  14294. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14295. // for more information on using Contexts.
  14296. func (c *EC2) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.Option) (*DescribeVpcsOutput, error) {
  14297. req, out := c.DescribeVpcsRequest(input)
  14298. req.SetContext(ctx)
  14299. req.ApplyOptions(opts...)
  14300. return out, req.Send()
  14301. }
  14302. const opDescribeVpnConnections = "DescribeVpnConnections"
  14303. // DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
  14304. // client's request for the DescribeVpnConnections operation. The "output" return
  14305. // value will be populated with the request's response once the request completes
  14306. // successfuly.
  14307. //
  14308. // Use "Send" method on the returned Request to send the API call to the service.
  14309. // the "output" return value is not valid until after Send returns without error.
  14310. //
  14311. // See DescribeVpnConnections for more information on using the DescribeVpnConnections
  14312. // API call, and error handling.
  14313. //
  14314. // This method is useful when you want to inject custom logic or configuration
  14315. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14316. //
  14317. //
  14318. // // Example sending a request using the DescribeVpnConnectionsRequest method.
  14319. // req, resp := client.DescribeVpnConnectionsRequest(params)
  14320. //
  14321. // err := req.Send()
  14322. // if err == nil { // resp is now filled
  14323. // fmt.Println(resp)
  14324. // }
  14325. //
  14326. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
  14327. func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
  14328. op := &request.Operation{
  14329. Name: opDescribeVpnConnections,
  14330. HTTPMethod: "POST",
  14331. HTTPPath: "/",
  14332. }
  14333. if input == nil {
  14334. input = &DescribeVpnConnectionsInput{}
  14335. }
  14336. output = &DescribeVpnConnectionsOutput{}
  14337. req = c.newRequest(op, input, output)
  14338. return
  14339. }
  14340. // DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
  14341. //
  14342. // Describes one or more of your VPN connections.
  14343. //
  14344. // For more information about VPN connections, see AWS Managed VPN Connections
  14345. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the
  14346. // Amazon Virtual Private Cloud User Guide.
  14347. //
  14348. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14349. // with awserr.Error's Code and Message methods to get detailed information about
  14350. // the error.
  14351. //
  14352. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14353. // API operation DescribeVpnConnections for usage and error information.
  14354. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
  14355. func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
  14356. req, out := c.DescribeVpnConnectionsRequest(input)
  14357. return out, req.Send()
  14358. }
  14359. // DescribeVpnConnectionsWithContext is the same as DescribeVpnConnections with the addition of
  14360. // the ability to pass a context and additional request options.
  14361. //
  14362. // See DescribeVpnConnections for details on how to use this API operation.
  14363. //
  14364. // The context must be non-nil and will be used for request cancellation. If
  14365. // the context is nil a panic will occur. In the future the SDK may create
  14366. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14367. // for more information on using Contexts.
  14368. func (c *EC2) DescribeVpnConnectionsWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.Option) (*DescribeVpnConnectionsOutput, error) {
  14369. req, out := c.DescribeVpnConnectionsRequest(input)
  14370. req.SetContext(ctx)
  14371. req.ApplyOptions(opts...)
  14372. return out, req.Send()
  14373. }
  14374. const opDescribeVpnGateways = "DescribeVpnGateways"
  14375. // DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
  14376. // client's request for the DescribeVpnGateways operation. The "output" return
  14377. // value will be populated with the request's response once the request completes
  14378. // successfuly.
  14379. //
  14380. // Use "Send" method on the returned Request to send the API call to the service.
  14381. // the "output" return value is not valid until after Send returns without error.
  14382. //
  14383. // See DescribeVpnGateways for more information on using the DescribeVpnGateways
  14384. // API call, and error handling.
  14385. //
  14386. // This method is useful when you want to inject custom logic or configuration
  14387. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14388. //
  14389. //
  14390. // // Example sending a request using the DescribeVpnGatewaysRequest method.
  14391. // req, resp := client.DescribeVpnGatewaysRequest(params)
  14392. //
  14393. // err := req.Send()
  14394. // if err == nil { // resp is now filled
  14395. // fmt.Println(resp)
  14396. // }
  14397. //
  14398. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
  14399. func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
  14400. op := &request.Operation{
  14401. Name: opDescribeVpnGateways,
  14402. HTTPMethod: "POST",
  14403. HTTPPath: "/",
  14404. }
  14405. if input == nil {
  14406. input = &DescribeVpnGatewaysInput{}
  14407. }
  14408. output = &DescribeVpnGatewaysOutput{}
  14409. req = c.newRequest(op, input, output)
  14410. return
  14411. }
  14412. // DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
  14413. //
  14414. // Describes one or more of your virtual private gateways.
  14415. //
  14416. // For more information about virtual private gateways, see AWS Managed VPN
  14417. // Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  14418. // in the Amazon Virtual Private Cloud User Guide.
  14419. //
  14420. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14421. // with awserr.Error's Code and Message methods to get detailed information about
  14422. // the error.
  14423. //
  14424. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14425. // API operation DescribeVpnGateways for usage and error information.
  14426. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
  14427. func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
  14428. req, out := c.DescribeVpnGatewaysRequest(input)
  14429. return out, req.Send()
  14430. }
  14431. // DescribeVpnGatewaysWithContext is the same as DescribeVpnGateways with the addition of
  14432. // the ability to pass a context and additional request options.
  14433. //
  14434. // See DescribeVpnGateways for details on how to use this API operation.
  14435. //
  14436. // The context must be non-nil and will be used for request cancellation. If
  14437. // the context is nil a panic will occur. In the future the SDK may create
  14438. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14439. // for more information on using Contexts.
  14440. func (c *EC2) DescribeVpnGatewaysWithContext(ctx aws.Context, input *DescribeVpnGatewaysInput, opts ...request.Option) (*DescribeVpnGatewaysOutput, error) {
  14441. req, out := c.DescribeVpnGatewaysRequest(input)
  14442. req.SetContext(ctx)
  14443. req.ApplyOptions(opts...)
  14444. return out, req.Send()
  14445. }
  14446. const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
  14447. // DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  14448. // client's request for the DetachClassicLinkVpc operation. The "output" return
  14449. // value will be populated with the request's response once the request completes
  14450. // successfuly.
  14451. //
  14452. // Use "Send" method on the returned Request to send the API call to the service.
  14453. // the "output" return value is not valid until after Send returns without error.
  14454. //
  14455. // See DetachClassicLinkVpc for more information on using the DetachClassicLinkVpc
  14456. // API call, and error handling.
  14457. //
  14458. // This method is useful when you want to inject custom logic or configuration
  14459. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14460. //
  14461. //
  14462. // // Example sending a request using the DetachClassicLinkVpcRequest method.
  14463. // req, resp := client.DetachClassicLinkVpcRequest(params)
  14464. //
  14465. // err := req.Send()
  14466. // if err == nil { // resp is now filled
  14467. // fmt.Println(resp)
  14468. // }
  14469. //
  14470. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
  14471. func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
  14472. op := &request.Operation{
  14473. Name: opDetachClassicLinkVpc,
  14474. HTTPMethod: "POST",
  14475. HTTPPath: "/",
  14476. }
  14477. if input == nil {
  14478. input = &DetachClassicLinkVpcInput{}
  14479. }
  14480. output = &DetachClassicLinkVpcOutput{}
  14481. req = c.newRequest(op, input, output)
  14482. return
  14483. }
  14484. // DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  14485. //
  14486. // Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
  14487. // has been unlinked, the VPC security groups are no longer associated with
  14488. // it. An instance is automatically unlinked from a VPC when it's stopped.
  14489. //
  14490. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14491. // with awserr.Error's Code and Message methods to get detailed information about
  14492. // the error.
  14493. //
  14494. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14495. // API operation DetachClassicLinkVpc for usage and error information.
  14496. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
  14497. func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
  14498. req, out := c.DetachClassicLinkVpcRequest(input)
  14499. return out, req.Send()
  14500. }
  14501. // DetachClassicLinkVpcWithContext is the same as DetachClassicLinkVpc with the addition of
  14502. // the ability to pass a context and additional request options.
  14503. //
  14504. // See DetachClassicLinkVpc for details on how to use this API operation.
  14505. //
  14506. // The context must be non-nil and will be used for request cancellation. If
  14507. // the context is nil a panic will occur. In the future the SDK may create
  14508. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14509. // for more information on using Contexts.
  14510. func (c *EC2) DetachClassicLinkVpcWithContext(ctx aws.Context, input *DetachClassicLinkVpcInput, opts ...request.Option) (*DetachClassicLinkVpcOutput, error) {
  14511. req, out := c.DetachClassicLinkVpcRequest(input)
  14512. req.SetContext(ctx)
  14513. req.ApplyOptions(opts...)
  14514. return out, req.Send()
  14515. }
  14516. const opDetachInternetGateway = "DetachInternetGateway"
  14517. // DetachInternetGatewayRequest generates a "aws/request.Request" representing the
  14518. // client's request for the DetachInternetGateway operation. The "output" return
  14519. // value will be populated with the request's response once the request completes
  14520. // successfuly.
  14521. //
  14522. // Use "Send" method on the returned Request to send the API call to the service.
  14523. // the "output" return value is not valid until after Send returns without error.
  14524. //
  14525. // See DetachInternetGateway for more information on using the DetachInternetGateway
  14526. // API call, and error handling.
  14527. //
  14528. // This method is useful when you want to inject custom logic or configuration
  14529. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14530. //
  14531. //
  14532. // // Example sending a request using the DetachInternetGatewayRequest method.
  14533. // req, resp := client.DetachInternetGatewayRequest(params)
  14534. //
  14535. // err := req.Send()
  14536. // if err == nil { // resp is now filled
  14537. // fmt.Println(resp)
  14538. // }
  14539. //
  14540. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
  14541. func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
  14542. op := &request.Operation{
  14543. Name: opDetachInternetGateway,
  14544. HTTPMethod: "POST",
  14545. HTTPPath: "/",
  14546. }
  14547. if input == nil {
  14548. input = &DetachInternetGatewayInput{}
  14549. }
  14550. output = &DetachInternetGatewayOutput{}
  14551. req = c.newRequest(op, input, output)
  14552. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14553. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14554. return
  14555. }
  14556. // DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
  14557. //
  14558. // Detaches an Internet gateway from a VPC, disabling connectivity between the
  14559. // Internet and the VPC. The VPC must not contain any running instances with
  14560. // Elastic IP addresses or public IPv4 addresses.
  14561. //
  14562. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14563. // with awserr.Error's Code and Message methods to get detailed information about
  14564. // the error.
  14565. //
  14566. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14567. // API operation DetachInternetGateway for usage and error information.
  14568. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
  14569. func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
  14570. req, out := c.DetachInternetGatewayRequest(input)
  14571. return out, req.Send()
  14572. }
  14573. // DetachInternetGatewayWithContext is the same as DetachInternetGateway with the addition of
  14574. // the ability to pass a context and additional request options.
  14575. //
  14576. // See DetachInternetGateway for details on how to use this API operation.
  14577. //
  14578. // The context must be non-nil and will be used for request cancellation. If
  14579. // the context is nil a panic will occur. In the future the SDK may create
  14580. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14581. // for more information on using Contexts.
  14582. func (c *EC2) DetachInternetGatewayWithContext(ctx aws.Context, input *DetachInternetGatewayInput, opts ...request.Option) (*DetachInternetGatewayOutput, error) {
  14583. req, out := c.DetachInternetGatewayRequest(input)
  14584. req.SetContext(ctx)
  14585. req.ApplyOptions(opts...)
  14586. return out, req.Send()
  14587. }
  14588. const opDetachNetworkInterface = "DetachNetworkInterface"
  14589. // DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  14590. // client's request for the DetachNetworkInterface operation. The "output" return
  14591. // value will be populated with the request's response once the request completes
  14592. // successfuly.
  14593. //
  14594. // Use "Send" method on the returned Request to send the API call to the service.
  14595. // the "output" return value is not valid until after Send returns without error.
  14596. //
  14597. // See DetachNetworkInterface for more information on using the DetachNetworkInterface
  14598. // API call, and error handling.
  14599. //
  14600. // This method is useful when you want to inject custom logic or configuration
  14601. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14602. //
  14603. //
  14604. // // Example sending a request using the DetachNetworkInterfaceRequest method.
  14605. // req, resp := client.DetachNetworkInterfaceRequest(params)
  14606. //
  14607. // err := req.Send()
  14608. // if err == nil { // resp is now filled
  14609. // fmt.Println(resp)
  14610. // }
  14611. //
  14612. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
  14613. func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
  14614. op := &request.Operation{
  14615. Name: opDetachNetworkInterface,
  14616. HTTPMethod: "POST",
  14617. HTTPPath: "/",
  14618. }
  14619. if input == nil {
  14620. input = &DetachNetworkInterfaceInput{}
  14621. }
  14622. output = &DetachNetworkInterfaceOutput{}
  14623. req = c.newRequest(op, input, output)
  14624. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14625. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14626. return
  14627. }
  14628. // DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  14629. //
  14630. // Detaches a network interface from an instance.
  14631. //
  14632. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14633. // with awserr.Error's Code and Message methods to get detailed information about
  14634. // the error.
  14635. //
  14636. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14637. // API operation DetachNetworkInterface for usage and error information.
  14638. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
  14639. func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
  14640. req, out := c.DetachNetworkInterfaceRequest(input)
  14641. return out, req.Send()
  14642. }
  14643. // DetachNetworkInterfaceWithContext is the same as DetachNetworkInterface with the addition of
  14644. // the ability to pass a context and additional request options.
  14645. //
  14646. // See DetachNetworkInterface for details on how to use this API operation.
  14647. //
  14648. // The context must be non-nil and will be used for request cancellation. If
  14649. // the context is nil a panic will occur. In the future the SDK may create
  14650. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14651. // for more information on using Contexts.
  14652. func (c *EC2) DetachNetworkInterfaceWithContext(ctx aws.Context, input *DetachNetworkInterfaceInput, opts ...request.Option) (*DetachNetworkInterfaceOutput, error) {
  14653. req, out := c.DetachNetworkInterfaceRequest(input)
  14654. req.SetContext(ctx)
  14655. req.ApplyOptions(opts...)
  14656. return out, req.Send()
  14657. }
  14658. const opDetachVolume = "DetachVolume"
  14659. // DetachVolumeRequest generates a "aws/request.Request" representing the
  14660. // client's request for the DetachVolume operation. The "output" return
  14661. // value will be populated with the request's response once the request completes
  14662. // successfuly.
  14663. //
  14664. // Use "Send" method on the returned Request to send the API call to the service.
  14665. // the "output" return value is not valid until after Send returns without error.
  14666. //
  14667. // See DetachVolume for more information on using the DetachVolume
  14668. // API call, and error handling.
  14669. //
  14670. // This method is useful when you want to inject custom logic or configuration
  14671. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14672. //
  14673. //
  14674. // // Example sending a request using the DetachVolumeRequest method.
  14675. // req, resp := client.DetachVolumeRequest(params)
  14676. //
  14677. // err := req.Send()
  14678. // if err == nil { // resp is now filled
  14679. // fmt.Println(resp)
  14680. // }
  14681. //
  14682. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
  14683. func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  14684. op := &request.Operation{
  14685. Name: opDetachVolume,
  14686. HTTPMethod: "POST",
  14687. HTTPPath: "/",
  14688. }
  14689. if input == nil {
  14690. input = &DetachVolumeInput{}
  14691. }
  14692. output = &VolumeAttachment{}
  14693. req = c.newRequest(op, input, output)
  14694. return
  14695. }
  14696. // DetachVolume API operation for Amazon Elastic Compute Cloud.
  14697. //
  14698. // Detaches an EBS volume from an instance. Make sure to unmount any file systems
  14699. // on the device within your operating system before detaching the volume. Failure
  14700. // to do so can result in the volume becoming stuck in the busy state while
  14701. // detaching. If this happens, detachment can be delayed indefinitely until
  14702. // you unmount the volume, force detachment, reboot the instance, or all three.
  14703. // If an EBS volume is the root device of an instance, it can't be detached
  14704. // while the instance is running. To detach the root volume, stop the instance
  14705. // first.
  14706. //
  14707. // When a volume with an AWS Marketplace product code is detached from an instance,
  14708. // the product code is no longer associated with the instance.
  14709. //
  14710. // For more information, see Detaching an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
  14711. // in the Amazon Elastic Compute Cloud User Guide.
  14712. //
  14713. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14714. // with awserr.Error's Code and Message methods to get detailed information about
  14715. // the error.
  14716. //
  14717. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14718. // API operation DetachVolume for usage and error information.
  14719. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
  14720. func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
  14721. req, out := c.DetachVolumeRequest(input)
  14722. return out, req.Send()
  14723. }
  14724. // DetachVolumeWithContext is the same as DetachVolume with the addition of
  14725. // the ability to pass a context and additional request options.
  14726. //
  14727. // See DetachVolume for details on how to use this API operation.
  14728. //
  14729. // The context must be non-nil and will be used for request cancellation. If
  14730. // the context is nil a panic will occur. In the future the SDK may create
  14731. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14732. // for more information on using Contexts.
  14733. func (c *EC2) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
  14734. req, out := c.DetachVolumeRequest(input)
  14735. req.SetContext(ctx)
  14736. req.ApplyOptions(opts...)
  14737. return out, req.Send()
  14738. }
  14739. const opDetachVpnGateway = "DetachVpnGateway"
  14740. // DetachVpnGatewayRequest generates a "aws/request.Request" representing the
  14741. // client's request for the DetachVpnGateway operation. The "output" return
  14742. // value will be populated with the request's response once the request completes
  14743. // successfuly.
  14744. //
  14745. // Use "Send" method on the returned Request to send the API call to the service.
  14746. // the "output" return value is not valid until after Send returns without error.
  14747. //
  14748. // See DetachVpnGateway for more information on using the DetachVpnGateway
  14749. // API call, and error handling.
  14750. //
  14751. // This method is useful when you want to inject custom logic or configuration
  14752. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14753. //
  14754. //
  14755. // // Example sending a request using the DetachVpnGatewayRequest method.
  14756. // req, resp := client.DetachVpnGatewayRequest(params)
  14757. //
  14758. // err := req.Send()
  14759. // if err == nil { // resp is now filled
  14760. // fmt.Println(resp)
  14761. // }
  14762. //
  14763. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
  14764. func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
  14765. op := &request.Operation{
  14766. Name: opDetachVpnGateway,
  14767. HTTPMethod: "POST",
  14768. HTTPPath: "/",
  14769. }
  14770. if input == nil {
  14771. input = &DetachVpnGatewayInput{}
  14772. }
  14773. output = &DetachVpnGatewayOutput{}
  14774. req = c.newRequest(op, input, output)
  14775. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14776. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14777. return
  14778. }
  14779. // DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
  14780. //
  14781. // Detaches a virtual private gateway from a VPC. You do this if you're planning
  14782. // to turn off the VPC and not use it anymore. You can confirm a virtual private
  14783. // gateway has been completely detached from a VPC by describing the virtual
  14784. // private gateway (any attachments to the virtual private gateway are also
  14785. // described).
  14786. //
  14787. // You must wait for the attachment's state to switch to detached before you
  14788. // can delete the VPC or attach a different VPC to the virtual private gateway.
  14789. //
  14790. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14791. // with awserr.Error's Code and Message methods to get detailed information about
  14792. // the error.
  14793. //
  14794. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14795. // API operation DetachVpnGateway for usage and error information.
  14796. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
  14797. func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
  14798. req, out := c.DetachVpnGatewayRequest(input)
  14799. return out, req.Send()
  14800. }
  14801. // DetachVpnGatewayWithContext is the same as DetachVpnGateway with the addition of
  14802. // the ability to pass a context and additional request options.
  14803. //
  14804. // See DetachVpnGateway for details on how to use this API operation.
  14805. //
  14806. // The context must be non-nil and will be used for request cancellation. If
  14807. // the context is nil a panic will occur. In the future the SDK may create
  14808. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14809. // for more information on using Contexts.
  14810. func (c *EC2) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatewayInput, opts ...request.Option) (*DetachVpnGatewayOutput, error) {
  14811. req, out := c.DetachVpnGatewayRequest(input)
  14812. req.SetContext(ctx)
  14813. req.ApplyOptions(opts...)
  14814. return out, req.Send()
  14815. }
  14816. const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
  14817. // DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  14818. // client's request for the DisableVgwRoutePropagation operation. The "output" return
  14819. // value will be populated with the request's response once the request completes
  14820. // successfuly.
  14821. //
  14822. // Use "Send" method on the returned Request to send the API call to the service.
  14823. // the "output" return value is not valid until after Send returns without error.
  14824. //
  14825. // See DisableVgwRoutePropagation for more information on using the DisableVgwRoutePropagation
  14826. // API call, and error handling.
  14827. //
  14828. // This method is useful when you want to inject custom logic or configuration
  14829. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14830. //
  14831. //
  14832. // // Example sending a request using the DisableVgwRoutePropagationRequest method.
  14833. // req, resp := client.DisableVgwRoutePropagationRequest(params)
  14834. //
  14835. // err := req.Send()
  14836. // if err == nil { // resp is now filled
  14837. // fmt.Println(resp)
  14838. // }
  14839. //
  14840. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
  14841. func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
  14842. op := &request.Operation{
  14843. Name: opDisableVgwRoutePropagation,
  14844. HTTPMethod: "POST",
  14845. HTTPPath: "/",
  14846. }
  14847. if input == nil {
  14848. input = &DisableVgwRoutePropagationInput{}
  14849. }
  14850. output = &DisableVgwRoutePropagationOutput{}
  14851. req = c.newRequest(op, input, output)
  14852. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14853. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14854. return
  14855. }
  14856. // DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  14857. //
  14858. // Disables a virtual private gateway (VGW) from propagating routes to a specified
  14859. // route table of a VPC.
  14860. //
  14861. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14862. // with awserr.Error's Code and Message methods to get detailed information about
  14863. // the error.
  14864. //
  14865. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14866. // API operation DisableVgwRoutePropagation for usage and error information.
  14867. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
  14868. func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
  14869. req, out := c.DisableVgwRoutePropagationRequest(input)
  14870. return out, req.Send()
  14871. }
  14872. // DisableVgwRoutePropagationWithContext is the same as DisableVgwRoutePropagation with the addition of
  14873. // the ability to pass a context and additional request options.
  14874. //
  14875. // See DisableVgwRoutePropagation for details on how to use this API operation.
  14876. //
  14877. // The context must be non-nil and will be used for request cancellation. If
  14878. // the context is nil a panic will occur. In the future the SDK may create
  14879. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14880. // for more information on using Contexts.
  14881. func (c *EC2) DisableVgwRoutePropagationWithContext(ctx aws.Context, input *DisableVgwRoutePropagationInput, opts ...request.Option) (*DisableVgwRoutePropagationOutput, error) {
  14882. req, out := c.DisableVgwRoutePropagationRequest(input)
  14883. req.SetContext(ctx)
  14884. req.ApplyOptions(opts...)
  14885. return out, req.Send()
  14886. }
  14887. const opDisableVpcClassicLink = "DisableVpcClassicLink"
  14888. // DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  14889. // client's request for the DisableVpcClassicLink operation. The "output" return
  14890. // value will be populated with the request's response once the request completes
  14891. // successfuly.
  14892. //
  14893. // Use "Send" method on the returned Request to send the API call to the service.
  14894. // the "output" return value is not valid until after Send returns without error.
  14895. //
  14896. // See DisableVpcClassicLink for more information on using the DisableVpcClassicLink
  14897. // API call, and error handling.
  14898. //
  14899. // This method is useful when you want to inject custom logic or configuration
  14900. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14901. //
  14902. //
  14903. // // Example sending a request using the DisableVpcClassicLinkRequest method.
  14904. // req, resp := client.DisableVpcClassicLinkRequest(params)
  14905. //
  14906. // err := req.Send()
  14907. // if err == nil { // resp is now filled
  14908. // fmt.Println(resp)
  14909. // }
  14910. //
  14911. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
  14912. func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
  14913. op := &request.Operation{
  14914. Name: opDisableVpcClassicLink,
  14915. HTTPMethod: "POST",
  14916. HTTPPath: "/",
  14917. }
  14918. if input == nil {
  14919. input = &DisableVpcClassicLinkInput{}
  14920. }
  14921. output = &DisableVpcClassicLinkOutput{}
  14922. req = c.newRequest(op, input, output)
  14923. return
  14924. }
  14925. // DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  14926. //
  14927. // Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
  14928. // that has EC2-Classic instances linked to it.
  14929. //
  14930. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14931. // with awserr.Error's Code and Message methods to get detailed information about
  14932. // the error.
  14933. //
  14934. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14935. // API operation DisableVpcClassicLink for usage and error information.
  14936. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
  14937. func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
  14938. req, out := c.DisableVpcClassicLinkRequest(input)
  14939. return out, req.Send()
  14940. }
  14941. // DisableVpcClassicLinkWithContext is the same as DisableVpcClassicLink with the addition of
  14942. // the ability to pass a context and additional request options.
  14943. //
  14944. // See DisableVpcClassicLink for details on how to use this API operation.
  14945. //
  14946. // The context must be non-nil and will be used for request cancellation. If
  14947. // the context is nil a panic will occur. In the future the SDK may create
  14948. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14949. // for more information on using Contexts.
  14950. func (c *EC2) DisableVpcClassicLinkWithContext(ctx aws.Context, input *DisableVpcClassicLinkInput, opts ...request.Option) (*DisableVpcClassicLinkOutput, error) {
  14951. req, out := c.DisableVpcClassicLinkRequest(input)
  14952. req.SetContext(ctx)
  14953. req.ApplyOptions(opts...)
  14954. return out, req.Send()
  14955. }
  14956. const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
  14957. // DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  14958. // client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
  14959. // value will be populated with the request's response once the request completes
  14960. // successfuly.
  14961. //
  14962. // Use "Send" method on the returned Request to send the API call to the service.
  14963. // the "output" return value is not valid until after Send returns without error.
  14964. //
  14965. // See DisableVpcClassicLinkDnsSupport for more information on using the DisableVpcClassicLinkDnsSupport
  14966. // API call, and error handling.
  14967. //
  14968. // This method is useful when you want to inject custom logic or configuration
  14969. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14970. //
  14971. //
  14972. // // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
  14973. // req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
  14974. //
  14975. // err := req.Send()
  14976. // if err == nil { // resp is now filled
  14977. // fmt.Println(resp)
  14978. // }
  14979. //
  14980. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
  14981. func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
  14982. op := &request.Operation{
  14983. Name: opDisableVpcClassicLinkDnsSupport,
  14984. HTTPMethod: "POST",
  14985. HTTPPath: "/",
  14986. }
  14987. if input == nil {
  14988. input = &DisableVpcClassicLinkDnsSupportInput{}
  14989. }
  14990. output = &DisableVpcClassicLinkDnsSupportOutput{}
  14991. req = c.newRequest(op, input, output)
  14992. return
  14993. }
  14994. // DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  14995. //
  14996. // Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve
  14997. // to public IP addresses when addressed between a linked EC2-Classic instance
  14998. // and instances in the VPC to which it's linked. For more information about
  14999. // ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  15000. // in the Amazon Elastic Compute Cloud User Guide.
  15001. //
  15002. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15003. // with awserr.Error's Code and Message methods to get detailed information about
  15004. // the error.
  15005. //
  15006. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15007. // API operation DisableVpcClassicLinkDnsSupport for usage and error information.
  15008. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
  15009. func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  15010. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  15011. return out, req.Send()
  15012. }
  15013. // DisableVpcClassicLinkDnsSupportWithContext is the same as DisableVpcClassicLinkDnsSupport with the addition of
  15014. // the ability to pass a context and additional request options.
  15015. //
  15016. // See DisableVpcClassicLinkDnsSupport for details on how to use this API operation.
  15017. //
  15018. // The context must be non-nil and will be used for request cancellation. If
  15019. // the context is nil a panic will occur. In the future the SDK may create
  15020. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15021. // for more information on using Contexts.
  15022. func (c *EC2) DisableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DisableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  15023. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  15024. req.SetContext(ctx)
  15025. req.ApplyOptions(opts...)
  15026. return out, req.Send()
  15027. }
  15028. const opDisassociateAddress = "DisassociateAddress"
  15029. // DisassociateAddressRequest generates a "aws/request.Request" representing the
  15030. // client's request for the DisassociateAddress operation. The "output" return
  15031. // value will be populated with the request's response once the request completes
  15032. // successfuly.
  15033. //
  15034. // Use "Send" method on the returned Request to send the API call to the service.
  15035. // the "output" return value is not valid until after Send returns without error.
  15036. //
  15037. // See DisassociateAddress for more information on using the DisassociateAddress
  15038. // API call, and error handling.
  15039. //
  15040. // This method is useful when you want to inject custom logic or configuration
  15041. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15042. //
  15043. //
  15044. // // Example sending a request using the DisassociateAddressRequest method.
  15045. // req, resp := client.DisassociateAddressRequest(params)
  15046. //
  15047. // err := req.Send()
  15048. // if err == nil { // resp is now filled
  15049. // fmt.Println(resp)
  15050. // }
  15051. //
  15052. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
  15053. func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
  15054. op := &request.Operation{
  15055. Name: opDisassociateAddress,
  15056. HTTPMethod: "POST",
  15057. HTTPPath: "/",
  15058. }
  15059. if input == nil {
  15060. input = &DisassociateAddressInput{}
  15061. }
  15062. output = &DisassociateAddressOutput{}
  15063. req = c.newRequest(op, input, output)
  15064. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15065. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15066. return
  15067. }
  15068. // DisassociateAddress API operation for Amazon Elastic Compute Cloud.
  15069. //
  15070. // Disassociates an Elastic IP address from the instance or network interface
  15071. // it's associated with.
  15072. //
  15073. // An Elastic IP address is for use in either the EC2-Classic platform or in
  15074. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  15075. // in the Amazon Elastic Compute Cloud User Guide.
  15076. //
  15077. // This is an idempotent operation. If you perform the operation more than once,
  15078. // Amazon EC2 doesn't return an error.
  15079. //
  15080. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15081. // with awserr.Error's Code and Message methods to get detailed information about
  15082. // the error.
  15083. //
  15084. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15085. // API operation DisassociateAddress for usage and error information.
  15086. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
  15087. func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
  15088. req, out := c.DisassociateAddressRequest(input)
  15089. return out, req.Send()
  15090. }
  15091. // DisassociateAddressWithContext is the same as DisassociateAddress with the addition of
  15092. // the ability to pass a context and additional request options.
  15093. //
  15094. // See DisassociateAddress for details on how to use this API operation.
  15095. //
  15096. // The context must be non-nil and will be used for request cancellation. If
  15097. // the context is nil a panic will occur. In the future the SDK may create
  15098. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15099. // for more information on using Contexts.
  15100. func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *DisassociateAddressInput, opts ...request.Option) (*DisassociateAddressOutput, error) {
  15101. req, out := c.DisassociateAddressRequest(input)
  15102. req.SetContext(ctx)
  15103. req.ApplyOptions(opts...)
  15104. return out, req.Send()
  15105. }
  15106. const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
  15107. // DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
  15108. // client's request for the DisassociateIamInstanceProfile operation. The "output" return
  15109. // value will be populated with the request's response once the request completes
  15110. // successfuly.
  15111. //
  15112. // Use "Send" method on the returned Request to send the API call to the service.
  15113. // the "output" return value is not valid until after Send returns without error.
  15114. //
  15115. // See DisassociateIamInstanceProfile for more information on using the DisassociateIamInstanceProfile
  15116. // API call, and error handling.
  15117. //
  15118. // This method is useful when you want to inject custom logic or configuration
  15119. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15120. //
  15121. //
  15122. // // Example sending a request using the DisassociateIamInstanceProfileRequest method.
  15123. // req, resp := client.DisassociateIamInstanceProfileRequest(params)
  15124. //
  15125. // err := req.Send()
  15126. // if err == nil { // resp is now filled
  15127. // fmt.Println(resp)
  15128. // }
  15129. //
  15130. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
  15131. func (c *EC2) DisassociateIamInstanceProfileRequest(input *DisassociateIamInstanceProfileInput) (req *request.Request, output *DisassociateIamInstanceProfileOutput) {
  15132. op := &request.Operation{
  15133. Name: opDisassociateIamInstanceProfile,
  15134. HTTPMethod: "POST",
  15135. HTTPPath: "/",
  15136. }
  15137. if input == nil {
  15138. input = &DisassociateIamInstanceProfileInput{}
  15139. }
  15140. output = &DisassociateIamInstanceProfileOutput{}
  15141. req = c.newRequest(op, input, output)
  15142. return
  15143. }
  15144. // DisassociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
  15145. //
  15146. // Disassociates an IAM instance profile from a running or stopped instance.
  15147. //
  15148. // Use DescribeIamInstanceProfileAssociations to get the association ID.
  15149. //
  15150. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15151. // with awserr.Error's Code and Message methods to get detailed information about
  15152. // the error.
  15153. //
  15154. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15155. // API operation DisassociateIamInstanceProfile for usage and error information.
  15156. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
  15157. func (c *EC2) DisassociateIamInstanceProfile(input *DisassociateIamInstanceProfileInput) (*DisassociateIamInstanceProfileOutput, error) {
  15158. req, out := c.DisassociateIamInstanceProfileRequest(input)
  15159. return out, req.Send()
  15160. }
  15161. // DisassociateIamInstanceProfileWithContext is the same as DisassociateIamInstanceProfile with the addition of
  15162. // the ability to pass a context and additional request options.
  15163. //
  15164. // See DisassociateIamInstanceProfile for details on how to use this API operation.
  15165. //
  15166. // The context must be non-nil and will be used for request cancellation. If
  15167. // the context is nil a panic will occur. In the future the SDK may create
  15168. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15169. // for more information on using Contexts.
  15170. func (c *EC2) DisassociateIamInstanceProfileWithContext(ctx aws.Context, input *DisassociateIamInstanceProfileInput, opts ...request.Option) (*DisassociateIamInstanceProfileOutput, error) {
  15171. req, out := c.DisassociateIamInstanceProfileRequest(input)
  15172. req.SetContext(ctx)
  15173. req.ApplyOptions(opts...)
  15174. return out, req.Send()
  15175. }
  15176. const opDisassociateRouteTable = "DisassociateRouteTable"
  15177. // DisassociateRouteTableRequest generates a "aws/request.Request" representing the
  15178. // client's request for the DisassociateRouteTable operation. The "output" return
  15179. // value will be populated with the request's response once the request completes
  15180. // successfuly.
  15181. //
  15182. // Use "Send" method on the returned Request to send the API call to the service.
  15183. // the "output" return value is not valid until after Send returns without error.
  15184. //
  15185. // See DisassociateRouteTable for more information on using the DisassociateRouteTable
  15186. // API call, and error handling.
  15187. //
  15188. // This method is useful when you want to inject custom logic or configuration
  15189. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15190. //
  15191. //
  15192. // // Example sending a request using the DisassociateRouteTableRequest method.
  15193. // req, resp := client.DisassociateRouteTableRequest(params)
  15194. //
  15195. // err := req.Send()
  15196. // if err == nil { // resp is now filled
  15197. // fmt.Println(resp)
  15198. // }
  15199. //
  15200. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
  15201. func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
  15202. op := &request.Operation{
  15203. Name: opDisassociateRouteTable,
  15204. HTTPMethod: "POST",
  15205. HTTPPath: "/",
  15206. }
  15207. if input == nil {
  15208. input = &DisassociateRouteTableInput{}
  15209. }
  15210. output = &DisassociateRouteTableOutput{}
  15211. req = c.newRequest(op, input, output)
  15212. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15213. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15214. return
  15215. }
  15216. // DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
  15217. //
  15218. // Disassociates a subnet from a route table.
  15219. //
  15220. // After you perform this action, the subnet no longer uses the routes in the
  15221. // route table. Instead, it uses the routes in the VPC's main route table. For
  15222. // more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  15223. // in the Amazon Virtual Private Cloud User Guide.
  15224. //
  15225. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15226. // with awserr.Error's Code and Message methods to get detailed information about
  15227. // the error.
  15228. //
  15229. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15230. // API operation DisassociateRouteTable for usage and error information.
  15231. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
  15232. func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
  15233. req, out := c.DisassociateRouteTableRequest(input)
  15234. return out, req.Send()
  15235. }
  15236. // DisassociateRouteTableWithContext is the same as DisassociateRouteTable with the addition of
  15237. // the ability to pass a context and additional request options.
  15238. //
  15239. // See DisassociateRouteTable for details on how to use this API operation.
  15240. //
  15241. // The context must be non-nil and will be used for request cancellation. If
  15242. // the context is nil a panic will occur. In the future the SDK may create
  15243. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15244. // for more information on using Contexts.
  15245. func (c *EC2) DisassociateRouteTableWithContext(ctx aws.Context, input *DisassociateRouteTableInput, opts ...request.Option) (*DisassociateRouteTableOutput, error) {
  15246. req, out := c.DisassociateRouteTableRequest(input)
  15247. req.SetContext(ctx)
  15248. req.ApplyOptions(opts...)
  15249. return out, req.Send()
  15250. }
  15251. const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock"
  15252. // DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
  15253. // client's request for the DisassociateSubnetCidrBlock operation. The "output" return
  15254. // value will be populated with the request's response once the request completes
  15255. // successfuly.
  15256. //
  15257. // Use "Send" method on the returned Request to send the API call to the service.
  15258. // the "output" return value is not valid until after Send returns without error.
  15259. //
  15260. // See DisassociateSubnetCidrBlock for more information on using the DisassociateSubnetCidrBlock
  15261. // API call, and error handling.
  15262. //
  15263. // This method is useful when you want to inject custom logic or configuration
  15264. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15265. //
  15266. //
  15267. // // Example sending a request using the DisassociateSubnetCidrBlockRequest method.
  15268. // req, resp := client.DisassociateSubnetCidrBlockRequest(params)
  15269. //
  15270. // err := req.Send()
  15271. // if err == nil { // resp is now filled
  15272. // fmt.Println(resp)
  15273. // }
  15274. //
  15275. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
  15276. func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBlockInput) (req *request.Request, output *DisassociateSubnetCidrBlockOutput) {
  15277. op := &request.Operation{
  15278. Name: opDisassociateSubnetCidrBlock,
  15279. HTTPMethod: "POST",
  15280. HTTPPath: "/",
  15281. }
  15282. if input == nil {
  15283. input = &DisassociateSubnetCidrBlockInput{}
  15284. }
  15285. output = &DisassociateSubnetCidrBlockOutput{}
  15286. req = c.newRequest(op, input, output)
  15287. return
  15288. }
  15289. // DisassociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
  15290. //
  15291. // Disassociates a CIDR block from a subnet. Currently, you can disassociate
  15292. // an IPv6 CIDR block only. You must detach or delete all gateways and resources
  15293. // that are associated with the CIDR block before you can disassociate it.
  15294. //
  15295. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15296. // with awserr.Error's Code and Message methods to get detailed information about
  15297. // the error.
  15298. //
  15299. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15300. // API operation DisassociateSubnetCidrBlock for usage and error information.
  15301. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
  15302. func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) {
  15303. req, out := c.DisassociateSubnetCidrBlockRequest(input)
  15304. return out, req.Send()
  15305. }
  15306. // DisassociateSubnetCidrBlockWithContext is the same as DisassociateSubnetCidrBlock with the addition of
  15307. // the ability to pass a context and additional request options.
  15308. //
  15309. // See DisassociateSubnetCidrBlock for details on how to use this API operation.
  15310. //
  15311. // The context must be non-nil and will be used for request cancellation. If
  15312. // the context is nil a panic will occur. In the future the SDK may create
  15313. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15314. // for more information on using Contexts.
  15315. func (c *EC2) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *DisassociateSubnetCidrBlockInput, opts ...request.Option) (*DisassociateSubnetCidrBlockOutput, error) {
  15316. req, out := c.DisassociateSubnetCidrBlockRequest(input)
  15317. req.SetContext(ctx)
  15318. req.ApplyOptions(opts...)
  15319. return out, req.Send()
  15320. }
  15321. const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock"
  15322. // DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
  15323. // client's request for the DisassociateVpcCidrBlock operation. The "output" return
  15324. // value will be populated with the request's response once the request completes
  15325. // successfuly.
  15326. //
  15327. // Use "Send" method on the returned Request to send the API call to the service.
  15328. // the "output" return value is not valid until after Send returns without error.
  15329. //
  15330. // See DisassociateVpcCidrBlock for more information on using the DisassociateVpcCidrBlock
  15331. // API call, and error handling.
  15332. //
  15333. // This method is useful when you want to inject custom logic or configuration
  15334. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15335. //
  15336. //
  15337. // // Example sending a request using the DisassociateVpcCidrBlockRequest method.
  15338. // req, resp := client.DisassociateVpcCidrBlockRequest(params)
  15339. //
  15340. // err := req.Send()
  15341. // if err == nil { // resp is now filled
  15342. // fmt.Println(resp)
  15343. // }
  15344. //
  15345. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
  15346. func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInput) (req *request.Request, output *DisassociateVpcCidrBlockOutput) {
  15347. op := &request.Operation{
  15348. Name: opDisassociateVpcCidrBlock,
  15349. HTTPMethod: "POST",
  15350. HTTPPath: "/",
  15351. }
  15352. if input == nil {
  15353. input = &DisassociateVpcCidrBlockInput{}
  15354. }
  15355. output = &DisassociateVpcCidrBlockOutput{}
  15356. req = c.newRequest(op, input, output)
  15357. return
  15358. }
  15359. // DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
  15360. //
  15361. // Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you
  15362. // must specify its association ID. You can get the association ID by using
  15363. // DescribeVpcs. You must detach or delete all gateways and resources that are
  15364. // associated with the CIDR block before you can disassociate it.
  15365. //
  15366. // You cannot disassociate the CIDR block with which you originally created
  15367. // the VPC (the primary CIDR block).
  15368. //
  15369. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15370. // with awserr.Error's Code and Message methods to get detailed information about
  15371. // the error.
  15372. //
  15373. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15374. // API operation DisassociateVpcCidrBlock for usage and error information.
  15375. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
  15376. func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) {
  15377. req, out := c.DisassociateVpcCidrBlockRequest(input)
  15378. return out, req.Send()
  15379. }
  15380. // DisassociateVpcCidrBlockWithContext is the same as DisassociateVpcCidrBlock with the addition of
  15381. // the ability to pass a context and additional request options.
  15382. //
  15383. // See DisassociateVpcCidrBlock for details on how to use this API operation.
  15384. //
  15385. // The context must be non-nil and will be used for request cancellation. If
  15386. // the context is nil a panic will occur. In the future the SDK may create
  15387. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15388. // for more information on using Contexts.
  15389. func (c *EC2) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *DisassociateVpcCidrBlockInput, opts ...request.Option) (*DisassociateVpcCidrBlockOutput, error) {
  15390. req, out := c.DisassociateVpcCidrBlockRequest(input)
  15391. req.SetContext(ctx)
  15392. req.ApplyOptions(opts...)
  15393. return out, req.Send()
  15394. }
  15395. const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  15396. // EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  15397. // client's request for the EnableVgwRoutePropagation operation. The "output" return
  15398. // value will be populated with the request's response once the request completes
  15399. // successfuly.
  15400. //
  15401. // Use "Send" method on the returned Request to send the API call to the service.
  15402. // the "output" return value is not valid until after Send returns without error.
  15403. //
  15404. // See EnableVgwRoutePropagation for more information on using the EnableVgwRoutePropagation
  15405. // API call, and error handling.
  15406. //
  15407. // This method is useful when you want to inject custom logic or configuration
  15408. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15409. //
  15410. //
  15411. // // Example sending a request using the EnableVgwRoutePropagationRequest method.
  15412. // req, resp := client.EnableVgwRoutePropagationRequest(params)
  15413. //
  15414. // err := req.Send()
  15415. // if err == nil { // resp is now filled
  15416. // fmt.Println(resp)
  15417. // }
  15418. //
  15419. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
  15420. func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
  15421. op := &request.Operation{
  15422. Name: opEnableVgwRoutePropagation,
  15423. HTTPMethod: "POST",
  15424. HTTPPath: "/",
  15425. }
  15426. if input == nil {
  15427. input = &EnableVgwRoutePropagationInput{}
  15428. }
  15429. output = &EnableVgwRoutePropagationOutput{}
  15430. req = c.newRequest(op, input, output)
  15431. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15432. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15433. return
  15434. }
  15435. // EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  15436. //
  15437. // Enables a virtual private gateway (VGW) to propagate routes to the specified
  15438. // route table of a VPC.
  15439. //
  15440. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15441. // with awserr.Error's Code and Message methods to get detailed information about
  15442. // the error.
  15443. //
  15444. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15445. // API operation EnableVgwRoutePropagation for usage and error information.
  15446. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
  15447. func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
  15448. req, out := c.EnableVgwRoutePropagationRequest(input)
  15449. return out, req.Send()
  15450. }
  15451. // EnableVgwRoutePropagationWithContext is the same as EnableVgwRoutePropagation with the addition of
  15452. // the ability to pass a context and additional request options.
  15453. //
  15454. // See EnableVgwRoutePropagation for details on how to use this API operation.
  15455. //
  15456. // The context must be non-nil and will be used for request cancellation. If
  15457. // the context is nil a panic will occur. In the future the SDK may create
  15458. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15459. // for more information on using Contexts.
  15460. func (c *EC2) EnableVgwRoutePropagationWithContext(ctx aws.Context, input *EnableVgwRoutePropagationInput, opts ...request.Option) (*EnableVgwRoutePropagationOutput, error) {
  15461. req, out := c.EnableVgwRoutePropagationRequest(input)
  15462. req.SetContext(ctx)
  15463. req.ApplyOptions(opts...)
  15464. return out, req.Send()
  15465. }
  15466. const opEnableVolumeIO = "EnableVolumeIO"
  15467. // EnableVolumeIORequest generates a "aws/request.Request" representing the
  15468. // client's request for the EnableVolumeIO operation. The "output" return
  15469. // value will be populated with the request's response once the request completes
  15470. // successfuly.
  15471. //
  15472. // Use "Send" method on the returned Request to send the API call to the service.
  15473. // the "output" return value is not valid until after Send returns without error.
  15474. //
  15475. // See EnableVolumeIO for more information on using the EnableVolumeIO
  15476. // API call, and error handling.
  15477. //
  15478. // This method is useful when you want to inject custom logic or configuration
  15479. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15480. //
  15481. //
  15482. // // Example sending a request using the EnableVolumeIORequest method.
  15483. // req, resp := client.EnableVolumeIORequest(params)
  15484. //
  15485. // err := req.Send()
  15486. // if err == nil { // resp is now filled
  15487. // fmt.Println(resp)
  15488. // }
  15489. //
  15490. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
  15491. func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
  15492. op := &request.Operation{
  15493. Name: opEnableVolumeIO,
  15494. HTTPMethod: "POST",
  15495. HTTPPath: "/",
  15496. }
  15497. if input == nil {
  15498. input = &EnableVolumeIOInput{}
  15499. }
  15500. output = &EnableVolumeIOOutput{}
  15501. req = c.newRequest(op, input, output)
  15502. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15503. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15504. return
  15505. }
  15506. // EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
  15507. //
  15508. // Enables I/O operations for a volume that had I/O operations disabled because
  15509. // the data on the volume was potentially inconsistent.
  15510. //
  15511. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15512. // with awserr.Error's Code and Message methods to get detailed information about
  15513. // the error.
  15514. //
  15515. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15516. // API operation EnableVolumeIO for usage and error information.
  15517. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
  15518. func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
  15519. req, out := c.EnableVolumeIORequest(input)
  15520. return out, req.Send()
  15521. }
  15522. // EnableVolumeIOWithContext is the same as EnableVolumeIO with the addition of
  15523. // the ability to pass a context and additional request options.
  15524. //
  15525. // See EnableVolumeIO for details on how to use this API operation.
  15526. //
  15527. // The context must be non-nil and will be used for request cancellation. If
  15528. // the context is nil a panic will occur. In the future the SDK may create
  15529. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15530. // for more information on using Contexts.
  15531. func (c *EC2) EnableVolumeIOWithContext(ctx aws.Context, input *EnableVolumeIOInput, opts ...request.Option) (*EnableVolumeIOOutput, error) {
  15532. req, out := c.EnableVolumeIORequest(input)
  15533. req.SetContext(ctx)
  15534. req.ApplyOptions(opts...)
  15535. return out, req.Send()
  15536. }
  15537. const opEnableVpcClassicLink = "EnableVpcClassicLink"
  15538. // EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  15539. // client's request for the EnableVpcClassicLink operation. The "output" return
  15540. // value will be populated with the request's response once the request completes
  15541. // successfuly.
  15542. //
  15543. // Use "Send" method on the returned Request to send the API call to the service.
  15544. // the "output" return value is not valid until after Send returns without error.
  15545. //
  15546. // See EnableVpcClassicLink for more information on using the EnableVpcClassicLink
  15547. // API call, and error handling.
  15548. //
  15549. // This method is useful when you want to inject custom logic or configuration
  15550. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15551. //
  15552. //
  15553. // // Example sending a request using the EnableVpcClassicLinkRequest method.
  15554. // req, resp := client.EnableVpcClassicLinkRequest(params)
  15555. //
  15556. // err := req.Send()
  15557. // if err == nil { // resp is now filled
  15558. // fmt.Println(resp)
  15559. // }
  15560. //
  15561. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
  15562. func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
  15563. op := &request.Operation{
  15564. Name: opEnableVpcClassicLink,
  15565. HTTPMethod: "POST",
  15566. HTTPPath: "/",
  15567. }
  15568. if input == nil {
  15569. input = &EnableVpcClassicLinkInput{}
  15570. }
  15571. output = &EnableVpcClassicLinkOutput{}
  15572. req = c.newRequest(op, input, output)
  15573. return
  15574. }
  15575. // EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  15576. //
  15577. // Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
  15578. // your ClassicLink-enabled VPC to allow communication over private IP addresses.
  15579. // You cannot enable your VPC for ClassicLink if any of your VPC's route tables
  15580. // have existing routes for address ranges within the 10.0.0.0/8 IP address
  15581. // range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
  15582. // IP address ranges. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  15583. // in the Amazon Elastic Compute Cloud User Guide.
  15584. //
  15585. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15586. // with awserr.Error's Code and Message methods to get detailed information about
  15587. // the error.
  15588. //
  15589. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15590. // API operation EnableVpcClassicLink for usage and error information.
  15591. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
  15592. func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
  15593. req, out := c.EnableVpcClassicLinkRequest(input)
  15594. return out, req.Send()
  15595. }
  15596. // EnableVpcClassicLinkWithContext is the same as EnableVpcClassicLink with the addition of
  15597. // the ability to pass a context and additional request options.
  15598. //
  15599. // See EnableVpcClassicLink for details on how to use this API operation.
  15600. //
  15601. // The context must be non-nil and will be used for request cancellation. If
  15602. // the context is nil a panic will occur. In the future the SDK may create
  15603. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15604. // for more information on using Contexts.
  15605. func (c *EC2) EnableVpcClassicLinkWithContext(ctx aws.Context, input *EnableVpcClassicLinkInput, opts ...request.Option) (*EnableVpcClassicLinkOutput, error) {
  15606. req, out := c.EnableVpcClassicLinkRequest(input)
  15607. req.SetContext(ctx)
  15608. req.ApplyOptions(opts...)
  15609. return out, req.Send()
  15610. }
  15611. const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
  15612. // EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  15613. // client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
  15614. // value will be populated with the request's response once the request completes
  15615. // successfuly.
  15616. //
  15617. // Use "Send" method on the returned Request to send the API call to the service.
  15618. // the "output" return value is not valid until after Send returns without error.
  15619. //
  15620. // See EnableVpcClassicLinkDnsSupport for more information on using the EnableVpcClassicLinkDnsSupport
  15621. // API call, and error handling.
  15622. //
  15623. // This method is useful when you want to inject custom logic or configuration
  15624. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15625. //
  15626. //
  15627. // // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
  15628. // req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params)
  15629. //
  15630. // err := req.Send()
  15631. // if err == nil { // resp is now filled
  15632. // fmt.Println(resp)
  15633. // }
  15634. //
  15635. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
  15636. func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
  15637. op := &request.Operation{
  15638. Name: opEnableVpcClassicLinkDnsSupport,
  15639. HTTPMethod: "POST",
  15640. HTTPPath: "/",
  15641. }
  15642. if input == nil {
  15643. input = &EnableVpcClassicLinkDnsSupportInput{}
  15644. }
  15645. output = &EnableVpcClassicLinkDnsSupportOutput{}
  15646. req = c.newRequest(op, input, output)
  15647. return
  15648. }
  15649. // EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  15650. //
  15651. // Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
  15652. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  15653. // IP address when addressed from an instance in the VPC to which it's linked.
  15654. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  15655. // IP address when addressed from a linked EC2-Classic instance. For more information
  15656. // about ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  15657. // in the Amazon Elastic Compute Cloud User Guide.
  15658. //
  15659. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15660. // with awserr.Error's Code and Message methods to get detailed information about
  15661. // the error.
  15662. //
  15663. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15664. // API operation EnableVpcClassicLinkDnsSupport for usage and error information.
  15665. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
  15666. func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  15667. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  15668. return out, req.Send()
  15669. }
  15670. // EnableVpcClassicLinkDnsSupportWithContext is the same as EnableVpcClassicLinkDnsSupport with the addition of
  15671. // the ability to pass a context and additional request options.
  15672. //
  15673. // See EnableVpcClassicLinkDnsSupport for details on how to use this API operation.
  15674. //
  15675. // The context must be non-nil and will be used for request cancellation. If
  15676. // the context is nil a panic will occur. In the future the SDK may create
  15677. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15678. // for more information on using Contexts.
  15679. func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *EnableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  15680. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  15681. req.SetContext(ctx)
  15682. req.ApplyOptions(opts...)
  15683. return out, req.Send()
  15684. }
  15685. const opGetConsoleOutput = "GetConsoleOutput"
  15686. // GetConsoleOutputRequest generates a "aws/request.Request" representing the
  15687. // client's request for the GetConsoleOutput operation. The "output" return
  15688. // value will be populated with the request's response once the request completes
  15689. // successfuly.
  15690. //
  15691. // Use "Send" method on the returned Request to send the API call to the service.
  15692. // the "output" return value is not valid until after Send returns without error.
  15693. //
  15694. // See GetConsoleOutput for more information on using the GetConsoleOutput
  15695. // API call, and error handling.
  15696. //
  15697. // This method is useful when you want to inject custom logic or configuration
  15698. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15699. //
  15700. //
  15701. // // Example sending a request using the GetConsoleOutputRequest method.
  15702. // req, resp := client.GetConsoleOutputRequest(params)
  15703. //
  15704. // err := req.Send()
  15705. // if err == nil { // resp is now filled
  15706. // fmt.Println(resp)
  15707. // }
  15708. //
  15709. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
  15710. func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
  15711. op := &request.Operation{
  15712. Name: opGetConsoleOutput,
  15713. HTTPMethod: "POST",
  15714. HTTPPath: "/",
  15715. }
  15716. if input == nil {
  15717. input = &GetConsoleOutputInput{}
  15718. }
  15719. output = &GetConsoleOutputOutput{}
  15720. req = c.newRequest(op, input, output)
  15721. return
  15722. }
  15723. // GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
  15724. //
  15725. // Gets the console output for the specified instance. For Linux instances,
  15726. // the instance console output displays the exact console output that would
  15727. // normally be displayed on a physical monitor attached to a computer. For Windows
  15728. // instances, the instance console output includes output from the EC2Config
  15729. // service.
  15730. //
  15731. // GetConsoleOutput returns up to 64 KB of console output shortly after it's
  15732. // generated by the instance.
  15733. //
  15734. // By default, the console output returns buffered information that was posted
  15735. // shortly after an instance transition state (start, stop, reboot, or terminate).
  15736. // This information is available for at least one hour after the most recent
  15737. // post.
  15738. //
  15739. // You can optionally retrieve the latest serial console output at any time
  15740. // during the instance lifecycle. This option is only supported on C5, M5, and
  15741. // i3.metal instances.
  15742. //
  15743. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15744. // with awserr.Error's Code and Message methods to get detailed information about
  15745. // the error.
  15746. //
  15747. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15748. // API operation GetConsoleOutput for usage and error information.
  15749. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
  15750. func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
  15751. req, out := c.GetConsoleOutputRequest(input)
  15752. return out, req.Send()
  15753. }
  15754. // GetConsoleOutputWithContext is the same as GetConsoleOutput with the addition of
  15755. // the ability to pass a context and additional request options.
  15756. //
  15757. // See GetConsoleOutput for details on how to use this API operation.
  15758. //
  15759. // The context must be non-nil and will be used for request cancellation. If
  15760. // the context is nil a panic will occur. In the future the SDK may create
  15761. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15762. // for more information on using Contexts.
  15763. func (c *EC2) GetConsoleOutputWithContext(ctx aws.Context, input *GetConsoleOutputInput, opts ...request.Option) (*GetConsoleOutputOutput, error) {
  15764. req, out := c.GetConsoleOutputRequest(input)
  15765. req.SetContext(ctx)
  15766. req.ApplyOptions(opts...)
  15767. return out, req.Send()
  15768. }
  15769. const opGetConsoleScreenshot = "GetConsoleScreenshot"
  15770. // GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
  15771. // client's request for the GetConsoleScreenshot operation. The "output" return
  15772. // value will be populated with the request's response once the request completes
  15773. // successfuly.
  15774. //
  15775. // Use "Send" method on the returned Request to send the API call to the service.
  15776. // the "output" return value is not valid until after Send returns without error.
  15777. //
  15778. // See GetConsoleScreenshot for more information on using the GetConsoleScreenshot
  15779. // API call, and error handling.
  15780. //
  15781. // This method is useful when you want to inject custom logic or configuration
  15782. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15783. //
  15784. //
  15785. // // Example sending a request using the GetConsoleScreenshotRequest method.
  15786. // req, resp := client.GetConsoleScreenshotRequest(params)
  15787. //
  15788. // err := req.Send()
  15789. // if err == nil { // resp is now filled
  15790. // fmt.Println(resp)
  15791. // }
  15792. //
  15793. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
  15794. func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
  15795. op := &request.Operation{
  15796. Name: opGetConsoleScreenshot,
  15797. HTTPMethod: "POST",
  15798. HTTPPath: "/",
  15799. }
  15800. if input == nil {
  15801. input = &GetConsoleScreenshotInput{}
  15802. }
  15803. output = &GetConsoleScreenshotOutput{}
  15804. req = c.newRequest(op, input, output)
  15805. return
  15806. }
  15807. // GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
  15808. //
  15809. // Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
  15810. //
  15811. // The returned content is Base64-encoded.
  15812. //
  15813. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15814. // with awserr.Error's Code and Message methods to get detailed information about
  15815. // the error.
  15816. //
  15817. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15818. // API operation GetConsoleScreenshot for usage and error information.
  15819. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
  15820. func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
  15821. req, out := c.GetConsoleScreenshotRequest(input)
  15822. return out, req.Send()
  15823. }
  15824. // GetConsoleScreenshotWithContext is the same as GetConsoleScreenshot with the addition of
  15825. // the ability to pass a context and additional request options.
  15826. //
  15827. // See GetConsoleScreenshot for details on how to use this API operation.
  15828. //
  15829. // The context must be non-nil and will be used for request cancellation. If
  15830. // the context is nil a panic will occur. In the future the SDK may create
  15831. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15832. // for more information on using Contexts.
  15833. func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsoleScreenshotInput, opts ...request.Option) (*GetConsoleScreenshotOutput, error) {
  15834. req, out := c.GetConsoleScreenshotRequest(input)
  15835. req.SetContext(ctx)
  15836. req.ApplyOptions(opts...)
  15837. return out, req.Send()
  15838. }
  15839. const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
  15840. // GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
  15841. // client's request for the GetHostReservationPurchasePreview operation. The "output" return
  15842. // value will be populated with the request's response once the request completes
  15843. // successfuly.
  15844. //
  15845. // Use "Send" method on the returned Request to send the API call to the service.
  15846. // the "output" return value is not valid until after Send returns without error.
  15847. //
  15848. // See GetHostReservationPurchasePreview for more information on using the GetHostReservationPurchasePreview
  15849. // API call, and error handling.
  15850. //
  15851. // This method is useful when you want to inject custom logic or configuration
  15852. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15853. //
  15854. //
  15855. // // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
  15856. // req, resp := client.GetHostReservationPurchasePreviewRequest(params)
  15857. //
  15858. // err := req.Send()
  15859. // if err == nil { // resp is now filled
  15860. // fmt.Println(resp)
  15861. // }
  15862. //
  15863. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
  15864. func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
  15865. op := &request.Operation{
  15866. Name: opGetHostReservationPurchasePreview,
  15867. HTTPMethod: "POST",
  15868. HTTPPath: "/",
  15869. }
  15870. if input == nil {
  15871. input = &GetHostReservationPurchasePreviewInput{}
  15872. }
  15873. output = &GetHostReservationPurchasePreviewOutput{}
  15874. req = c.newRequest(op, input, output)
  15875. return
  15876. }
  15877. // GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
  15878. //
  15879. // Preview a reservation purchase with configurations that match those of your
  15880. // Dedicated Host. You must have active Dedicated Hosts in your account before
  15881. // you purchase a reservation.
  15882. //
  15883. // This is a preview of the PurchaseHostReservation action and does not result
  15884. // in the offering being purchased.
  15885. //
  15886. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15887. // with awserr.Error's Code and Message methods to get detailed information about
  15888. // the error.
  15889. //
  15890. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15891. // API operation GetHostReservationPurchasePreview for usage and error information.
  15892. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
  15893. func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
  15894. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  15895. return out, req.Send()
  15896. }
  15897. // GetHostReservationPurchasePreviewWithContext is the same as GetHostReservationPurchasePreview with the addition of
  15898. // the ability to pass a context and additional request options.
  15899. //
  15900. // See GetHostReservationPurchasePreview for details on how to use this API operation.
  15901. //
  15902. // The context must be non-nil and will be used for request cancellation. If
  15903. // the context is nil a panic will occur. In the future the SDK may create
  15904. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15905. // for more information on using Contexts.
  15906. func (c *EC2) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, input *GetHostReservationPurchasePreviewInput, opts ...request.Option) (*GetHostReservationPurchasePreviewOutput, error) {
  15907. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  15908. req.SetContext(ctx)
  15909. req.ApplyOptions(opts...)
  15910. return out, req.Send()
  15911. }
  15912. const opGetLaunchTemplateData = "GetLaunchTemplateData"
  15913. // GetLaunchTemplateDataRequest generates a "aws/request.Request" representing the
  15914. // client's request for the GetLaunchTemplateData operation. The "output" return
  15915. // value will be populated with the request's response once the request completes
  15916. // successfuly.
  15917. //
  15918. // Use "Send" method on the returned Request to send the API call to the service.
  15919. // the "output" return value is not valid until after Send returns without error.
  15920. //
  15921. // See GetLaunchTemplateData for more information on using the GetLaunchTemplateData
  15922. // API call, and error handling.
  15923. //
  15924. // This method is useful when you want to inject custom logic or configuration
  15925. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15926. //
  15927. //
  15928. // // Example sending a request using the GetLaunchTemplateDataRequest method.
  15929. // req, resp := client.GetLaunchTemplateDataRequest(params)
  15930. //
  15931. // err := req.Send()
  15932. // if err == nil { // resp is now filled
  15933. // fmt.Println(resp)
  15934. // }
  15935. //
  15936. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
  15937. func (c *EC2) GetLaunchTemplateDataRequest(input *GetLaunchTemplateDataInput) (req *request.Request, output *GetLaunchTemplateDataOutput) {
  15938. op := &request.Operation{
  15939. Name: opGetLaunchTemplateData,
  15940. HTTPMethod: "POST",
  15941. HTTPPath: "/",
  15942. }
  15943. if input == nil {
  15944. input = &GetLaunchTemplateDataInput{}
  15945. }
  15946. output = &GetLaunchTemplateDataOutput{}
  15947. req = c.newRequest(op, input, output)
  15948. return
  15949. }
  15950. // GetLaunchTemplateData API operation for Amazon Elastic Compute Cloud.
  15951. //
  15952. // Retrieves the configuration data of the specified instance. You can use this
  15953. // data to create a launch template.
  15954. //
  15955. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15956. // with awserr.Error's Code and Message methods to get detailed information about
  15957. // the error.
  15958. //
  15959. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15960. // API operation GetLaunchTemplateData for usage and error information.
  15961. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
  15962. func (c *EC2) GetLaunchTemplateData(input *GetLaunchTemplateDataInput) (*GetLaunchTemplateDataOutput, error) {
  15963. req, out := c.GetLaunchTemplateDataRequest(input)
  15964. return out, req.Send()
  15965. }
  15966. // GetLaunchTemplateDataWithContext is the same as GetLaunchTemplateData with the addition of
  15967. // the ability to pass a context and additional request options.
  15968. //
  15969. // See GetLaunchTemplateData for details on how to use this API operation.
  15970. //
  15971. // The context must be non-nil and will be used for request cancellation. If
  15972. // the context is nil a panic will occur. In the future the SDK may create
  15973. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15974. // for more information on using Contexts.
  15975. func (c *EC2) GetLaunchTemplateDataWithContext(ctx aws.Context, input *GetLaunchTemplateDataInput, opts ...request.Option) (*GetLaunchTemplateDataOutput, error) {
  15976. req, out := c.GetLaunchTemplateDataRequest(input)
  15977. req.SetContext(ctx)
  15978. req.ApplyOptions(opts...)
  15979. return out, req.Send()
  15980. }
  15981. const opGetPasswordData = "GetPasswordData"
  15982. // GetPasswordDataRequest generates a "aws/request.Request" representing the
  15983. // client's request for the GetPasswordData operation. The "output" return
  15984. // value will be populated with the request's response once the request completes
  15985. // successfuly.
  15986. //
  15987. // Use "Send" method on the returned Request to send the API call to the service.
  15988. // the "output" return value is not valid until after Send returns without error.
  15989. //
  15990. // See GetPasswordData for more information on using the GetPasswordData
  15991. // API call, and error handling.
  15992. //
  15993. // This method is useful when you want to inject custom logic or configuration
  15994. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15995. //
  15996. //
  15997. // // Example sending a request using the GetPasswordDataRequest method.
  15998. // req, resp := client.GetPasswordDataRequest(params)
  15999. //
  16000. // err := req.Send()
  16001. // if err == nil { // resp is now filled
  16002. // fmt.Println(resp)
  16003. // }
  16004. //
  16005. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
  16006. func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
  16007. op := &request.Operation{
  16008. Name: opGetPasswordData,
  16009. HTTPMethod: "POST",
  16010. HTTPPath: "/",
  16011. }
  16012. if input == nil {
  16013. input = &GetPasswordDataInput{}
  16014. }
  16015. output = &GetPasswordDataOutput{}
  16016. req = c.newRequest(op, input, output)
  16017. return
  16018. }
  16019. // GetPasswordData API operation for Amazon Elastic Compute Cloud.
  16020. //
  16021. // Retrieves the encrypted administrator password for a running Windows instance.
  16022. //
  16023. // The Windows password is generated at boot by the EC2Config service or EC2Launch
  16024. // scripts (Windows Server 2016 and later). This usually only happens the first
  16025. // time an instance is launched. For more information, see EC2Config (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html)
  16026. // and EC2Launch (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html)
  16027. // in the Amazon Elastic Compute Cloud User Guide.
  16028. //
  16029. // For the EC2Config service, the password is not generated for rebundled AMIs
  16030. // unless Ec2SetPassword is enabled before bundling.
  16031. //
  16032. // The password is encrypted using the key pair that you specified when you
  16033. // launched the instance. You must provide the corresponding key pair file.
  16034. //
  16035. // When you launch an instance, password generation and encryption may take
  16036. // a few minutes. If you try to retrieve the password before it's available,
  16037. // the output returns an empty string. We recommend that you wait up to 15 minutes
  16038. // after launching an instance before trying to retrieve the generated password.
  16039. //
  16040. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16041. // with awserr.Error's Code and Message methods to get detailed information about
  16042. // the error.
  16043. //
  16044. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16045. // API operation GetPasswordData for usage and error information.
  16046. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
  16047. func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
  16048. req, out := c.GetPasswordDataRequest(input)
  16049. return out, req.Send()
  16050. }
  16051. // GetPasswordDataWithContext is the same as GetPasswordData with the addition of
  16052. // the ability to pass a context and additional request options.
  16053. //
  16054. // See GetPasswordData for details on how to use this API operation.
  16055. //
  16056. // The context must be non-nil and will be used for request cancellation. If
  16057. // the context is nil a panic will occur. In the future the SDK may create
  16058. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16059. // for more information on using Contexts.
  16060. func (c *EC2) GetPasswordDataWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.Option) (*GetPasswordDataOutput, error) {
  16061. req, out := c.GetPasswordDataRequest(input)
  16062. req.SetContext(ctx)
  16063. req.ApplyOptions(opts...)
  16064. return out, req.Send()
  16065. }
  16066. const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
  16067. // GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
  16068. // client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
  16069. // value will be populated with the request's response once the request completes
  16070. // successfuly.
  16071. //
  16072. // Use "Send" method on the returned Request to send the API call to the service.
  16073. // the "output" return value is not valid until after Send returns without error.
  16074. //
  16075. // See GetReservedInstancesExchangeQuote for more information on using the GetReservedInstancesExchangeQuote
  16076. // API call, and error handling.
  16077. //
  16078. // This method is useful when you want to inject custom logic or configuration
  16079. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16080. //
  16081. //
  16082. // // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
  16083. // req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
  16084. //
  16085. // err := req.Send()
  16086. // if err == nil { // resp is now filled
  16087. // fmt.Println(resp)
  16088. // }
  16089. //
  16090. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
  16091. func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
  16092. op := &request.Operation{
  16093. Name: opGetReservedInstancesExchangeQuote,
  16094. HTTPMethod: "POST",
  16095. HTTPPath: "/",
  16096. }
  16097. if input == nil {
  16098. input = &GetReservedInstancesExchangeQuoteInput{}
  16099. }
  16100. output = &GetReservedInstancesExchangeQuoteOutput{}
  16101. req = c.newRequest(op, input, output)
  16102. return
  16103. }
  16104. // GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  16105. //
  16106. // Returns a quote and exchange information for exchanging one or more specified
  16107. // Convertible Reserved Instances for a new Convertible Reserved Instance. If
  16108. // the exchange cannot be performed, the reason is returned in the response.
  16109. // Use AcceptReservedInstancesExchangeQuote to perform the exchange.
  16110. //
  16111. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16112. // with awserr.Error's Code and Message methods to get detailed information about
  16113. // the error.
  16114. //
  16115. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16116. // API operation GetReservedInstancesExchangeQuote for usage and error information.
  16117. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
  16118. func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
  16119. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  16120. return out, req.Send()
  16121. }
  16122. // GetReservedInstancesExchangeQuoteWithContext is the same as GetReservedInstancesExchangeQuote with the addition of
  16123. // the ability to pass a context and additional request options.
  16124. //
  16125. // See GetReservedInstancesExchangeQuote for details on how to use this API operation.
  16126. //
  16127. // The context must be non-nil and will be used for request cancellation. If
  16128. // the context is nil a panic will occur. In the future the SDK may create
  16129. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16130. // for more information on using Contexts.
  16131. func (c *EC2) GetReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *GetReservedInstancesExchangeQuoteInput, opts ...request.Option) (*GetReservedInstancesExchangeQuoteOutput, error) {
  16132. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  16133. req.SetContext(ctx)
  16134. req.ApplyOptions(opts...)
  16135. return out, req.Send()
  16136. }
  16137. const opImportImage = "ImportImage"
  16138. // ImportImageRequest generates a "aws/request.Request" representing the
  16139. // client's request for the ImportImage operation. The "output" return
  16140. // value will be populated with the request's response once the request completes
  16141. // successfuly.
  16142. //
  16143. // Use "Send" method on the returned Request to send the API call to the service.
  16144. // the "output" return value is not valid until after Send returns without error.
  16145. //
  16146. // See ImportImage for more information on using the ImportImage
  16147. // API call, and error handling.
  16148. //
  16149. // This method is useful when you want to inject custom logic or configuration
  16150. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16151. //
  16152. //
  16153. // // Example sending a request using the ImportImageRequest method.
  16154. // req, resp := client.ImportImageRequest(params)
  16155. //
  16156. // err := req.Send()
  16157. // if err == nil { // resp is now filled
  16158. // fmt.Println(resp)
  16159. // }
  16160. //
  16161. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
  16162. func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
  16163. op := &request.Operation{
  16164. Name: opImportImage,
  16165. HTTPMethod: "POST",
  16166. HTTPPath: "/",
  16167. }
  16168. if input == nil {
  16169. input = &ImportImageInput{}
  16170. }
  16171. output = &ImportImageOutput{}
  16172. req = c.newRequest(op, input, output)
  16173. return
  16174. }
  16175. // ImportImage API operation for Amazon Elastic Compute Cloud.
  16176. //
  16177. // Import single or multi-volume disk images or EBS snapshots into an Amazon
  16178. // Machine Image (AMI). For more information, see Importing a VM as an Image
  16179. // Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
  16180. // in the VM Import/Export User Guide.
  16181. //
  16182. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16183. // with awserr.Error's Code and Message methods to get detailed information about
  16184. // the error.
  16185. //
  16186. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16187. // API operation ImportImage for usage and error information.
  16188. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
  16189. func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
  16190. req, out := c.ImportImageRequest(input)
  16191. return out, req.Send()
  16192. }
  16193. // ImportImageWithContext is the same as ImportImage with the addition of
  16194. // the ability to pass a context and additional request options.
  16195. //
  16196. // See ImportImage for details on how to use this API operation.
  16197. //
  16198. // The context must be non-nil and will be used for request cancellation. If
  16199. // the context is nil a panic will occur. In the future the SDK may create
  16200. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16201. // for more information on using Contexts.
  16202. func (c *EC2) ImportImageWithContext(ctx aws.Context, input *ImportImageInput, opts ...request.Option) (*ImportImageOutput, error) {
  16203. req, out := c.ImportImageRequest(input)
  16204. req.SetContext(ctx)
  16205. req.ApplyOptions(opts...)
  16206. return out, req.Send()
  16207. }
  16208. const opImportInstance = "ImportInstance"
  16209. // ImportInstanceRequest generates a "aws/request.Request" representing the
  16210. // client's request for the ImportInstance operation. The "output" return
  16211. // value will be populated with the request's response once the request completes
  16212. // successfuly.
  16213. //
  16214. // Use "Send" method on the returned Request to send the API call to the service.
  16215. // the "output" return value is not valid until after Send returns without error.
  16216. //
  16217. // See ImportInstance for more information on using the ImportInstance
  16218. // API call, and error handling.
  16219. //
  16220. // This method is useful when you want to inject custom logic or configuration
  16221. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16222. //
  16223. //
  16224. // // Example sending a request using the ImportInstanceRequest method.
  16225. // req, resp := client.ImportInstanceRequest(params)
  16226. //
  16227. // err := req.Send()
  16228. // if err == nil { // resp is now filled
  16229. // fmt.Println(resp)
  16230. // }
  16231. //
  16232. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
  16233. func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
  16234. op := &request.Operation{
  16235. Name: opImportInstance,
  16236. HTTPMethod: "POST",
  16237. HTTPPath: "/",
  16238. }
  16239. if input == nil {
  16240. input = &ImportInstanceInput{}
  16241. }
  16242. output = &ImportInstanceOutput{}
  16243. req = c.newRequest(op, input, output)
  16244. return
  16245. }
  16246. // ImportInstance API operation for Amazon Elastic Compute Cloud.
  16247. //
  16248. // Creates an import instance task using metadata from the specified disk image.
  16249. // ImportInstance only supports single-volume VMs. To import multi-volume VMs,
  16250. // use ImportImage. For more information, see Importing a Virtual Machine Using
  16251. // the Amazon EC2 CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  16252. //
  16253. // For information about the import manifest referenced by this API action,
  16254. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  16255. //
  16256. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16257. // with awserr.Error's Code and Message methods to get detailed information about
  16258. // the error.
  16259. //
  16260. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16261. // API operation ImportInstance for usage and error information.
  16262. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
  16263. func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
  16264. req, out := c.ImportInstanceRequest(input)
  16265. return out, req.Send()
  16266. }
  16267. // ImportInstanceWithContext is the same as ImportInstance with the addition of
  16268. // the ability to pass a context and additional request options.
  16269. //
  16270. // See ImportInstance for details on how to use this API operation.
  16271. //
  16272. // The context must be non-nil and will be used for request cancellation. If
  16273. // the context is nil a panic will occur. In the future the SDK may create
  16274. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16275. // for more information on using Contexts.
  16276. func (c *EC2) ImportInstanceWithContext(ctx aws.Context, input *ImportInstanceInput, opts ...request.Option) (*ImportInstanceOutput, error) {
  16277. req, out := c.ImportInstanceRequest(input)
  16278. req.SetContext(ctx)
  16279. req.ApplyOptions(opts...)
  16280. return out, req.Send()
  16281. }
  16282. const opImportKeyPair = "ImportKeyPair"
  16283. // ImportKeyPairRequest generates a "aws/request.Request" representing the
  16284. // client's request for the ImportKeyPair operation. The "output" return
  16285. // value will be populated with the request's response once the request completes
  16286. // successfuly.
  16287. //
  16288. // Use "Send" method on the returned Request to send the API call to the service.
  16289. // the "output" return value is not valid until after Send returns without error.
  16290. //
  16291. // See ImportKeyPair for more information on using the ImportKeyPair
  16292. // API call, and error handling.
  16293. //
  16294. // This method is useful when you want to inject custom logic or configuration
  16295. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16296. //
  16297. //
  16298. // // Example sending a request using the ImportKeyPairRequest method.
  16299. // req, resp := client.ImportKeyPairRequest(params)
  16300. //
  16301. // err := req.Send()
  16302. // if err == nil { // resp is now filled
  16303. // fmt.Println(resp)
  16304. // }
  16305. //
  16306. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
  16307. func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
  16308. op := &request.Operation{
  16309. Name: opImportKeyPair,
  16310. HTTPMethod: "POST",
  16311. HTTPPath: "/",
  16312. }
  16313. if input == nil {
  16314. input = &ImportKeyPairInput{}
  16315. }
  16316. output = &ImportKeyPairOutput{}
  16317. req = c.newRequest(op, input, output)
  16318. return
  16319. }
  16320. // ImportKeyPair API operation for Amazon Elastic Compute Cloud.
  16321. //
  16322. // Imports the public key from an RSA key pair that you created with a third-party
  16323. // tool. Compare this with CreateKeyPair, in which AWS creates the key pair
  16324. // and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
  16325. // you create the key pair and give AWS just the public key. The private key
  16326. // is never transferred between you and AWS.
  16327. //
  16328. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  16329. // in the Amazon Elastic Compute Cloud User Guide.
  16330. //
  16331. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16332. // with awserr.Error's Code and Message methods to get detailed information about
  16333. // the error.
  16334. //
  16335. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16336. // API operation ImportKeyPair for usage and error information.
  16337. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
  16338. func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
  16339. req, out := c.ImportKeyPairRequest(input)
  16340. return out, req.Send()
  16341. }
  16342. // ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
  16343. // the ability to pass a context and additional request options.
  16344. //
  16345. // See ImportKeyPair for details on how to use this API operation.
  16346. //
  16347. // The context must be non-nil and will be used for request cancellation. If
  16348. // the context is nil a panic will occur. In the future the SDK may create
  16349. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16350. // for more information on using Contexts.
  16351. func (c *EC2) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
  16352. req, out := c.ImportKeyPairRequest(input)
  16353. req.SetContext(ctx)
  16354. req.ApplyOptions(opts...)
  16355. return out, req.Send()
  16356. }
  16357. const opImportSnapshot = "ImportSnapshot"
  16358. // ImportSnapshotRequest generates a "aws/request.Request" representing the
  16359. // client's request for the ImportSnapshot operation. The "output" return
  16360. // value will be populated with the request's response once the request completes
  16361. // successfuly.
  16362. //
  16363. // Use "Send" method on the returned Request to send the API call to the service.
  16364. // the "output" return value is not valid until after Send returns without error.
  16365. //
  16366. // See ImportSnapshot for more information on using the ImportSnapshot
  16367. // API call, and error handling.
  16368. //
  16369. // This method is useful when you want to inject custom logic or configuration
  16370. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16371. //
  16372. //
  16373. // // Example sending a request using the ImportSnapshotRequest method.
  16374. // req, resp := client.ImportSnapshotRequest(params)
  16375. //
  16376. // err := req.Send()
  16377. // if err == nil { // resp is now filled
  16378. // fmt.Println(resp)
  16379. // }
  16380. //
  16381. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
  16382. func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
  16383. op := &request.Operation{
  16384. Name: opImportSnapshot,
  16385. HTTPMethod: "POST",
  16386. HTTPPath: "/",
  16387. }
  16388. if input == nil {
  16389. input = &ImportSnapshotInput{}
  16390. }
  16391. output = &ImportSnapshotOutput{}
  16392. req = c.newRequest(op, input, output)
  16393. return
  16394. }
  16395. // ImportSnapshot API operation for Amazon Elastic Compute Cloud.
  16396. //
  16397. // Imports a disk into an EBS snapshot.
  16398. //
  16399. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16400. // with awserr.Error's Code and Message methods to get detailed information about
  16401. // the error.
  16402. //
  16403. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16404. // API operation ImportSnapshot for usage and error information.
  16405. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
  16406. func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
  16407. req, out := c.ImportSnapshotRequest(input)
  16408. return out, req.Send()
  16409. }
  16410. // ImportSnapshotWithContext is the same as ImportSnapshot with the addition of
  16411. // the ability to pass a context and additional request options.
  16412. //
  16413. // See ImportSnapshot for details on how to use this API operation.
  16414. //
  16415. // The context must be non-nil and will be used for request cancellation. If
  16416. // the context is nil a panic will occur. In the future the SDK may create
  16417. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16418. // for more information on using Contexts.
  16419. func (c *EC2) ImportSnapshotWithContext(ctx aws.Context, input *ImportSnapshotInput, opts ...request.Option) (*ImportSnapshotOutput, error) {
  16420. req, out := c.ImportSnapshotRequest(input)
  16421. req.SetContext(ctx)
  16422. req.ApplyOptions(opts...)
  16423. return out, req.Send()
  16424. }
  16425. const opImportVolume = "ImportVolume"
  16426. // ImportVolumeRequest generates a "aws/request.Request" representing the
  16427. // client's request for the ImportVolume operation. The "output" return
  16428. // value will be populated with the request's response once the request completes
  16429. // successfuly.
  16430. //
  16431. // Use "Send" method on the returned Request to send the API call to the service.
  16432. // the "output" return value is not valid until after Send returns without error.
  16433. //
  16434. // See ImportVolume for more information on using the ImportVolume
  16435. // API call, and error handling.
  16436. //
  16437. // This method is useful when you want to inject custom logic or configuration
  16438. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16439. //
  16440. //
  16441. // // Example sending a request using the ImportVolumeRequest method.
  16442. // req, resp := client.ImportVolumeRequest(params)
  16443. //
  16444. // err := req.Send()
  16445. // if err == nil { // resp is now filled
  16446. // fmt.Println(resp)
  16447. // }
  16448. //
  16449. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
  16450. func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
  16451. op := &request.Operation{
  16452. Name: opImportVolume,
  16453. HTTPMethod: "POST",
  16454. HTTPPath: "/",
  16455. }
  16456. if input == nil {
  16457. input = &ImportVolumeInput{}
  16458. }
  16459. output = &ImportVolumeOutput{}
  16460. req = c.newRequest(op, input, output)
  16461. return
  16462. }
  16463. // ImportVolume API operation for Amazon Elastic Compute Cloud.
  16464. //
  16465. // Creates an import volume task using metadata from the specified disk image.For
  16466. // more information, see Importing Disks to Amazon EBS (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html).
  16467. //
  16468. // For information about the import manifest referenced by this API action,
  16469. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  16470. //
  16471. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16472. // with awserr.Error's Code and Message methods to get detailed information about
  16473. // the error.
  16474. //
  16475. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16476. // API operation ImportVolume for usage and error information.
  16477. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
  16478. func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
  16479. req, out := c.ImportVolumeRequest(input)
  16480. return out, req.Send()
  16481. }
  16482. // ImportVolumeWithContext is the same as ImportVolume with the addition of
  16483. // the ability to pass a context and additional request options.
  16484. //
  16485. // See ImportVolume for details on how to use this API operation.
  16486. //
  16487. // The context must be non-nil and will be used for request cancellation. If
  16488. // the context is nil a panic will occur. In the future the SDK may create
  16489. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16490. // for more information on using Contexts.
  16491. func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, opts ...request.Option) (*ImportVolumeOutput, error) {
  16492. req, out := c.ImportVolumeRequest(input)
  16493. req.SetContext(ctx)
  16494. req.ApplyOptions(opts...)
  16495. return out, req.Send()
  16496. }
  16497. const opModifyFleet = "ModifyFleet"
  16498. // ModifyFleetRequest generates a "aws/request.Request" representing the
  16499. // client's request for the ModifyFleet operation. The "output" return
  16500. // value will be populated with the request's response once the request completes
  16501. // successfuly.
  16502. //
  16503. // Use "Send" method on the returned Request to send the API call to the service.
  16504. // the "output" return value is not valid until after Send returns without error.
  16505. //
  16506. // See ModifyFleet for more information on using the ModifyFleet
  16507. // API call, and error handling.
  16508. //
  16509. // This method is useful when you want to inject custom logic or configuration
  16510. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16511. //
  16512. //
  16513. // // Example sending a request using the ModifyFleetRequest method.
  16514. // req, resp := client.ModifyFleetRequest(params)
  16515. //
  16516. // err := req.Send()
  16517. // if err == nil { // resp is now filled
  16518. // fmt.Println(resp)
  16519. // }
  16520. //
  16521. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
  16522. func (c *EC2) ModifyFleetRequest(input *ModifyFleetInput) (req *request.Request, output *ModifyFleetOutput) {
  16523. op := &request.Operation{
  16524. Name: opModifyFleet,
  16525. HTTPMethod: "POST",
  16526. HTTPPath: "/",
  16527. }
  16528. if input == nil {
  16529. input = &ModifyFleetInput{}
  16530. }
  16531. output = &ModifyFleetOutput{}
  16532. req = c.newRequest(op, input, output)
  16533. return
  16534. }
  16535. // ModifyFleet API operation for Amazon Elastic Compute Cloud.
  16536. //
  16537. // Modifies the specified EC2 Fleet.
  16538. //
  16539. // While the EC2 Fleet is being modified, it is in the modifying state.
  16540. //
  16541. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16542. // with awserr.Error's Code and Message methods to get detailed information about
  16543. // the error.
  16544. //
  16545. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16546. // API operation ModifyFleet for usage and error information.
  16547. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
  16548. func (c *EC2) ModifyFleet(input *ModifyFleetInput) (*ModifyFleetOutput, error) {
  16549. req, out := c.ModifyFleetRequest(input)
  16550. return out, req.Send()
  16551. }
  16552. // ModifyFleetWithContext is the same as ModifyFleet with the addition of
  16553. // the ability to pass a context and additional request options.
  16554. //
  16555. // See ModifyFleet for details on how to use this API operation.
  16556. //
  16557. // The context must be non-nil and will be used for request cancellation. If
  16558. // the context is nil a panic will occur. In the future the SDK may create
  16559. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16560. // for more information on using Contexts.
  16561. func (c *EC2) ModifyFleetWithContext(ctx aws.Context, input *ModifyFleetInput, opts ...request.Option) (*ModifyFleetOutput, error) {
  16562. req, out := c.ModifyFleetRequest(input)
  16563. req.SetContext(ctx)
  16564. req.ApplyOptions(opts...)
  16565. return out, req.Send()
  16566. }
  16567. const opModifyFpgaImageAttribute = "ModifyFpgaImageAttribute"
  16568. // ModifyFpgaImageAttributeRequest generates a "aws/request.Request" representing the
  16569. // client's request for the ModifyFpgaImageAttribute operation. The "output" return
  16570. // value will be populated with the request's response once the request completes
  16571. // successfuly.
  16572. //
  16573. // Use "Send" method on the returned Request to send the API call to the service.
  16574. // the "output" return value is not valid until after Send returns without error.
  16575. //
  16576. // See ModifyFpgaImageAttribute for more information on using the ModifyFpgaImageAttribute
  16577. // API call, and error handling.
  16578. //
  16579. // This method is useful when you want to inject custom logic or configuration
  16580. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16581. //
  16582. //
  16583. // // Example sending a request using the ModifyFpgaImageAttributeRequest method.
  16584. // req, resp := client.ModifyFpgaImageAttributeRequest(params)
  16585. //
  16586. // err := req.Send()
  16587. // if err == nil { // resp is now filled
  16588. // fmt.Println(resp)
  16589. // }
  16590. //
  16591. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
  16592. func (c *EC2) ModifyFpgaImageAttributeRequest(input *ModifyFpgaImageAttributeInput) (req *request.Request, output *ModifyFpgaImageAttributeOutput) {
  16593. op := &request.Operation{
  16594. Name: opModifyFpgaImageAttribute,
  16595. HTTPMethod: "POST",
  16596. HTTPPath: "/",
  16597. }
  16598. if input == nil {
  16599. input = &ModifyFpgaImageAttributeInput{}
  16600. }
  16601. output = &ModifyFpgaImageAttributeOutput{}
  16602. req = c.newRequest(op, input, output)
  16603. return
  16604. }
  16605. // ModifyFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
  16606. //
  16607. // Modifies the specified attribute of the specified Amazon FPGA Image (AFI).
  16608. //
  16609. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16610. // with awserr.Error's Code and Message methods to get detailed information about
  16611. // the error.
  16612. //
  16613. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16614. // API operation ModifyFpgaImageAttribute for usage and error information.
  16615. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
  16616. func (c *EC2) ModifyFpgaImageAttribute(input *ModifyFpgaImageAttributeInput) (*ModifyFpgaImageAttributeOutput, error) {
  16617. req, out := c.ModifyFpgaImageAttributeRequest(input)
  16618. return out, req.Send()
  16619. }
  16620. // ModifyFpgaImageAttributeWithContext is the same as ModifyFpgaImageAttribute with the addition of
  16621. // the ability to pass a context and additional request options.
  16622. //
  16623. // See ModifyFpgaImageAttribute for details on how to use this API operation.
  16624. //
  16625. // The context must be non-nil and will be used for request cancellation. If
  16626. // the context is nil a panic will occur. In the future the SDK may create
  16627. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16628. // for more information on using Contexts.
  16629. func (c *EC2) ModifyFpgaImageAttributeWithContext(ctx aws.Context, input *ModifyFpgaImageAttributeInput, opts ...request.Option) (*ModifyFpgaImageAttributeOutput, error) {
  16630. req, out := c.ModifyFpgaImageAttributeRequest(input)
  16631. req.SetContext(ctx)
  16632. req.ApplyOptions(opts...)
  16633. return out, req.Send()
  16634. }
  16635. const opModifyHosts = "ModifyHosts"
  16636. // ModifyHostsRequest generates a "aws/request.Request" representing the
  16637. // client's request for the ModifyHosts operation. The "output" return
  16638. // value will be populated with the request's response once the request completes
  16639. // successfuly.
  16640. //
  16641. // Use "Send" method on the returned Request to send the API call to the service.
  16642. // the "output" return value is not valid until after Send returns without error.
  16643. //
  16644. // See ModifyHosts for more information on using the ModifyHosts
  16645. // API call, and error handling.
  16646. //
  16647. // This method is useful when you want to inject custom logic or configuration
  16648. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16649. //
  16650. //
  16651. // // Example sending a request using the ModifyHostsRequest method.
  16652. // req, resp := client.ModifyHostsRequest(params)
  16653. //
  16654. // err := req.Send()
  16655. // if err == nil { // resp is now filled
  16656. // fmt.Println(resp)
  16657. // }
  16658. //
  16659. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
  16660. func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
  16661. op := &request.Operation{
  16662. Name: opModifyHosts,
  16663. HTTPMethod: "POST",
  16664. HTTPPath: "/",
  16665. }
  16666. if input == nil {
  16667. input = &ModifyHostsInput{}
  16668. }
  16669. output = &ModifyHostsOutput{}
  16670. req = c.newRequest(op, input, output)
  16671. return
  16672. }
  16673. // ModifyHosts API operation for Amazon Elastic Compute Cloud.
  16674. //
  16675. // Modify the auto-placement setting of a Dedicated Host. When auto-placement
  16676. // is enabled, AWS will place instances that you launch with a tenancy of host,
  16677. // but without targeting a specific host ID, onto any available Dedicated Host
  16678. // in your account which has auto-placement enabled. When auto-placement is
  16679. // disabled, you need to provide a host ID if you want the instance to launch
  16680. // onto a specific host. If no host ID is provided, the instance will be launched
  16681. // onto a suitable host which has auto-placement enabled.
  16682. //
  16683. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16684. // with awserr.Error's Code and Message methods to get detailed information about
  16685. // the error.
  16686. //
  16687. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16688. // API operation ModifyHosts for usage and error information.
  16689. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
  16690. func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
  16691. req, out := c.ModifyHostsRequest(input)
  16692. return out, req.Send()
  16693. }
  16694. // ModifyHostsWithContext is the same as ModifyHosts with the addition of
  16695. // the ability to pass a context and additional request options.
  16696. //
  16697. // See ModifyHosts for details on how to use this API operation.
  16698. //
  16699. // The context must be non-nil and will be used for request cancellation. If
  16700. // the context is nil a panic will occur. In the future the SDK may create
  16701. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16702. // for more information on using Contexts.
  16703. func (c *EC2) ModifyHostsWithContext(ctx aws.Context, input *ModifyHostsInput, opts ...request.Option) (*ModifyHostsOutput, error) {
  16704. req, out := c.ModifyHostsRequest(input)
  16705. req.SetContext(ctx)
  16706. req.ApplyOptions(opts...)
  16707. return out, req.Send()
  16708. }
  16709. const opModifyIdFormat = "ModifyIdFormat"
  16710. // ModifyIdFormatRequest generates a "aws/request.Request" representing the
  16711. // client's request for the ModifyIdFormat operation. The "output" return
  16712. // value will be populated with the request's response once the request completes
  16713. // successfuly.
  16714. //
  16715. // Use "Send" method on the returned Request to send the API call to the service.
  16716. // the "output" return value is not valid until after Send returns without error.
  16717. //
  16718. // See ModifyIdFormat for more information on using the ModifyIdFormat
  16719. // API call, and error handling.
  16720. //
  16721. // This method is useful when you want to inject custom logic or configuration
  16722. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16723. //
  16724. //
  16725. // // Example sending a request using the ModifyIdFormatRequest method.
  16726. // req, resp := client.ModifyIdFormatRequest(params)
  16727. //
  16728. // err := req.Send()
  16729. // if err == nil { // resp is now filled
  16730. // fmt.Println(resp)
  16731. // }
  16732. //
  16733. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
  16734. func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
  16735. op := &request.Operation{
  16736. Name: opModifyIdFormat,
  16737. HTTPMethod: "POST",
  16738. HTTPPath: "/",
  16739. }
  16740. if input == nil {
  16741. input = &ModifyIdFormatInput{}
  16742. }
  16743. output = &ModifyIdFormatOutput{}
  16744. req = c.newRequest(op, input, output)
  16745. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16746. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16747. return
  16748. }
  16749. // ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
  16750. //
  16751. // Modifies the ID format for the specified resource on a per-region basis.
  16752. // You can specify that resources should receive longer IDs (17-character IDs)
  16753. // when they are created.
  16754. //
  16755. // This request can only be used to modify longer ID settings for resource types
  16756. // that are within the opt-in period. Resources currently in their opt-in period
  16757. // include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
  16758. // | elastic-ip-association | export-task | flow-log | image | import-task |
  16759. // internet-gateway | network-acl | network-acl-association | network-interface
  16760. // | network-interface-attachment | prefix-list | route-table | route-table-association
  16761. // | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
  16762. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  16763. //
  16764. // This setting applies to the IAM user who makes the request; it does not apply
  16765. // to the entire AWS account. By default, an IAM user defaults to the same settings
  16766. // as the root user. If you're using this action as the root user, then these
  16767. // settings apply to the entire account, unless an IAM user explicitly overrides
  16768. // these settings for themselves. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  16769. // in the Amazon Elastic Compute Cloud User Guide.
  16770. //
  16771. // Resources created with longer IDs are visible to all IAM roles and users,
  16772. // regardless of these settings and provided that they have permission to use
  16773. // the relevant Describe command for the resource type.
  16774. //
  16775. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16776. // with awserr.Error's Code and Message methods to get detailed information about
  16777. // the error.
  16778. //
  16779. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16780. // API operation ModifyIdFormat for usage and error information.
  16781. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
  16782. func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
  16783. req, out := c.ModifyIdFormatRequest(input)
  16784. return out, req.Send()
  16785. }
  16786. // ModifyIdFormatWithContext is the same as ModifyIdFormat with the addition of
  16787. // the ability to pass a context and additional request options.
  16788. //
  16789. // See ModifyIdFormat for details on how to use this API operation.
  16790. //
  16791. // The context must be non-nil and will be used for request cancellation. If
  16792. // the context is nil a panic will occur. In the future the SDK may create
  16793. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16794. // for more information on using Contexts.
  16795. func (c *EC2) ModifyIdFormatWithContext(ctx aws.Context, input *ModifyIdFormatInput, opts ...request.Option) (*ModifyIdFormatOutput, error) {
  16796. req, out := c.ModifyIdFormatRequest(input)
  16797. req.SetContext(ctx)
  16798. req.ApplyOptions(opts...)
  16799. return out, req.Send()
  16800. }
  16801. const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
  16802. // ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
  16803. // client's request for the ModifyIdentityIdFormat operation. The "output" return
  16804. // value will be populated with the request's response once the request completes
  16805. // successfuly.
  16806. //
  16807. // Use "Send" method on the returned Request to send the API call to the service.
  16808. // the "output" return value is not valid until after Send returns without error.
  16809. //
  16810. // See ModifyIdentityIdFormat for more information on using the ModifyIdentityIdFormat
  16811. // API call, and error handling.
  16812. //
  16813. // This method is useful when you want to inject custom logic or configuration
  16814. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16815. //
  16816. //
  16817. // // Example sending a request using the ModifyIdentityIdFormatRequest method.
  16818. // req, resp := client.ModifyIdentityIdFormatRequest(params)
  16819. //
  16820. // err := req.Send()
  16821. // if err == nil { // resp is now filled
  16822. // fmt.Println(resp)
  16823. // }
  16824. //
  16825. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
  16826. func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
  16827. op := &request.Operation{
  16828. Name: opModifyIdentityIdFormat,
  16829. HTTPMethod: "POST",
  16830. HTTPPath: "/",
  16831. }
  16832. if input == nil {
  16833. input = &ModifyIdentityIdFormatInput{}
  16834. }
  16835. output = &ModifyIdentityIdFormatOutput{}
  16836. req = c.newRequest(op, input, output)
  16837. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16838. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16839. return
  16840. }
  16841. // ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  16842. //
  16843. // Modifies the ID format of a resource for a specified IAM user, IAM role,
  16844. // or the root user for an account; or all IAM users, IAM roles, and the root
  16845. // user for an account. You can specify that resources should receive longer
  16846. // IDs (17-character IDs) when they are created.
  16847. //
  16848. // This request can only be used to modify longer ID settings for resource types
  16849. // that are within the opt-in period. Resources currently in their opt-in period
  16850. // include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
  16851. // | elastic-ip-association | export-task | flow-log | image | import-task |
  16852. // internet-gateway | network-acl | network-acl-association | network-interface
  16853. // | network-interface-attachment | prefix-list | route-table | route-table-association
  16854. // | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
  16855. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  16856. //
  16857. // For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  16858. // in the Amazon Elastic Compute Cloud User Guide.
  16859. //
  16860. // This setting applies to the principal specified in the request; it does not
  16861. // apply to the principal that makes the request.
  16862. //
  16863. // Resources created with longer IDs are visible to all IAM roles and users,
  16864. // regardless of these settings and provided that they have permission to use
  16865. // the relevant Describe command for the resource type.
  16866. //
  16867. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16868. // with awserr.Error's Code and Message methods to get detailed information about
  16869. // the error.
  16870. //
  16871. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16872. // API operation ModifyIdentityIdFormat for usage and error information.
  16873. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
  16874. func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
  16875. req, out := c.ModifyIdentityIdFormatRequest(input)
  16876. return out, req.Send()
  16877. }
  16878. // ModifyIdentityIdFormatWithContext is the same as ModifyIdentityIdFormat with the addition of
  16879. // the ability to pass a context and additional request options.
  16880. //
  16881. // See ModifyIdentityIdFormat for details on how to use this API operation.
  16882. //
  16883. // The context must be non-nil and will be used for request cancellation. If
  16884. // the context is nil a panic will occur. In the future the SDK may create
  16885. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16886. // for more information on using Contexts.
  16887. func (c *EC2) ModifyIdentityIdFormatWithContext(ctx aws.Context, input *ModifyIdentityIdFormatInput, opts ...request.Option) (*ModifyIdentityIdFormatOutput, error) {
  16888. req, out := c.ModifyIdentityIdFormatRequest(input)
  16889. req.SetContext(ctx)
  16890. req.ApplyOptions(opts...)
  16891. return out, req.Send()
  16892. }
  16893. const opModifyImageAttribute = "ModifyImageAttribute"
  16894. // ModifyImageAttributeRequest generates a "aws/request.Request" representing the
  16895. // client's request for the ModifyImageAttribute operation. The "output" return
  16896. // value will be populated with the request's response once the request completes
  16897. // successfuly.
  16898. //
  16899. // Use "Send" method on the returned Request to send the API call to the service.
  16900. // the "output" return value is not valid until after Send returns without error.
  16901. //
  16902. // See ModifyImageAttribute for more information on using the ModifyImageAttribute
  16903. // API call, and error handling.
  16904. //
  16905. // This method is useful when you want to inject custom logic or configuration
  16906. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16907. //
  16908. //
  16909. // // Example sending a request using the ModifyImageAttributeRequest method.
  16910. // req, resp := client.ModifyImageAttributeRequest(params)
  16911. //
  16912. // err := req.Send()
  16913. // if err == nil { // resp is now filled
  16914. // fmt.Println(resp)
  16915. // }
  16916. //
  16917. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
  16918. func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
  16919. op := &request.Operation{
  16920. Name: opModifyImageAttribute,
  16921. HTTPMethod: "POST",
  16922. HTTPPath: "/",
  16923. }
  16924. if input == nil {
  16925. input = &ModifyImageAttributeInput{}
  16926. }
  16927. output = &ModifyImageAttributeOutput{}
  16928. req = c.newRequest(op, input, output)
  16929. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16930. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16931. return
  16932. }
  16933. // ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
  16934. //
  16935. // Modifies the specified attribute of the specified AMI. You can specify only
  16936. // one attribute at a time. You can use the Attribute parameter to specify the
  16937. // attribute or one of the following parameters: Description, LaunchPermission,
  16938. // or ProductCode.
  16939. //
  16940. // AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
  16941. // product code cannot be made public.
  16942. //
  16943. // To enable the SriovNetSupport enhanced networking attribute of an image,
  16944. // enable SriovNetSupport on an instance and create an AMI from the instance.
  16945. //
  16946. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16947. // with awserr.Error's Code and Message methods to get detailed information about
  16948. // the error.
  16949. //
  16950. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16951. // API operation ModifyImageAttribute for usage and error information.
  16952. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
  16953. func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
  16954. req, out := c.ModifyImageAttributeRequest(input)
  16955. return out, req.Send()
  16956. }
  16957. // ModifyImageAttributeWithContext is the same as ModifyImageAttribute with the addition of
  16958. // the ability to pass a context and additional request options.
  16959. //
  16960. // See ModifyImageAttribute for details on how to use this API operation.
  16961. //
  16962. // The context must be non-nil and will be used for request cancellation. If
  16963. // the context is nil a panic will occur. In the future the SDK may create
  16964. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16965. // for more information on using Contexts.
  16966. func (c *EC2) ModifyImageAttributeWithContext(ctx aws.Context, input *ModifyImageAttributeInput, opts ...request.Option) (*ModifyImageAttributeOutput, error) {
  16967. req, out := c.ModifyImageAttributeRequest(input)
  16968. req.SetContext(ctx)
  16969. req.ApplyOptions(opts...)
  16970. return out, req.Send()
  16971. }
  16972. const opModifyInstanceAttribute = "ModifyInstanceAttribute"
  16973. // ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
  16974. // client's request for the ModifyInstanceAttribute operation. The "output" return
  16975. // value will be populated with the request's response once the request completes
  16976. // successfuly.
  16977. //
  16978. // Use "Send" method on the returned Request to send the API call to the service.
  16979. // the "output" return value is not valid until after Send returns without error.
  16980. //
  16981. // See ModifyInstanceAttribute for more information on using the ModifyInstanceAttribute
  16982. // API call, and error handling.
  16983. //
  16984. // This method is useful when you want to inject custom logic or configuration
  16985. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16986. //
  16987. //
  16988. // // Example sending a request using the ModifyInstanceAttributeRequest method.
  16989. // req, resp := client.ModifyInstanceAttributeRequest(params)
  16990. //
  16991. // err := req.Send()
  16992. // if err == nil { // resp is now filled
  16993. // fmt.Println(resp)
  16994. // }
  16995. //
  16996. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
  16997. func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
  16998. op := &request.Operation{
  16999. Name: opModifyInstanceAttribute,
  17000. HTTPMethod: "POST",
  17001. HTTPPath: "/",
  17002. }
  17003. if input == nil {
  17004. input = &ModifyInstanceAttributeInput{}
  17005. }
  17006. output = &ModifyInstanceAttributeOutput{}
  17007. req = c.newRequest(op, input, output)
  17008. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17009. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17010. return
  17011. }
  17012. // ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  17013. //
  17014. // Modifies the specified attribute of the specified instance. You can specify
  17015. // only one attribute at a time.
  17016. //
  17017. // Note: Using this action to change the security groups associated with an
  17018. // elastic network interface (ENI) attached to an instance in a VPC can result
  17019. // in an error if the instance has more than one ENI. To change the security
  17020. // groups associated with an ENI attached to an instance that has multiple ENIs,
  17021. // we recommend that you use the ModifyNetworkInterfaceAttribute action.
  17022. //
  17023. // To modify some attributes, the instance must be stopped. For more information,
  17024. // see Modifying Attributes of a Stopped Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
  17025. // in the Amazon Elastic Compute Cloud User Guide.
  17026. //
  17027. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17028. // with awserr.Error's Code and Message methods to get detailed information about
  17029. // the error.
  17030. //
  17031. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17032. // API operation ModifyInstanceAttribute for usage and error information.
  17033. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
  17034. func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
  17035. req, out := c.ModifyInstanceAttributeRequest(input)
  17036. return out, req.Send()
  17037. }
  17038. // ModifyInstanceAttributeWithContext is the same as ModifyInstanceAttribute with the addition of
  17039. // the ability to pass a context and additional request options.
  17040. //
  17041. // See ModifyInstanceAttribute for details on how to use this API operation.
  17042. //
  17043. // The context must be non-nil and will be used for request cancellation. If
  17044. // the context is nil a panic will occur. In the future the SDK may create
  17045. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17046. // for more information on using Contexts.
  17047. func (c *EC2) ModifyInstanceAttributeWithContext(ctx aws.Context, input *ModifyInstanceAttributeInput, opts ...request.Option) (*ModifyInstanceAttributeOutput, error) {
  17048. req, out := c.ModifyInstanceAttributeRequest(input)
  17049. req.SetContext(ctx)
  17050. req.ApplyOptions(opts...)
  17051. return out, req.Send()
  17052. }
  17053. const opModifyInstanceCreditSpecification = "ModifyInstanceCreditSpecification"
  17054. // ModifyInstanceCreditSpecificationRequest generates a "aws/request.Request" representing the
  17055. // client's request for the ModifyInstanceCreditSpecification operation. The "output" return
  17056. // value will be populated with the request's response once the request completes
  17057. // successfuly.
  17058. //
  17059. // Use "Send" method on the returned Request to send the API call to the service.
  17060. // the "output" return value is not valid until after Send returns without error.
  17061. //
  17062. // See ModifyInstanceCreditSpecification for more information on using the ModifyInstanceCreditSpecification
  17063. // API call, and error handling.
  17064. //
  17065. // This method is useful when you want to inject custom logic or configuration
  17066. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17067. //
  17068. //
  17069. // // Example sending a request using the ModifyInstanceCreditSpecificationRequest method.
  17070. // req, resp := client.ModifyInstanceCreditSpecificationRequest(params)
  17071. //
  17072. // err := req.Send()
  17073. // if err == nil { // resp is now filled
  17074. // fmt.Println(resp)
  17075. // }
  17076. //
  17077. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
  17078. func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCreditSpecificationInput) (req *request.Request, output *ModifyInstanceCreditSpecificationOutput) {
  17079. op := &request.Operation{
  17080. Name: opModifyInstanceCreditSpecification,
  17081. HTTPMethod: "POST",
  17082. HTTPPath: "/",
  17083. }
  17084. if input == nil {
  17085. input = &ModifyInstanceCreditSpecificationInput{}
  17086. }
  17087. output = &ModifyInstanceCreditSpecificationOutput{}
  17088. req = c.newRequest(op, input, output)
  17089. return
  17090. }
  17091. // ModifyInstanceCreditSpecification API operation for Amazon Elastic Compute Cloud.
  17092. //
  17093. // Modifies the credit option for CPU usage on a running or stopped T2 instance.
  17094. // The credit options are standard and unlimited.
  17095. //
  17096. // For more information, see T2 Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html)
  17097. // in the Amazon Elastic Compute Cloud User Guide.
  17098. //
  17099. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17100. // with awserr.Error's Code and Message methods to get detailed information about
  17101. // the error.
  17102. //
  17103. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17104. // API operation ModifyInstanceCreditSpecification for usage and error information.
  17105. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
  17106. func (c *EC2) ModifyInstanceCreditSpecification(input *ModifyInstanceCreditSpecificationInput) (*ModifyInstanceCreditSpecificationOutput, error) {
  17107. req, out := c.ModifyInstanceCreditSpecificationRequest(input)
  17108. return out, req.Send()
  17109. }
  17110. // ModifyInstanceCreditSpecificationWithContext is the same as ModifyInstanceCreditSpecification with the addition of
  17111. // the ability to pass a context and additional request options.
  17112. //
  17113. // See ModifyInstanceCreditSpecification for details on how to use this API operation.
  17114. //
  17115. // The context must be non-nil and will be used for request cancellation. If
  17116. // the context is nil a panic will occur. In the future the SDK may create
  17117. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17118. // for more information on using Contexts.
  17119. func (c *EC2) ModifyInstanceCreditSpecificationWithContext(ctx aws.Context, input *ModifyInstanceCreditSpecificationInput, opts ...request.Option) (*ModifyInstanceCreditSpecificationOutput, error) {
  17120. req, out := c.ModifyInstanceCreditSpecificationRequest(input)
  17121. req.SetContext(ctx)
  17122. req.ApplyOptions(opts...)
  17123. return out, req.Send()
  17124. }
  17125. const opModifyInstancePlacement = "ModifyInstancePlacement"
  17126. // ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
  17127. // client's request for the ModifyInstancePlacement operation. The "output" return
  17128. // value will be populated with the request's response once the request completes
  17129. // successfuly.
  17130. //
  17131. // Use "Send" method on the returned Request to send the API call to the service.
  17132. // the "output" return value is not valid until after Send returns without error.
  17133. //
  17134. // See ModifyInstancePlacement for more information on using the ModifyInstancePlacement
  17135. // API call, and error handling.
  17136. //
  17137. // This method is useful when you want to inject custom logic or configuration
  17138. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17139. //
  17140. //
  17141. // // Example sending a request using the ModifyInstancePlacementRequest method.
  17142. // req, resp := client.ModifyInstancePlacementRequest(params)
  17143. //
  17144. // err := req.Send()
  17145. // if err == nil { // resp is now filled
  17146. // fmt.Println(resp)
  17147. // }
  17148. //
  17149. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
  17150. func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
  17151. op := &request.Operation{
  17152. Name: opModifyInstancePlacement,
  17153. HTTPMethod: "POST",
  17154. HTTPPath: "/",
  17155. }
  17156. if input == nil {
  17157. input = &ModifyInstancePlacementInput{}
  17158. }
  17159. output = &ModifyInstancePlacementOutput{}
  17160. req = c.newRequest(op, input, output)
  17161. return
  17162. }
  17163. // ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
  17164. //
  17165. // Modifies the placement attributes for a specified instance. You can do the
  17166. // following:
  17167. //
  17168. // * Modify the affinity between an instance and a Dedicated Host (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html).
  17169. // When affinity is set to host and the instance is not associated with a
  17170. // specific Dedicated Host, the next time the instance is launched, it is
  17171. // automatically associated with the host on which it lands. If the instance
  17172. // is restarted or rebooted, this relationship persists.
  17173. //
  17174. // * Change the Dedicated Host with which an instance is associated.
  17175. //
  17176. // * Change the instance tenancy of an instance from host to dedicated, or
  17177. // from dedicated to host.
  17178. //
  17179. // * Move an instance to or from a placement group (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html).
  17180. //
  17181. // At least one attribute for affinity, host ID, tenancy, or placement group
  17182. // name must be specified in the request. Affinity and tenancy can be modified
  17183. // in the same request.
  17184. //
  17185. // To modify the host ID, tenancy, or placement group for an instance, the instance
  17186. // must be in the stopped state.
  17187. //
  17188. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17189. // with awserr.Error's Code and Message methods to get detailed information about
  17190. // the error.
  17191. //
  17192. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17193. // API operation ModifyInstancePlacement for usage and error information.
  17194. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
  17195. func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
  17196. req, out := c.ModifyInstancePlacementRequest(input)
  17197. return out, req.Send()
  17198. }
  17199. // ModifyInstancePlacementWithContext is the same as ModifyInstancePlacement with the addition of
  17200. // the ability to pass a context and additional request options.
  17201. //
  17202. // See ModifyInstancePlacement for details on how to use this API operation.
  17203. //
  17204. // The context must be non-nil and will be used for request cancellation. If
  17205. // the context is nil a panic will occur. In the future the SDK may create
  17206. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17207. // for more information on using Contexts.
  17208. func (c *EC2) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyInstancePlacementInput, opts ...request.Option) (*ModifyInstancePlacementOutput, error) {
  17209. req, out := c.ModifyInstancePlacementRequest(input)
  17210. req.SetContext(ctx)
  17211. req.ApplyOptions(opts...)
  17212. return out, req.Send()
  17213. }
  17214. const opModifyLaunchTemplate = "ModifyLaunchTemplate"
  17215. // ModifyLaunchTemplateRequest generates a "aws/request.Request" representing the
  17216. // client's request for the ModifyLaunchTemplate operation. The "output" return
  17217. // value will be populated with the request's response once the request completes
  17218. // successfuly.
  17219. //
  17220. // Use "Send" method on the returned Request to send the API call to the service.
  17221. // the "output" return value is not valid until after Send returns without error.
  17222. //
  17223. // See ModifyLaunchTemplate for more information on using the ModifyLaunchTemplate
  17224. // API call, and error handling.
  17225. //
  17226. // This method is useful when you want to inject custom logic or configuration
  17227. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17228. //
  17229. //
  17230. // // Example sending a request using the ModifyLaunchTemplateRequest method.
  17231. // req, resp := client.ModifyLaunchTemplateRequest(params)
  17232. //
  17233. // err := req.Send()
  17234. // if err == nil { // resp is now filled
  17235. // fmt.Println(resp)
  17236. // }
  17237. //
  17238. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
  17239. func (c *EC2) ModifyLaunchTemplateRequest(input *ModifyLaunchTemplateInput) (req *request.Request, output *ModifyLaunchTemplateOutput) {
  17240. op := &request.Operation{
  17241. Name: opModifyLaunchTemplate,
  17242. HTTPMethod: "POST",
  17243. HTTPPath: "/",
  17244. }
  17245. if input == nil {
  17246. input = &ModifyLaunchTemplateInput{}
  17247. }
  17248. output = &ModifyLaunchTemplateOutput{}
  17249. req = c.newRequest(op, input, output)
  17250. return
  17251. }
  17252. // ModifyLaunchTemplate API operation for Amazon Elastic Compute Cloud.
  17253. //
  17254. // Modifies a launch template. You can specify which version of the launch template
  17255. // to set as the default version. When launching an instance, the default version
  17256. // applies when a launch template version is not specified.
  17257. //
  17258. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17259. // with awserr.Error's Code and Message methods to get detailed information about
  17260. // the error.
  17261. //
  17262. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17263. // API operation ModifyLaunchTemplate for usage and error information.
  17264. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
  17265. func (c *EC2) ModifyLaunchTemplate(input *ModifyLaunchTemplateInput) (*ModifyLaunchTemplateOutput, error) {
  17266. req, out := c.ModifyLaunchTemplateRequest(input)
  17267. return out, req.Send()
  17268. }
  17269. // ModifyLaunchTemplateWithContext is the same as ModifyLaunchTemplate with the addition of
  17270. // the ability to pass a context and additional request options.
  17271. //
  17272. // See ModifyLaunchTemplate for details on how to use this API operation.
  17273. //
  17274. // The context must be non-nil and will be used for request cancellation. If
  17275. // the context is nil a panic will occur. In the future the SDK may create
  17276. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17277. // for more information on using Contexts.
  17278. func (c *EC2) ModifyLaunchTemplateWithContext(ctx aws.Context, input *ModifyLaunchTemplateInput, opts ...request.Option) (*ModifyLaunchTemplateOutput, error) {
  17279. req, out := c.ModifyLaunchTemplateRequest(input)
  17280. req.SetContext(ctx)
  17281. req.ApplyOptions(opts...)
  17282. return out, req.Send()
  17283. }
  17284. const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
  17285. // ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  17286. // client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
  17287. // value will be populated with the request's response once the request completes
  17288. // successfuly.
  17289. //
  17290. // Use "Send" method on the returned Request to send the API call to the service.
  17291. // the "output" return value is not valid until after Send returns without error.
  17292. //
  17293. // See ModifyNetworkInterfaceAttribute for more information on using the ModifyNetworkInterfaceAttribute
  17294. // API call, and error handling.
  17295. //
  17296. // This method is useful when you want to inject custom logic or configuration
  17297. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17298. //
  17299. //
  17300. // // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
  17301. // req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
  17302. //
  17303. // err := req.Send()
  17304. // if err == nil { // resp is now filled
  17305. // fmt.Println(resp)
  17306. // }
  17307. //
  17308. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
  17309. func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
  17310. op := &request.Operation{
  17311. Name: opModifyNetworkInterfaceAttribute,
  17312. HTTPMethod: "POST",
  17313. HTTPPath: "/",
  17314. }
  17315. if input == nil {
  17316. input = &ModifyNetworkInterfaceAttributeInput{}
  17317. }
  17318. output = &ModifyNetworkInterfaceAttributeOutput{}
  17319. req = c.newRequest(op, input, output)
  17320. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17321. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17322. return
  17323. }
  17324. // ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  17325. //
  17326. // Modifies the specified network interface attribute. You can specify only
  17327. // one attribute at a time.
  17328. //
  17329. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17330. // with awserr.Error's Code and Message methods to get detailed information about
  17331. // the error.
  17332. //
  17333. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17334. // API operation ModifyNetworkInterfaceAttribute for usage and error information.
  17335. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
  17336. func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
  17337. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  17338. return out, req.Send()
  17339. }
  17340. // ModifyNetworkInterfaceAttributeWithContext is the same as ModifyNetworkInterfaceAttribute with the addition of
  17341. // the ability to pass a context and additional request options.
  17342. //
  17343. // See ModifyNetworkInterfaceAttribute for details on how to use this API operation.
  17344. //
  17345. // The context must be non-nil and will be used for request cancellation. If
  17346. // the context is nil a panic will occur. In the future the SDK may create
  17347. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17348. // for more information on using Contexts.
  17349. func (c *EC2) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ModifyNetworkInterfaceAttributeInput, opts ...request.Option) (*ModifyNetworkInterfaceAttributeOutput, error) {
  17350. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  17351. req.SetContext(ctx)
  17352. req.ApplyOptions(opts...)
  17353. return out, req.Send()
  17354. }
  17355. const opModifyReservedInstances = "ModifyReservedInstances"
  17356. // ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
  17357. // client's request for the ModifyReservedInstances operation. The "output" return
  17358. // value will be populated with the request's response once the request completes
  17359. // successfuly.
  17360. //
  17361. // Use "Send" method on the returned Request to send the API call to the service.
  17362. // the "output" return value is not valid until after Send returns without error.
  17363. //
  17364. // See ModifyReservedInstances for more information on using the ModifyReservedInstances
  17365. // API call, and error handling.
  17366. //
  17367. // This method is useful when you want to inject custom logic or configuration
  17368. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17369. //
  17370. //
  17371. // // Example sending a request using the ModifyReservedInstancesRequest method.
  17372. // req, resp := client.ModifyReservedInstancesRequest(params)
  17373. //
  17374. // err := req.Send()
  17375. // if err == nil { // resp is now filled
  17376. // fmt.Println(resp)
  17377. // }
  17378. //
  17379. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
  17380. func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
  17381. op := &request.Operation{
  17382. Name: opModifyReservedInstances,
  17383. HTTPMethod: "POST",
  17384. HTTPPath: "/",
  17385. }
  17386. if input == nil {
  17387. input = &ModifyReservedInstancesInput{}
  17388. }
  17389. output = &ModifyReservedInstancesOutput{}
  17390. req = c.newRequest(op, input, output)
  17391. return
  17392. }
  17393. // ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
  17394. //
  17395. // Modifies the Availability Zone, instance count, instance type, or network
  17396. // platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
  17397. // Instances to be modified must be identical, except for Availability Zone,
  17398. // network platform, and instance type.
  17399. //
  17400. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  17401. // in the Amazon Elastic Compute Cloud User Guide.
  17402. //
  17403. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17404. // with awserr.Error's Code and Message methods to get detailed information about
  17405. // the error.
  17406. //
  17407. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17408. // API operation ModifyReservedInstances for usage and error information.
  17409. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
  17410. func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
  17411. req, out := c.ModifyReservedInstancesRequest(input)
  17412. return out, req.Send()
  17413. }
  17414. // ModifyReservedInstancesWithContext is the same as ModifyReservedInstances with the addition of
  17415. // the ability to pass a context and additional request options.
  17416. //
  17417. // See ModifyReservedInstances for details on how to use this API operation.
  17418. //
  17419. // The context must be non-nil and will be used for request cancellation. If
  17420. // the context is nil a panic will occur. In the future the SDK may create
  17421. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17422. // for more information on using Contexts.
  17423. func (c *EC2) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyReservedInstancesInput, opts ...request.Option) (*ModifyReservedInstancesOutput, error) {
  17424. req, out := c.ModifyReservedInstancesRequest(input)
  17425. req.SetContext(ctx)
  17426. req.ApplyOptions(opts...)
  17427. return out, req.Send()
  17428. }
  17429. const opModifySnapshotAttribute = "ModifySnapshotAttribute"
  17430. // ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
  17431. // client's request for the ModifySnapshotAttribute operation. The "output" return
  17432. // value will be populated with the request's response once the request completes
  17433. // successfuly.
  17434. //
  17435. // Use "Send" method on the returned Request to send the API call to the service.
  17436. // the "output" return value is not valid until after Send returns without error.
  17437. //
  17438. // See ModifySnapshotAttribute for more information on using the ModifySnapshotAttribute
  17439. // API call, and error handling.
  17440. //
  17441. // This method is useful when you want to inject custom logic or configuration
  17442. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17443. //
  17444. //
  17445. // // Example sending a request using the ModifySnapshotAttributeRequest method.
  17446. // req, resp := client.ModifySnapshotAttributeRequest(params)
  17447. //
  17448. // err := req.Send()
  17449. // if err == nil { // resp is now filled
  17450. // fmt.Println(resp)
  17451. // }
  17452. //
  17453. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
  17454. func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
  17455. op := &request.Operation{
  17456. Name: opModifySnapshotAttribute,
  17457. HTTPMethod: "POST",
  17458. HTTPPath: "/",
  17459. }
  17460. if input == nil {
  17461. input = &ModifySnapshotAttributeInput{}
  17462. }
  17463. output = &ModifySnapshotAttributeOutput{}
  17464. req = c.newRequest(op, input, output)
  17465. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17466. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17467. return
  17468. }
  17469. // ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  17470. //
  17471. // Adds or removes permission settings for the specified snapshot. You may add
  17472. // or remove specified AWS account IDs from a snapshot's list of create volume
  17473. // permissions, but you cannot do both in a single API call. If you need to
  17474. // both add and remove account IDs for a snapshot, you must use multiple API
  17475. // calls.
  17476. //
  17477. // Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
  17478. // be made public. Snapshots encrypted with your default CMK cannot be shared
  17479. // with other accounts.
  17480. //
  17481. // For more information on modifying snapshot permissions, see Sharing Snapshots
  17482. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  17483. // in the Amazon Elastic Compute Cloud User Guide.
  17484. //
  17485. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17486. // with awserr.Error's Code and Message methods to get detailed information about
  17487. // the error.
  17488. //
  17489. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17490. // API operation ModifySnapshotAttribute for usage and error information.
  17491. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
  17492. func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
  17493. req, out := c.ModifySnapshotAttributeRequest(input)
  17494. return out, req.Send()
  17495. }
  17496. // ModifySnapshotAttributeWithContext is the same as ModifySnapshotAttribute with the addition of
  17497. // the ability to pass a context and additional request options.
  17498. //
  17499. // See ModifySnapshotAttribute for details on how to use this API operation.
  17500. //
  17501. // The context must be non-nil and will be used for request cancellation. If
  17502. // the context is nil a panic will occur. In the future the SDK may create
  17503. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17504. // for more information on using Contexts.
  17505. func (c *EC2) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifySnapshotAttributeInput, opts ...request.Option) (*ModifySnapshotAttributeOutput, error) {
  17506. req, out := c.ModifySnapshotAttributeRequest(input)
  17507. req.SetContext(ctx)
  17508. req.ApplyOptions(opts...)
  17509. return out, req.Send()
  17510. }
  17511. const opModifySpotFleetRequest = "ModifySpotFleetRequest"
  17512. // ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
  17513. // client's request for the ModifySpotFleetRequest operation. The "output" return
  17514. // value will be populated with the request's response once the request completes
  17515. // successfuly.
  17516. //
  17517. // Use "Send" method on the returned Request to send the API call to the service.
  17518. // the "output" return value is not valid until after Send returns without error.
  17519. //
  17520. // See ModifySpotFleetRequest for more information on using the ModifySpotFleetRequest
  17521. // API call, and error handling.
  17522. //
  17523. // This method is useful when you want to inject custom logic or configuration
  17524. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17525. //
  17526. //
  17527. // // Example sending a request using the ModifySpotFleetRequestRequest method.
  17528. // req, resp := client.ModifySpotFleetRequestRequest(params)
  17529. //
  17530. // err := req.Send()
  17531. // if err == nil { // resp is now filled
  17532. // fmt.Println(resp)
  17533. // }
  17534. //
  17535. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
  17536. func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
  17537. op := &request.Operation{
  17538. Name: opModifySpotFleetRequest,
  17539. HTTPMethod: "POST",
  17540. HTTPPath: "/",
  17541. }
  17542. if input == nil {
  17543. input = &ModifySpotFleetRequestInput{}
  17544. }
  17545. output = &ModifySpotFleetRequestOutput{}
  17546. req = c.newRequest(op, input, output)
  17547. return
  17548. }
  17549. // ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
  17550. //
  17551. // Modifies the specified Spot Fleet request.
  17552. //
  17553. // While the Spot Fleet request is being modified, it is in the modifying state.
  17554. //
  17555. // To scale up your Spot Fleet, increase its target capacity. The Spot Fleet
  17556. // launches the additional Spot Instances according to the allocation strategy
  17557. // for the Spot Fleet request. If the allocation strategy is lowestPrice, the
  17558. // Spot Fleet launches instances using the Spot pool with the lowest price.
  17559. // If the allocation strategy is diversified, the Spot Fleet distributes the
  17560. // instances across the Spot pools.
  17561. //
  17562. // To scale down your Spot Fleet, decrease its target capacity. First, the Spot
  17563. // Fleet cancels any open requests that exceed the new target capacity. You
  17564. // can request that the Spot Fleet terminate Spot Instances until the size of
  17565. // the fleet no longer exceeds the new target capacity. If the allocation strategy
  17566. // is lowestPrice, the Spot Fleet terminates the instances with the highest
  17567. // price per unit. If the allocation strategy is diversified, the Spot Fleet
  17568. // terminates instances across the Spot pools. Alternatively, you can request
  17569. // that the Spot Fleet keep the fleet at its current size, but not replace any
  17570. // Spot Instances that are interrupted or that you terminate manually.
  17571. //
  17572. // If you are finished with your Spot Fleet for now, but will use it again later,
  17573. // you can set the target capacity to 0.
  17574. //
  17575. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17576. // with awserr.Error's Code and Message methods to get detailed information about
  17577. // the error.
  17578. //
  17579. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17580. // API operation ModifySpotFleetRequest for usage and error information.
  17581. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
  17582. func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
  17583. req, out := c.ModifySpotFleetRequestRequest(input)
  17584. return out, req.Send()
  17585. }
  17586. // ModifySpotFleetRequestWithContext is the same as ModifySpotFleetRequest with the addition of
  17587. // the ability to pass a context and additional request options.
  17588. //
  17589. // See ModifySpotFleetRequest for details on how to use this API operation.
  17590. //
  17591. // The context must be non-nil and will be used for request cancellation. If
  17592. // the context is nil a panic will occur. In the future the SDK may create
  17593. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17594. // for more information on using Contexts.
  17595. func (c *EC2) ModifySpotFleetRequestWithContext(ctx aws.Context, input *ModifySpotFleetRequestInput, opts ...request.Option) (*ModifySpotFleetRequestOutput, error) {
  17596. req, out := c.ModifySpotFleetRequestRequest(input)
  17597. req.SetContext(ctx)
  17598. req.ApplyOptions(opts...)
  17599. return out, req.Send()
  17600. }
  17601. const opModifySubnetAttribute = "ModifySubnetAttribute"
  17602. // ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
  17603. // client's request for the ModifySubnetAttribute operation. The "output" return
  17604. // value will be populated with the request's response once the request completes
  17605. // successfuly.
  17606. //
  17607. // Use "Send" method on the returned Request to send the API call to the service.
  17608. // the "output" return value is not valid until after Send returns without error.
  17609. //
  17610. // See ModifySubnetAttribute for more information on using the ModifySubnetAttribute
  17611. // API call, and error handling.
  17612. //
  17613. // This method is useful when you want to inject custom logic or configuration
  17614. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17615. //
  17616. //
  17617. // // Example sending a request using the ModifySubnetAttributeRequest method.
  17618. // req, resp := client.ModifySubnetAttributeRequest(params)
  17619. //
  17620. // err := req.Send()
  17621. // if err == nil { // resp is now filled
  17622. // fmt.Println(resp)
  17623. // }
  17624. //
  17625. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
  17626. func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
  17627. op := &request.Operation{
  17628. Name: opModifySubnetAttribute,
  17629. HTTPMethod: "POST",
  17630. HTTPPath: "/",
  17631. }
  17632. if input == nil {
  17633. input = &ModifySubnetAttributeInput{}
  17634. }
  17635. output = &ModifySubnetAttributeOutput{}
  17636. req = c.newRequest(op, input, output)
  17637. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17638. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17639. return
  17640. }
  17641. // ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
  17642. //
  17643. // Modifies a subnet attribute. You can only modify one attribute at a time.
  17644. //
  17645. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17646. // with awserr.Error's Code and Message methods to get detailed information about
  17647. // the error.
  17648. //
  17649. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17650. // API operation ModifySubnetAttribute for usage and error information.
  17651. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
  17652. func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
  17653. req, out := c.ModifySubnetAttributeRequest(input)
  17654. return out, req.Send()
  17655. }
  17656. // ModifySubnetAttributeWithContext is the same as ModifySubnetAttribute with the addition of
  17657. // the ability to pass a context and additional request options.
  17658. //
  17659. // See ModifySubnetAttribute for details on how to use this API operation.
  17660. //
  17661. // The context must be non-nil and will be used for request cancellation. If
  17662. // the context is nil a panic will occur. In the future the SDK may create
  17663. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17664. // for more information on using Contexts.
  17665. func (c *EC2) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySubnetAttributeInput, opts ...request.Option) (*ModifySubnetAttributeOutput, error) {
  17666. req, out := c.ModifySubnetAttributeRequest(input)
  17667. req.SetContext(ctx)
  17668. req.ApplyOptions(opts...)
  17669. return out, req.Send()
  17670. }
  17671. const opModifyVolume = "ModifyVolume"
  17672. // ModifyVolumeRequest generates a "aws/request.Request" representing the
  17673. // client's request for the ModifyVolume operation. The "output" return
  17674. // value will be populated with the request's response once the request completes
  17675. // successfuly.
  17676. //
  17677. // Use "Send" method on the returned Request to send the API call to the service.
  17678. // the "output" return value is not valid until after Send returns without error.
  17679. //
  17680. // See ModifyVolume for more information on using the ModifyVolume
  17681. // API call, and error handling.
  17682. //
  17683. // This method is useful when you want to inject custom logic or configuration
  17684. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17685. //
  17686. //
  17687. // // Example sending a request using the ModifyVolumeRequest method.
  17688. // req, resp := client.ModifyVolumeRequest(params)
  17689. //
  17690. // err := req.Send()
  17691. // if err == nil { // resp is now filled
  17692. // fmt.Println(resp)
  17693. // }
  17694. //
  17695. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
  17696. func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Request, output *ModifyVolumeOutput) {
  17697. op := &request.Operation{
  17698. Name: opModifyVolume,
  17699. HTTPMethod: "POST",
  17700. HTTPPath: "/",
  17701. }
  17702. if input == nil {
  17703. input = &ModifyVolumeInput{}
  17704. }
  17705. output = &ModifyVolumeOutput{}
  17706. req = c.newRequest(op, input, output)
  17707. return
  17708. }
  17709. // ModifyVolume API operation for Amazon Elastic Compute Cloud.
  17710. //
  17711. // You can modify several parameters of an existing EBS volume, including volume
  17712. // size, volume type, and IOPS capacity. If your EBS volume is attached to a
  17713. // current-generation EC2 instance type, you may be able to apply these changes
  17714. // without stopping the instance or detaching the volume from it. For more information
  17715. // about modifying an EBS volume running Linux, see Modifying the Size, IOPS,
  17716. // or Type of an EBS Volume on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
  17717. // For more information about modifying an EBS volume running Windows, see Modifying
  17718. // the Size, IOPS, or Type of an EBS Volume on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
  17719. //
  17720. // When you complete a resize operation on your volume, you need to extend the
  17721. // volume's file-system size to take advantage of the new storage capacity.
  17722. // For information about extending a Linux file system, see Extending a Linux
  17723. // File System (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux).
  17724. // For information about extending a Windows file system, see Extending a Windows
  17725. // File System (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows).
  17726. //
  17727. // You can use CloudWatch Events to check the status of a modification to an
  17728. // EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch
  17729. // Events User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
  17730. // You can also track the status of a modification using the DescribeVolumesModifications
  17731. // API. For information about tracking status changes using either method, see
  17732. // Monitoring Volume Modifications (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
  17733. //
  17734. // With previous-generation instance types, resizing an EBS volume may require
  17735. // detaching and reattaching the volume or stopping and restarting the instance.
  17736. // For more information about modifying an EBS volume running Linux, see Modifying
  17737. // the Size, IOPS, or Type of an EBS Volume on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
  17738. // For more information about modifying an EBS volume running Windows, see Modifying
  17739. // the Size, IOPS, or Type of an EBS Volume on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
  17740. //
  17741. // If you reach the maximum volume modification rate per volume limit, you will
  17742. // need to wait at least six hours before applying further modifications to
  17743. // the affected EBS volume.
  17744. //
  17745. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17746. // with awserr.Error's Code and Message methods to get detailed information about
  17747. // the error.
  17748. //
  17749. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17750. // API operation ModifyVolume for usage and error information.
  17751. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
  17752. func (c *EC2) ModifyVolume(input *ModifyVolumeInput) (*ModifyVolumeOutput, error) {
  17753. req, out := c.ModifyVolumeRequest(input)
  17754. return out, req.Send()
  17755. }
  17756. // ModifyVolumeWithContext is the same as ModifyVolume with the addition of
  17757. // the ability to pass a context and additional request options.
  17758. //
  17759. // See ModifyVolume for details on how to use this API operation.
  17760. //
  17761. // The context must be non-nil and will be used for request cancellation. If
  17762. // the context is nil a panic will occur. In the future the SDK may create
  17763. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17764. // for more information on using Contexts.
  17765. func (c *EC2) ModifyVolumeWithContext(ctx aws.Context, input *ModifyVolumeInput, opts ...request.Option) (*ModifyVolumeOutput, error) {
  17766. req, out := c.ModifyVolumeRequest(input)
  17767. req.SetContext(ctx)
  17768. req.ApplyOptions(opts...)
  17769. return out, req.Send()
  17770. }
  17771. const opModifyVolumeAttribute = "ModifyVolumeAttribute"
  17772. // ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
  17773. // client's request for the ModifyVolumeAttribute operation. The "output" return
  17774. // value will be populated with the request's response once the request completes
  17775. // successfuly.
  17776. //
  17777. // Use "Send" method on the returned Request to send the API call to the service.
  17778. // the "output" return value is not valid until after Send returns without error.
  17779. //
  17780. // See ModifyVolumeAttribute for more information on using the ModifyVolumeAttribute
  17781. // API call, and error handling.
  17782. //
  17783. // This method is useful when you want to inject custom logic or configuration
  17784. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17785. //
  17786. //
  17787. // // Example sending a request using the ModifyVolumeAttributeRequest method.
  17788. // req, resp := client.ModifyVolumeAttributeRequest(params)
  17789. //
  17790. // err := req.Send()
  17791. // if err == nil { // resp is now filled
  17792. // fmt.Println(resp)
  17793. // }
  17794. //
  17795. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
  17796. func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
  17797. op := &request.Operation{
  17798. Name: opModifyVolumeAttribute,
  17799. HTTPMethod: "POST",
  17800. HTTPPath: "/",
  17801. }
  17802. if input == nil {
  17803. input = &ModifyVolumeAttributeInput{}
  17804. }
  17805. output = &ModifyVolumeAttributeOutput{}
  17806. req = c.newRequest(op, input, output)
  17807. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17808. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17809. return
  17810. }
  17811. // ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  17812. //
  17813. // Modifies a volume attribute.
  17814. //
  17815. // By default, all I/O operations for the volume are suspended when the data
  17816. // on the volume is determined to be potentially inconsistent, to prevent undetectable,
  17817. // latent data corruption. The I/O access to the volume can be resumed by first
  17818. // enabling I/O access and then checking the data consistency on your volume.
  17819. //
  17820. // You can change the default behavior to resume I/O operations. We recommend
  17821. // that you change this only for boot volumes or for volumes that are stateless
  17822. // or disposable.
  17823. //
  17824. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17825. // with awserr.Error's Code and Message methods to get detailed information about
  17826. // the error.
  17827. //
  17828. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17829. // API operation ModifyVolumeAttribute for usage and error information.
  17830. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
  17831. func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
  17832. req, out := c.ModifyVolumeAttributeRequest(input)
  17833. return out, req.Send()
  17834. }
  17835. // ModifyVolumeAttributeWithContext is the same as ModifyVolumeAttribute with the addition of
  17836. // the ability to pass a context and additional request options.
  17837. //
  17838. // See ModifyVolumeAttribute for details on how to use this API operation.
  17839. //
  17840. // The context must be non-nil and will be used for request cancellation. If
  17841. // the context is nil a panic will occur. In the future the SDK may create
  17842. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17843. // for more information on using Contexts.
  17844. func (c *EC2) ModifyVolumeAttributeWithContext(ctx aws.Context, input *ModifyVolumeAttributeInput, opts ...request.Option) (*ModifyVolumeAttributeOutput, error) {
  17845. req, out := c.ModifyVolumeAttributeRequest(input)
  17846. req.SetContext(ctx)
  17847. req.ApplyOptions(opts...)
  17848. return out, req.Send()
  17849. }
  17850. const opModifyVpcAttribute = "ModifyVpcAttribute"
  17851. // ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
  17852. // client's request for the ModifyVpcAttribute operation. The "output" return
  17853. // value will be populated with the request's response once the request completes
  17854. // successfuly.
  17855. //
  17856. // Use "Send" method on the returned Request to send the API call to the service.
  17857. // the "output" return value is not valid until after Send returns without error.
  17858. //
  17859. // See ModifyVpcAttribute for more information on using the ModifyVpcAttribute
  17860. // API call, and error handling.
  17861. //
  17862. // This method is useful when you want to inject custom logic or configuration
  17863. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17864. //
  17865. //
  17866. // // Example sending a request using the ModifyVpcAttributeRequest method.
  17867. // req, resp := client.ModifyVpcAttributeRequest(params)
  17868. //
  17869. // err := req.Send()
  17870. // if err == nil { // resp is now filled
  17871. // fmt.Println(resp)
  17872. // }
  17873. //
  17874. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
  17875. func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
  17876. op := &request.Operation{
  17877. Name: opModifyVpcAttribute,
  17878. HTTPMethod: "POST",
  17879. HTTPPath: "/",
  17880. }
  17881. if input == nil {
  17882. input = &ModifyVpcAttributeInput{}
  17883. }
  17884. output = &ModifyVpcAttributeOutput{}
  17885. req = c.newRequest(op, input, output)
  17886. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17887. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17888. return
  17889. }
  17890. // ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
  17891. //
  17892. // Modifies the specified attribute of the specified VPC.
  17893. //
  17894. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17895. // with awserr.Error's Code and Message methods to get detailed information about
  17896. // the error.
  17897. //
  17898. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17899. // API operation ModifyVpcAttribute for usage and error information.
  17900. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
  17901. func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
  17902. req, out := c.ModifyVpcAttributeRequest(input)
  17903. return out, req.Send()
  17904. }
  17905. // ModifyVpcAttributeWithContext is the same as ModifyVpcAttribute with the addition of
  17906. // the ability to pass a context and additional request options.
  17907. //
  17908. // See ModifyVpcAttribute for details on how to use this API operation.
  17909. //
  17910. // The context must be non-nil and will be used for request cancellation. If
  17911. // the context is nil a panic will occur. In the future the SDK may create
  17912. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17913. // for more information on using Contexts.
  17914. func (c *EC2) ModifyVpcAttributeWithContext(ctx aws.Context, input *ModifyVpcAttributeInput, opts ...request.Option) (*ModifyVpcAttributeOutput, error) {
  17915. req, out := c.ModifyVpcAttributeRequest(input)
  17916. req.SetContext(ctx)
  17917. req.ApplyOptions(opts...)
  17918. return out, req.Send()
  17919. }
  17920. const opModifyVpcEndpoint = "ModifyVpcEndpoint"
  17921. // ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
  17922. // client's request for the ModifyVpcEndpoint operation. The "output" return
  17923. // value will be populated with the request's response once the request completes
  17924. // successfuly.
  17925. //
  17926. // Use "Send" method on the returned Request to send the API call to the service.
  17927. // the "output" return value is not valid until after Send returns without error.
  17928. //
  17929. // See ModifyVpcEndpoint for more information on using the ModifyVpcEndpoint
  17930. // API call, and error handling.
  17931. //
  17932. // This method is useful when you want to inject custom logic or configuration
  17933. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17934. //
  17935. //
  17936. // // Example sending a request using the ModifyVpcEndpointRequest method.
  17937. // req, resp := client.ModifyVpcEndpointRequest(params)
  17938. //
  17939. // err := req.Send()
  17940. // if err == nil { // resp is now filled
  17941. // fmt.Println(resp)
  17942. // }
  17943. //
  17944. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
  17945. func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
  17946. op := &request.Operation{
  17947. Name: opModifyVpcEndpoint,
  17948. HTTPMethod: "POST",
  17949. HTTPPath: "/",
  17950. }
  17951. if input == nil {
  17952. input = &ModifyVpcEndpointInput{}
  17953. }
  17954. output = &ModifyVpcEndpointOutput{}
  17955. req = c.newRequest(op, input, output)
  17956. return
  17957. }
  17958. // ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  17959. //
  17960. // Modifies attributes of a specified VPC endpoint. The attributes that you
  17961. // can modify depend on the type of VPC endpoint (interface or gateway). For
  17962. // more information, see VPC Endpoints (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)
  17963. // in the Amazon Virtual Private Cloud User Guide.
  17964. //
  17965. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17966. // with awserr.Error's Code and Message methods to get detailed information about
  17967. // the error.
  17968. //
  17969. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17970. // API operation ModifyVpcEndpoint for usage and error information.
  17971. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
  17972. func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
  17973. req, out := c.ModifyVpcEndpointRequest(input)
  17974. return out, req.Send()
  17975. }
  17976. // ModifyVpcEndpointWithContext is the same as ModifyVpcEndpoint with the addition of
  17977. // the ability to pass a context and additional request options.
  17978. //
  17979. // See ModifyVpcEndpoint for details on how to use this API operation.
  17980. //
  17981. // The context must be non-nil and will be used for request cancellation. If
  17982. // the context is nil a panic will occur. In the future the SDK may create
  17983. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17984. // for more information on using Contexts.
  17985. func (c *EC2) ModifyVpcEndpointWithContext(ctx aws.Context, input *ModifyVpcEndpointInput, opts ...request.Option) (*ModifyVpcEndpointOutput, error) {
  17986. req, out := c.ModifyVpcEndpointRequest(input)
  17987. req.SetContext(ctx)
  17988. req.ApplyOptions(opts...)
  17989. return out, req.Send()
  17990. }
  17991. const opModifyVpcEndpointConnectionNotification = "ModifyVpcEndpointConnectionNotification"
  17992. // ModifyVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
  17993. // client's request for the ModifyVpcEndpointConnectionNotification operation. The "output" return
  17994. // value will be populated with the request's response once the request completes
  17995. // successfuly.
  17996. //
  17997. // Use "Send" method on the returned Request to send the API call to the service.
  17998. // the "output" return value is not valid until after Send returns without error.
  17999. //
  18000. // See ModifyVpcEndpointConnectionNotification for more information on using the ModifyVpcEndpointConnectionNotification
  18001. // API call, and error handling.
  18002. //
  18003. // This method is useful when you want to inject custom logic or configuration
  18004. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18005. //
  18006. //
  18007. // // Example sending a request using the ModifyVpcEndpointConnectionNotificationRequest method.
  18008. // req, resp := client.ModifyVpcEndpointConnectionNotificationRequest(params)
  18009. //
  18010. // err := req.Send()
  18011. // if err == nil { // resp is now filled
  18012. // fmt.Println(resp)
  18013. // }
  18014. //
  18015. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
  18016. func (c *EC2) ModifyVpcEndpointConnectionNotificationRequest(input *ModifyVpcEndpointConnectionNotificationInput) (req *request.Request, output *ModifyVpcEndpointConnectionNotificationOutput) {
  18017. op := &request.Operation{
  18018. Name: opModifyVpcEndpointConnectionNotification,
  18019. HTTPMethod: "POST",
  18020. HTTPPath: "/",
  18021. }
  18022. if input == nil {
  18023. input = &ModifyVpcEndpointConnectionNotificationInput{}
  18024. }
  18025. output = &ModifyVpcEndpointConnectionNotificationOutput{}
  18026. req = c.newRequest(op, input, output)
  18027. return
  18028. }
  18029. // ModifyVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
  18030. //
  18031. // Modifies a connection notification for VPC endpoint or VPC endpoint service.
  18032. // You can change the SNS topic for the notification, or the events for which
  18033. // to be notified.
  18034. //
  18035. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18036. // with awserr.Error's Code and Message methods to get detailed information about
  18037. // the error.
  18038. //
  18039. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18040. // API operation ModifyVpcEndpointConnectionNotification for usage and error information.
  18041. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
  18042. func (c *EC2) ModifyVpcEndpointConnectionNotification(input *ModifyVpcEndpointConnectionNotificationInput) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
  18043. req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
  18044. return out, req.Send()
  18045. }
  18046. // ModifyVpcEndpointConnectionNotificationWithContext is the same as ModifyVpcEndpointConnectionNotification with the addition of
  18047. // the ability to pass a context and additional request options.
  18048. //
  18049. // See ModifyVpcEndpointConnectionNotification for details on how to use this API operation.
  18050. //
  18051. // The context must be non-nil and will be used for request cancellation. If
  18052. // the context is nil a panic will occur. In the future the SDK may create
  18053. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18054. // for more information on using Contexts.
  18055. func (c *EC2) ModifyVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *ModifyVpcEndpointConnectionNotificationInput, opts ...request.Option) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
  18056. req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
  18057. req.SetContext(ctx)
  18058. req.ApplyOptions(opts...)
  18059. return out, req.Send()
  18060. }
  18061. const opModifyVpcEndpointServiceConfiguration = "ModifyVpcEndpointServiceConfiguration"
  18062. // ModifyVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
  18063. // client's request for the ModifyVpcEndpointServiceConfiguration operation. The "output" return
  18064. // value will be populated with the request's response once the request completes
  18065. // successfuly.
  18066. //
  18067. // Use "Send" method on the returned Request to send the API call to the service.
  18068. // the "output" return value is not valid until after Send returns without error.
  18069. //
  18070. // See ModifyVpcEndpointServiceConfiguration for more information on using the ModifyVpcEndpointServiceConfiguration
  18071. // API call, and error handling.
  18072. //
  18073. // This method is useful when you want to inject custom logic or configuration
  18074. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18075. //
  18076. //
  18077. // // Example sending a request using the ModifyVpcEndpointServiceConfigurationRequest method.
  18078. // req, resp := client.ModifyVpcEndpointServiceConfigurationRequest(params)
  18079. //
  18080. // err := req.Send()
  18081. // if err == nil { // resp is now filled
  18082. // fmt.Println(resp)
  18083. // }
  18084. //
  18085. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
  18086. func (c *EC2) ModifyVpcEndpointServiceConfigurationRequest(input *ModifyVpcEndpointServiceConfigurationInput) (req *request.Request, output *ModifyVpcEndpointServiceConfigurationOutput) {
  18087. op := &request.Operation{
  18088. Name: opModifyVpcEndpointServiceConfiguration,
  18089. HTTPMethod: "POST",
  18090. HTTPPath: "/",
  18091. }
  18092. if input == nil {
  18093. input = &ModifyVpcEndpointServiceConfigurationInput{}
  18094. }
  18095. output = &ModifyVpcEndpointServiceConfigurationOutput{}
  18096. req = c.newRequest(op, input, output)
  18097. return
  18098. }
  18099. // ModifyVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
  18100. //
  18101. // Modifies the attributes of your VPC endpoint service configuration. You can
  18102. // change the Network Load Balancers for your service, and you can specify whether
  18103. // acceptance is required for requests to connect to your endpoint service through
  18104. // an interface VPC endpoint.
  18105. //
  18106. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18107. // with awserr.Error's Code and Message methods to get detailed information about
  18108. // the error.
  18109. //
  18110. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18111. // API operation ModifyVpcEndpointServiceConfiguration for usage and error information.
  18112. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
  18113. func (c *EC2) ModifyVpcEndpointServiceConfiguration(input *ModifyVpcEndpointServiceConfigurationInput) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
  18114. req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
  18115. return out, req.Send()
  18116. }
  18117. // ModifyVpcEndpointServiceConfigurationWithContext is the same as ModifyVpcEndpointServiceConfiguration with the addition of
  18118. // the ability to pass a context and additional request options.
  18119. //
  18120. // See ModifyVpcEndpointServiceConfiguration for details on how to use this API operation.
  18121. //
  18122. // The context must be non-nil and will be used for request cancellation. If
  18123. // the context is nil a panic will occur. In the future the SDK may create
  18124. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18125. // for more information on using Contexts.
  18126. func (c *EC2) ModifyVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *ModifyVpcEndpointServiceConfigurationInput, opts ...request.Option) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
  18127. req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
  18128. req.SetContext(ctx)
  18129. req.ApplyOptions(opts...)
  18130. return out, req.Send()
  18131. }
  18132. const opModifyVpcEndpointServicePermissions = "ModifyVpcEndpointServicePermissions"
  18133. // ModifyVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
  18134. // client's request for the ModifyVpcEndpointServicePermissions operation. The "output" return
  18135. // value will be populated with the request's response once the request completes
  18136. // successfuly.
  18137. //
  18138. // Use "Send" method on the returned Request to send the API call to the service.
  18139. // the "output" return value is not valid until after Send returns without error.
  18140. //
  18141. // See ModifyVpcEndpointServicePermissions for more information on using the ModifyVpcEndpointServicePermissions
  18142. // API call, and error handling.
  18143. //
  18144. // This method is useful when you want to inject custom logic or configuration
  18145. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18146. //
  18147. //
  18148. // // Example sending a request using the ModifyVpcEndpointServicePermissionsRequest method.
  18149. // req, resp := client.ModifyVpcEndpointServicePermissionsRequest(params)
  18150. //
  18151. // err := req.Send()
  18152. // if err == nil { // resp is now filled
  18153. // fmt.Println(resp)
  18154. // }
  18155. //
  18156. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
  18157. func (c *EC2) ModifyVpcEndpointServicePermissionsRequest(input *ModifyVpcEndpointServicePermissionsInput) (req *request.Request, output *ModifyVpcEndpointServicePermissionsOutput) {
  18158. op := &request.Operation{
  18159. Name: opModifyVpcEndpointServicePermissions,
  18160. HTTPMethod: "POST",
  18161. HTTPPath: "/",
  18162. }
  18163. if input == nil {
  18164. input = &ModifyVpcEndpointServicePermissionsInput{}
  18165. }
  18166. output = &ModifyVpcEndpointServicePermissionsOutput{}
  18167. req = c.newRequest(op, input, output)
  18168. return
  18169. }
  18170. // ModifyVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
  18171. //
  18172. // Modifies the permissions for your VPC endpoint service (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html).
  18173. // You can add or remove permissions for service consumers (IAM users, IAM roles,
  18174. // and AWS accounts) to connect to your endpoint service.
  18175. //
  18176. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18177. // with awserr.Error's Code and Message methods to get detailed information about
  18178. // the error.
  18179. //
  18180. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18181. // API operation ModifyVpcEndpointServicePermissions for usage and error information.
  18182. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
  18183. func (c *EC2) ModifyVpcEndpointServicePermissions(input *ModifyVpcEndpointServicePermissionsInput) (*ModifyVpcEndpointServicePermissionsOutput, error) {
  18184. req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
  18185. return out, req.Send()
  18186. }
  18187. // ModifyVpcEndpointServicePermissionsWithContext is the same as ModifyVpcEndpointServicePermissions with the addition of
  18188. // the ability to pass a context and additional request options.
  18189. //
  18190. // See ModifyVpcEndpointServicePermissions for details on how to use this API operation.
  18191. //
  18192. // The context must be non-nil and will be used for request cancellation. If
  18193. // the context is nil a panic will occur. In the future the SDK may create
  18194. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18195. // for more information on using Contexts.
  18196. func (c *EC2) ModifyVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *ModifyVpcEndpointServicePermissionsInput, opts ...request.Option) (*ModifyVpcEndpointServicePermissionsOutput, error) {
  18197. req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
  18198. req.SetContext(ctx)
  18199. req.ApplyOptions(opts...)
  18200. return out, req.Send()
  18201. }
  18202. const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
  18203. // ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
  18204. // client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
  18205. // value will be populated with the request's response once the request completes
  18206. // successfuly.
  18207. //
  18208. // Use "Send" method on the returned Request to send the API call to the service.
  18209. // the "output" return value is not valid until after Send returns without error.
  18210. //
  18211. // See ModifyVpcPeeringConnectionOptions for more information on using the ModifyVpcPeeringConnectionOptions
  18212. // API call, and error handling.
  18213. //
  18214. // This method is useful when you want to inject custom logic or configuration
  18215. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18216. //
  18217. //
  18218. // // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
  18219. // req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
  18220. //
  18221. // err := req.Send()
  18222. // if err == nil { // resp is now filled
  18223. // fmt.Println(resp)
  18224. // }
  18225. //
  18226. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
  18227. func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
  18228. op := &request.Operation{
  18229. Name: opModifyVpcPeeringConnectionOptions,
  18230. HTTPMethod: "POST",
  18231. HTTPPath: "/",
  18232. }
  18233. if input == nil {
  18234. input = &ModifyVpcPeeringConnectionOptionsInput{}
  18235. }
  18236. output = &ModifyVpcPeeringConnectionOptionsOutput{}
  18237. req = c.newRequest(op, input, output)
  18238. return
  18239. }
  18240. // ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
  18241. //
  18242. // Modifies the VPC peering connection options on one side of a VPC peering
  18243. // connection. You can do the following:
  18244. //
  18245. // * Enable/disable communication over the peering connection between an
  18246. // EC2-Classic instance that's linked to your VPC (using ClassicLink) and
  18247. // instances in the peer VPC.
  18248. //
  18249. // * Enable/disable communication over the peering connection between instances
  18250. // in your VPC and an EC2-Classic instance that's linked to the peer VPC.
  18251. //
  18252. // * Enable/disable the ability to resolve public DNS hostnames to private
  18253. // IP addresses when queried from instances in the peer VPC.
  18254. //
  18255. // If the peered VPCs are in different accounts, each owner must initiate a
  18256. // separate request to modify the peering connection options, depending on whether
  18257. // their VPC was the requester or accepter for the VPC peering connection. If
  18258. // the peered VPCs are in the same account, you can modify the requester and
  18259. // accepter options in the same request. To confirm which VPC is the accepter
  18260. // and requester for a VPC peering connection, use the DescribeVpcPeeringConnections
  18261. // command.
  18262. //
  18263. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18264. // with awserr.Error's Code and Message methods to get detailed information about
  18265. // the error.
  18266. //
  18267. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18268. // API operation ModifyVpcPeeringConnectionOptions for usage and error information.
  18269. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
  18270. func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  18271. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  18272. return out, req.Send()
  18273. }
  18274. // ModifyVpcPeeringConnectionOptionsWithContext is the same as ModifyVpcPeeringConnectionOptions with the addition of
  18275. // the ability to pass a context and additional request options.
  18276. //
  18277. // See ModifyVpcPeeringConnectionOptions for details on how to use this API operation.
  18278. //
  18279. // The context must be non-nil and will be used for request cancellation. If
  18280. // the context is nil a panic will occur. In the future the SDK may create
  18281. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18282. // for more information on using Contexts.
  18283. func (c *EC2) ModifyVpcPeeringConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpcPeeringConnectionOptionsInput, opts ...request.Option) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  18284. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  18285. req.SetContext(ctx)
  18286. req.ApplyOptions(opts...)
  18287. return out, req.Send()
  18288. }
  18289. const opModifyVpcTenancy = "ModifyVpcTenancy"
  18290. // ModifyVpcTenancyRequest generates a "aws/request.Request" representing the
  18291. // client's request for the ModifyVpcTenancy operation. The "output" return
  18292. // value will be populated with the request's response once the request completes
  18293. // successfuly.
  18294. //
  18295. // Use "Send" method on the returned Request to send the API call to the service.
  18296. // the "output" return value is not valid until after Send returns without error.
  18297. //
  18298. // See ModifyVpcTenancy for more information on using the ModifyVpcTenancy
  18299. // API call, and error handling.
  18300. //
  18301. // This method is useful when you want to inject custom logic or configuration
  18302. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18303. //
  18304. //
  18305. // // Example sending a request using the ModifyVpcTenancyRequest method.
  18306. // req, resp := client.ModifyVpcTenancyRequest(params)
  18307. //
  18308. // err := req.Send()
  18309. // if err == nil { // resp is now filled
  18310. // fmt.Println(resp)
  18311. // }
  18312. //
  18313. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
  18314. func (c *EC2) ModifyVpcTenancyRequest(input *ModifyVpcTenancyInput) (req *request.Request, output *ModifyVpcTenancyOutput) {
  18315. op := &request.Operation{
  18316. Name: opModifyVpcTenancy,
  18317. HTTPMethod: "POST",
  18318. HTTPPath: "/",
  18319. }
  18320. if input == nil {
  18321. input = &ModifyVpcTenancyInput{}
  18322. }
  18323. output = &ModifyVpcTenancyOutput{}
  18324. req = c.newRequest(op, input, output)
  18325. return
  18326. }
  18327. // ModifyVpcTenancy API operation for Amazon Elastic Compute Cloud.
  18328. //
  18329. // Modifies the instance tenancy attribute of the specified VPC. You can change
  18330. // the instance tenancy attribute of a VPC to default only. You cannot change
  18331. // the instance tenancy attribute to dedicated.
  18332. //
  18333. // After you modify the tenancy of the VPC, any new instances that you launch
  18334. // into the VPC have a tenancy of default, unless you specify otherwise during
  18335. // launch. The tenancy of any existing instances in the VPC is not affected.
  18336. //
  18337. // For more information about Dedicated Instances, see Dedicated Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
  18338. // in the Amazon Elastic Compute Cloud User Guide.
  18339. //
  18340. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18341. // with awserr.Error's Code and Message methods to get detailed information about
  18342. // the error.
  18343. //
  18344. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18345. // API operation ModifyVpcTenancy for usage and error information.
  18346. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
  18347. func (c *EC2) ModifyVpcTenancy(input *ModifyVpcTenancyInput) (*ModifyVpcTenancyOutput, error) {
  18348. req, out := c.ModifyVpcTenancyRequest(input)
  18349. return out, req.Send()
  18350. }
  18351. // ModifyVpcTenancyWithContext is the same as ModifyVpcTenancy with the addition of
  18352. // the ability to pass a context and additional request options.
  18353. //
  18354. // See ModifyVpcTenancy for details on how to use this API operation.
  18355. //
  18356. // The context must be non-nil and will be used for request cancellation. If
  18357. // the context is nil a panic will occur. In the future the SDK may create
  18358. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18359. // for more information on using Contexts.
  18360. func (c *EC2) ModifyVpcTenancyWithContext(ctx aws.Context, input *ModifyVpcTenancyInput, opts ...request.Option) (*ModifyVpcTenancyOutput, error) {
  18361. req, out := c.ModifyVpcTenancyRequest(input)
  18362. req.SetContext(ctx)
  18363. req.ApplyOptions(opts...)
  18364. return out, req.Send()
  18365. }
  18366. const opMonitorInstances = "MonitorInstances"
  18367. // MonitorInstancesRequest generates a "aws/request.Request" representing the
  18368. // client's request for the MonitorInstances operation. The "output" return
  18369. // value will be populated with the request's response once the request completes
  18370. // successfuly.
  18371. //
  18372. // Use "Send" method on the returned Request to send the API call to the service.
  18373. // the "output" return value is not valid until after Send returns without error.
  18374. //
  18375. // See MonitorInstances for more information on using the MonitorInstances
  18376. // API call, and error handling.
  18377. //
  18378. // This method is useful when you want to inject custom logic or configuration
  18379. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18380. //
  18381. //
  18382. // // Example sending a request using the MonitorInstancesRequest method.
  18383. // req, resp := client.MonitorInstancesRequest(params)
  18384. //
  18385. // err := req.Send()
  18386. // if err == nil { // resp is now filled
  18387. // fmt.Println(resp)
  18388. // }
  18389. //
  18390. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
  18391. func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
  18392. op := &request.Operation{
  18393. Name: opMonitorInstances,
  18394. HTTPMethod: "POST",
  18395. HTTPPath: "/",
  18396. }
  18397. if input == nil {
  18398. input = &MonitorInstancesInput{}
  18399. }
  18400. output = &MonitorInstancesOutput{}
  18401. req = c.newRequest(op, input, output)
  18402. return
  18403. }
  18404. // MonitorInstances API operation for Amazon Elastic Compute Cloud.
  18405. //
  18406. // Enables detailed monitoring for a running instance. Otherwise, basic monitoring
  18407. // is enabled. For more information, see Monitoring Your Instances and Volumes
  18408. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  18409. // in the Amazon Elastic Compute Cloud User Guide.
  18410. //
  18411. // To disable detailed monitoring, see .
  18412. //
  18413. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18414. // with awserr.Error's Code and Message methods to get detailed information about
  18415. // the error.
  18416. //
  18417. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18418. // API operation MonitorInstances for usage and error information.
  18419. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
  18420. func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
  18421. req, out := c.MonitorInstancesRequest(input)
  18422. return out, req.Send()
  18423. }
  18424. // MonitorInstancesWithContext is the same as MonitorInstances with the addition of
  18425. // the ability to pass a context and additional request options.
  18426. //
  18427. // See MonitorInstances for details on how to use this API operation.
  18428. //
  18429. // The context must be non-nil and will be used for request cancellation. If
  18430. // the context is nil a panic will occur. In the future the SDK may create
  18431. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18432. // for more information on using Contexts.
  18433. func (c *EC2) MonitorInstancesWithContext(ctx aws.Context, input *MonitorInstancesInput, opts ...request.Option) (*MonitorInstancesOutput, error) {
  18434. req, out := c.MonitorInstancesRequest(input)
  18435. req.SetContext(ctx)
  18436. req.ApplyOptions(opts...)
  18437. return out, req.Send()
  18438. }
  18439. const opMoveAddressToVpc = "MoveAddressToVpc"
  18440. // MoveAddressToVpcRequest generates a "aws/request.Request" representing the
  18441. // client's request for the MoveAddressToVpc operation. The "output" return
  18442. // value will be populated with the request's response once the request completes
  18443. // successfuly.
  18444. //
  18445. // Use "Send" method on the returned Request to send the API call to the service.
  18446. // the "output" return value is not valid until after Send returns without error.
  18447. //
  18448. // See MoveAddressToVpc for more information on using the MoveAddressToVpc
  18449. // API call, and error handling.
  18450. //
  18451. // This method is useful when you want to inject custom logic or configuration
  18452. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18453. //
  18454. //
  18455. // // Example sending a request using the MoveAddressToVpcRequest method.
  18456. // req, resp := client.MoveAddressToVpcRequest(params)
  18457. //
  18458. // err := req.Send()
  18459. // if err == nil { // resp is now filled
  18460. // fmt.Println(resp)
  18461. // }
  18462. //
  18463. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
  18464. func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
  18465. op := &request.Operation{
  18466. Name: opMoveAddressToVpc,
  18467. HTTPMethod: "POST",
  18468. HTTPPath: "/",
  18469. }
  18470. if input == nil {
  18471. input = &MoveAddressToVpcInput{}
  18472. }
  18473. output = &MoveAddressToVpcOutput{}
  18474. req = c.newRequest(op, input, output)
  18475. return
  18476. }
  18477. // MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
  18478. //
  18479. // Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
  18480. // platform. The Elastic IP address must be allocated to your account for more
  18481. // than 24 hours, and it must not be associated with an instance. After the
  18482. // Elastic IP address is moved, it is no longer available for use in the EC2-Classic
  18483. // platform, unless you move it back using the RestoreAddressToClassic request.
  18484. // You cannot move an Elastic IP address that was originally allocated for use
  18485. // in the EC2-VPC platform to the EC2-Classic platform.
  18486. //
  18487. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18488. // with awserr.Error's Code and Message methods to get detailed information about
  18489. // the error.
  18490. //
  18491. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18492. // API operation MoveAddressToVpc for usage and error information.
  18493. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
  18494. func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
  18495. req, out := c.MoveAddressToVpcRequest(input)
  18496. return out, req.Send()
  18497. }
  18498. // MoveAddressToVpcWithContext is the same as MoveAddressToVpc with the addition of
  18499. // the ability to pass a context and additional request options.
  18500. //
  18501. // See MoveAddressToVpc for details on how to use this API operation.
  18502. //
  18503. // The context must be non-nil and will be used for request cancellation. If
  18504. // the context is nil a panic will occur. In the future the SDK may create
  18505. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18506. // for more information on using Contexts.
  18507. func (c *EC2) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToVpcInput, opts ...request.Option) (*MoveAddressToVpcOutput, error) {
  18508. req, out := c.MoveAddressToVpcRequest(input)
  18509. req.SetContext(ctx)
  18510. req.ApplyOptions(opts...)
  18511. return out, req.Send()
  18512. }
  18513. const opPurchaseHostReservation = "PurchaseHostReservation"
  18514. // PurchaseHostReservationRequest generates a "aws/request.Request" representing the
  18515. // client's request for the PurchaseHostReservation operation. The "output" return
  18516. // value will be populated with the request's response once the request completes
  18517. // successfuly.
  18518. //
  18519. // Use "Send" method on the returned Request to send the API call to the service.
  18520. // the "output" return value is not valid until after Send returns without error.
  18521. //
  18522. // See PurchaseHostReservation for more information on using the PurchaseHostReservation
  18523. // API call, and error handling.
  18524. //
  18525. // This method is useful when you want to inject custom logic or configuration
  18526. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18527. //
  18528. //
  18529. // // Example sending a request using the PurchaseHostReservationRequest method.
  18530. // req, resp := client.PurchaseHostReservationRequest(params)
  18531. //
  18532. // err := req.Send()
  18533. // if err == nil { // resp is now filled
  18534. // fmt.Println(resp)
  18535. // }
  18536. //
  18537. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
  18538. func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
  18539. op := &request.Operation{
  18540. Name: opPurchaseHostReservation,
  18541. HTTPMethod: "POST",
  18542. HTTPPath: "/",
  18543. }
  18544. if input == nil {
  18545. input = &PurchaseHostReservationInput{}
  18546. }
  18547. output = &PurchaseHostReservationOutput{}
  18548. req = c.newRequest(op, input, output)
  18549. return
  18550. }
  18551. // PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
  18552. //
  18553. // Purchase a reservation with configurations that match those of your Dedicated
  18554. // Host. You must have active Dedicated Hosts in your account before you purchase
  18555. // a reservation. This action results in the specified reservation being purchased
  18556. // and charged to your account.
  18557. //
  18558. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18559. // with awserr.Error's Code and Message methods to get detailed information about
  18560. // the error.
  18561. //
  18562. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18563. // API operation PurchaseHostReservation for usage and error information.
  18564. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
  18565. func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
  18566. req, out := c.PurchaseHostReservationRequest(input)
  18567. return out, req.Send()
  18568. }
  18569. // PurchaseHostReservationWithContext is the same as PurchaseHostReservation with the addition of
  18570. // the ability to pass a context and additional request options.
  18571. //
  18572. // See PurchaseHostReservation for details on how to use this API operation.
  18573. //
  18574. // The context must be non-nil and will be used for request cancellation. If
  18575. // the context is nil a panic will occur. In the future the SDK may create
  18576. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18577. // for more information on using Contexts.
  18578. func (c *EC2) PurchaseHostReservationWithContext(ctx aws.Context, input *PurchaseHostReservationInput, opts ...request.Option) (*PurchaseHostReservationOutput, error) {
  18579. req, out := c.PurchaseHostReservationRequest(input)
  18580. req.SetContext(ctx)
  18581. req.ApplyOptions(opts...)
  18582. return out, req.Send()
  18583. }
  18584. const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
  18585. // PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
  18586. // client's request for the PurchaseReservedInstancesOffering operation. The "output" return
  18587. // value will be populated with the request's response once the request completes
  18588. // successfuly.
  18589. //
  18590. // Use "Send" method on the returned Request to send the API call to the service.
  18591. // the "output" return value is not valid until after Send returns without error.
  18592. //
  18593. // See PurchaseReservedInstancesOffering for more information on using the PurchaseReservedInstancesOffering
  18594. // API call, and error handling.
  18595. //
  18596. // This method is useful when you want to inject custom logic or configuration
  18597. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18598. //
  18599. //
  18600. // // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
  18601. // req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
  18602. //
  18603. // err := req.Send()
  18604. // if err == nil { // resp is now filled
  18605. // fmt.Println(resp)
  18606. // }
  18607. //
  18608. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
  18609. func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
  18610. op := &request.Operation{
  18611. Name: opPurchaseReservedInstancesOffering,
  18612. HTTPMethod: "POST",
  18613. HTTPPath: "/",
  18614. }
  18615. if input == nil {
  18616. input = &PurchaseReservedInstancesOfferingInput{}
  18617. }
  18618. output = &PurchaseReservedInstancesOfferingOutput{}
  18619. req = c.newRequest(op, input, output)
  18620. return
  18621. }
  18622. // PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
  18623. //
  18624. // Purchases a Reserved Instance for use with your account. With Reserved Instances,
  18625. // you pay a lower hourly rate compared to On-Demand instance pricing.
  18626. //
  18627. // Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
  18628. // offerings that match your specifications. After you've purchased a Reserved
  18629. // Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
  18630. //
  18631. // For more information, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  18632. // and Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  18633. // in the Amazon Elastic Compute Cloud User Guide.
  18634. //
  18635. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18636. // with awserr.Error's Code and Message methods to get detailed information about
  18637. // the error.
  18638. //
  18639. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18640. // API operation PurchaseReservedInstancesOffering for usage and error information.
  18641. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
  18642. func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
  18643. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  18644. return out, req.Send()
  18645. }
  18646. // PurchaseReservedInstancesOfferingWithContext is the same as PurchaseReservedInstancesOffering with the addition of
  18647. // the ability to pass a context and additional request options.
  18648. //
  18649. // See PurchaseReservedInstancesOffering for details on how to use this API operation.
  18650. //
  18651. // The context must be non-nil and will be used for request cancellation. If
  18652. // the context is nil a panic will occur. In the future the SDK may create
  18653. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18654. // for more information on using Contexts.
  18655. func (c *EC2) PurchaseReservedInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedInstancesOfferingOutput, error) {
  18656. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  18657. req.SetContext(ctx)
  18658. req.ApplyOptions(opts...)
  18659. return out, req.Send()
  18660. }
  18661. const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
  18662. // PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
  18663. // client's request for the PurchaseScheduledInstances operation. The "output" return
  18664. // value will be populated with the request's response once the request completes
  18665. // successfuly.
  18666. //
  18667. // Use "Send" method on the returned Request to send the API call to the service.
  18668. // the "output" return value is not valid until after Send returns without error.
  18669. //
  18670. // See PurchaseScheduledInstances for more information on using the PurchaseScheduledInstances
  18671. // API call, and error handling.
  18672. //
  18673. // This method is useful when you want to inject custom logic or configuration
  18674. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18675. //
  18676. //
  18677. // // Example sending a request using the PurchaseScheduledInstancesRequest method.
  18678. // req, resp := client.PurchaseScheduledInstancesRequest(params)
  18679. //
  18680. // err := req.Send()
  18681. // if err == nil { // resp is now filled
  18682. // fmt.Println(resp)
  18683. // }
  18684. //
  18685. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
  18686. func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
  18687. op := &request.Operation{
  18688. Name: opPurchaseScheduledInstances,
  18689. HTTPMethod: "POST",
  18690. HTTPPath: "/",
  18691. }
  18692. if input == nil {
  18693. input = &PurchaseScheduledInstancesInput{}
  18694. }
  18695. output = &PurchaseScheduledInstancesOutput{}
  18696. req = c.newRequest(op, input, output)
  18697. return
  18698. }
  18699. // PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
  18700. //
  18701. // Purchases one or more Scheduled Instances with the specified schedule.
  18702. //
  18703. // Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
  18704. // the hour for a one-year term. Before you can purchase a Scheduled Instance,
  18705. // you must call DescribeScheduledInstanceAvailability to check for available
  18706. // schedules and obtain a purchase token. After you purchase a Scheduled Instance,
  18707. // you must call RunScheduledInstances during each scheduled time period.
  18708. //
  18709. // After you purchase a Scheduled Instance, you can't cancel, modify, or resell
  18710. // your purchase.
  18711. //
  18712. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18713. // with awserr.Error's Code and Message methods to get detailed information about
  18714. // the error.
  18715. //
  18716. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18717. // API operation PurchaseScheduledInstances for usage and error information.
  18718. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
  18719. func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
  18720. req, out := c.PurchaseScheduledInstancesRequest(input)
  18721. return out, req.Send()
  18722. }
  18723. // PurchaseScheduledInstancesWithContext is the same as PurchaseScheduledInstances with the addition of
  18724. // the ability to pass a context and additional request options.
  18725. //
  18726. // See PurchaseScheduledInstances for details on how to use this API operation.
  18727. //
  18728. // The context must be non-nil and will be used for request cancellation. If
  18729. // the context is nil a panic will occur. In the future the SDK may create
  18730. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18731. // for more information on using Contexts.
  18732. func (c *EC2) PurchaseScheduledInstancesWithContext(ctx aws.Context, input *PurchaseScheduledInstancesInput, opts ...request.Option) (*PurchaseScheduledInstancesOutput, error) {
  18733. req, out := c.PurchaseScheduledInstancesRequest(input)
  18734. req.SetContext(ctx)
  18735. req.ApplyOptions(opts...)
  18736. return out, req.Send()
  18737. }
  18738. const opRebootInstances = "RebootInstances"
  18739. // RebootInstancesRequest generates a "aws/request.Request" representing the
  18740. // client's request for the RebootInstances operation. The "output" return
  18741. // value will be populated with the request's response once the request completes
  18742. // successfuly.
  18743. //
  18744. // Use "Send" method on the returned Request to send the API call to the service.
  18745. // the "output" return value is not valid until after Send returns without error.
  18746. //
  18747. // See RebootInstances for more information on using the RebootInstances
  18748. // API call, and error handling.
  18749. //
  18750. // This method is useful when you want to inject custom logic or configuration
  18751. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18752. //
  18753. //
  18754. // // Example sending a request using the RebootInstancesRequest method.
  18755. // req, resp := client.RebootInstancesRequest(params)
  18756. //
  18757. // err := req.Send()
  18758. // if err == nil { // resp is now filled
  18759. // fmt.Println(resp)
  18760. // }
  18761. //
  18762. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
  18763. func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
  18764. op := &request.Operation{
  18765. Name: opRebootInstances,
  18766. HTTPMethod: "POST",
  18767. HTTPPath: "/",
  18768. }
  18769. if input == nil {
  18770. input = &RebootInstancesInput{}
  18771. }
  18772. output = &RebootInstancesOutput{}
  18773. req = c.newRequest(op, input, output)
  18774. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  18775. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  18776. return
  18777. }
  18778. // RebootInstances API operation for Amazon Elastic Compute Cloud.
  18779. //
  18780. // Requests a reboot of one or more instances. This operation is asynchronous;
  18781. // it only queues a request to reboot the specified instances. The operation
  18782. // succeeds if the instances are valid and belong to you. Requests to reboot
  18783. // terminated instances are ignored.
  18784. //
  18785. // If an instance does not cleanly shut down within four minutes, Amazon EC2
  18786. // performs a hard reboot.
  18787. //
  18788. // For more information about troubleshooting, see Getting Console Output and
  18789. // Rebooting Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
  18790. // in the Amazon Elastic Compute Cloud User Guide.
  18791. //
  18792. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18793. // with awserr.Error's Code and Message methods to get detailed information about
  18794. // the error.
  18795. //
  18796. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18797. // API operation RebootInstances for usage and error information.
  18798. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
  18799. func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
  18800. req, out := c.RebootInstancesRequest(input)
  18801. return out, req.Send()
  18802. }
  18803. // RebootInstancesWithContext is the same as RebootInstances with the addition of
  18804. // the ability to pass a context and additional request options.
  18805. //
  18806. // See RebootInstances for details on how to use this API operation.
  18807. //
  18808. // The context must be non-nil and will be used for request cancellation. If
  18809. // the context is nil a panic will occur. In the future the SDK may create
  18810. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18811. // for more information on using Contexts.
  18812. func (c *EC2) RebootInstancesWithContext(ctx aws.Context, input *RebootInstancesInput, opts ...request.Option) (*RebootInstancesOutput, error) {
  18813. req, out := c.RebootInstancesRequest(input)
  18814. req.SetContext(ctx)
  18815. req.ApplyOptions(opts...)
  18816. return out, req.Send()
  18817. }
  18818. const opRegisterImage = "RegisterImage"
  18819. // RegisterImageRequest generates a "aws/request.Request" representing the
  18820. // client's request for the RegisterImage operation. The "output" return
  18821. // value will be populated with the request's response once the request completes
  18822. // successfuly.
  18823. //
  18824. // Use "Send" method on the returned Request to send the API call to the service.
  18825. // the "output" return value is not valid until after Send returns without error.
  18826. //
  18827. // See RegisterImage for more information on using the RegisterImage
  18828. // API call, and error handling.
  18829. //
  18830. // This method is useful when you want to inject custom logic or configuration
  18831. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18832. //
  18833. //
  18834. // // Example sending a request using the RegisterImageRequest method.
  18835. // req, resp := client.RegisterImageRequest(params)
  18836. //
  18837. // err := req.Send()
  18838. // if err == nil { // resp is now filled
  18839. // fmt.Println(resp)
  18840. // }
  18841. //
  18842. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
  18843. func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
  18844. op := &request.Operation{
  18845. Name: opRegisterImage,
  18846. HTTPMethod: "POST",
  18847. HTTPPath: "/",
  18848. }
  18849. if input == nil {
  18850. input = &RegisterImageInput{}
  18851. }
  18852. output = &RegisterImageOutput{}
  18853. req = c.newRequest(op, input, output)
  18854. return
  18855. }
  18856. // RegisterImage API operation for Amazon Elastic Compute Cloud.
  18857. //
  18858. // Registers an AMI. When you're creating an AMI, this is the final step you
  18859. // must complete before you can launch an instance from the AMI. For more information
  18860. // about creating AMIs, see Creating Your Own AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
  18861. // in the Amazon Elastic Compute Cloud User Guide.
  18862. //
  18863. // For Amazon EBS-backed instances, CreateImage creates and registers the AMI
  18864. // in a single request, so you don't have to register the AMI yourself.
  18865. //
  18866. // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from
  18867. // a snapshot of a root device volume. You specify the snapshot using the block
  18868. // device mapping. For more information, see Launching a Linux Instance from
  18869. // a Backup (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html)
  18870. // in the Amazon Elastic Compute Cloud User Guide.
  18871. //
  18872. // You can't register an image where a secondary (non-root) snapshot has AWS
  18873. // Marketplace product codes.
  18874. //
  18875. // Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE
  18876. // Linux Enterprise Server (SLES), use the EC2 billing product code associated
  18877. // with an AMI to verify the subscription status for package updates. Creating
  18878. // an AMI from an EBS snapshot does not maintain this billing code, and subsequent
  18879. // instances launched from such an AMI will not be able to connect to package
  18880. // update infrastructure. To create an AMI that must retain billing codes, see
  18881. // CreateImage.
  18882. //
  18883. // If needed, you can deregister an AMI at any time. Any modifications you make
  18884. // to an AMI backed by an instance store volume invalidates its registration.
  18885. // If you make changes to an image, deregister the previous image and register
  18886. // the new image.
  18887. //
  18888. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18889. // with awserr.Error's Code and Message methods to get detailed information about
  18890. // the error.
  18891. //
  18892. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18893. // API operation RegisterImage for usage and error information.
  18894. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
  18895. func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
  18896. req, out := c.RegisterImageRequest(input)
  18897. return out, req.Send()
  18898. }
  18899. // RegisterImageWithContext is the same as RegisterImage with the addition of
  18900. // the ability to pass a context and additional request options.
  18901. //
  18902. // See RegisterImage for details on how to use this API operation.
  18903. //
  18904. // The context must be non-nil and will be used for request cancellation. If
  18905. // the context is nil a panic will occur. In the future the SDK may create
  18906. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18907. // for more information on using Contexts.
  18908. func (c *EC2) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInput, opts ...request.Option) (*RegisterImageOutput, error) {
  18909. req, out := c.RegisterImageRequest(input)
  18910. req.SetContext(ctx)
  18911. req.ApplyOptions(opts...)
  18912. return out, req.Send()
  18913. }
  18914. const opRejectVpcEndpointConnections = "RejectVpcEndpointConnections"
  18915. // RejectVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
  18916. // client's request for the RejectVpcEndpointConnections operation. The "output" return
  18917. // value will be populated with the request's response once the request completes
  18918. // successfuly.
  18919. //
  18920. // Use "Send" method on the returned Request to send the API call to the service.
  18921. // the "output" return value is not valid until after Send returns without error.
  18922. //
  18923. // See RejectVpcEndpointConnections for more information on using the RejectVpcEndpointConnections
  18924. // API call, and error handling.
  18925. //
  18926. // This method is useful when you want to inject custom logic or configuration
  18927. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18928. //
  18929. //
  18930. // // Example sending a request using the RejectVpcEndpointConnectionsRequest method.
  18931. // req, resp := client.RejectVpcEndpointConnectionsRequest(params)
  18932. //
  18933. // err := req.Send()
  18934. // if err == nil { // resp is now filled
  18935. // fmt.Println(resp)
  18936. // }
  18937. //
  18938. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
  18939. func (c *EC2) RejectVpcEndpointConnectionsRequest(input *RejectVpcEndpointConnectionsInput) (req *request.Request, output *RejectVpcEndpointConnectionsOutput) {
  18940. op := &request.Operation{
  18941. Name: opRejectVpcEndpointConnections,
  18942. HTTPMethod: "POST",
  18943. HTTPPath: "/",
  18944. }
  18945. if input == nil {
  18946. input = &RejectVpcEndpointConnectionsInput{}
  18947. }
  18948. output = &RejectVpcEndpointConnectionsOutput{}
  18949. req = c.newRequest(op, input, output)
  18950. return
  18951. }
  18952. // RejectVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
  18953. //
  18954. // Rejects one or more VPC endpoint connection requests to your VPC endpoint
  18955. // service.
  18956. //
  18957. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18958. // with awserr.Error's Code and Message methods to get detailed information about
  18959. // the error.
  18960. //
  18961. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18962. // API operation RejectVpcEndpointConnections for usage and error information.
  18963. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
  18964. func (c *EC2) RejectVpcEndpointConnections(input *RejectVpcEndpointConnectionsInput) (*RejectVpcEndpointConnectionsOutput, error) {
  18965. req, out := c.RejectVpcEndpointConnectionsRequest(input)
  18966. return out, req.Send()
  18967. }
  18968. // RejectVpcEndpointConnectionsWithContext is the same as RejectVpcEndpointConnections with the addition of
  18969. // the ability to pass a context and additional request options.
  18970. //
  18971. // See RejectVpcEndpointConnections for details on how to use this API operation.
  18972. //
  18973. // The context must be non-nil and will be used for request cancellation. If
  18974. // the context is nil a panic will occur. In the future the SDK may create
  18975. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18976. // for more information on using Contexts.
  18977. func (c *EC2) RejectVpcEndpointConnectionsWithContext(ctx aws.Context, input *RejectVpcEndpointConnectionsInput, opts ...request.Option) (*RejectVpcEndpointConnectionsOutput, error) {
  18978. req, out := c.RejectVpcEndpointConnectionsRequest(input)
  18979. req.SetContext(ctx)
  18980. req.ApplyOptions(opts...)
  18981. return out, req.Send()
  18982. }
  18983. const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
  18984. // RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  18985. // client's request for the RejectVpcPeeringConnection operation. The "output" return
  18986. // value will be populated with the request's response once the request completes
  18987. // successfuly.
  18988. //
  18989. // Use "Send" method on the returned Request to send the API call to the service.
  18990. // the "output" return value is not valid until after Send returns without error.
  18991. //
  18992. // See RejectVpcPeeringConnection for more information on using the RejectVpcPeeringConnection
  18993. // API call, and error handling.
  18994. //
  18995. // This method is useful when you want to inject custom logic or configuration
  18996. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18997. //
  18998. //
  18999. // // Example sending a request using the RejectVpcPeeringConnectionRequest method.
  19000. // req, resp := client.RejectVpcPeeringConnectionRequest(params)
  19001. //
  19002. // err := req.Send()
  19003. // if err == nil { // resp is now filled
  19004. // fmt.Println(resp)
  19005. // }
  19006. //
  19007. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
  19008. func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
  19009. op := &request.Operation{
  19010. Name: opRejectVpcPeeringConnection,
  19011. HTTPMethod: "POST",
  19012. HTTPPath: "/",
  19013. }
  19014. if input == nil {
  19015. input = &RejectVpcPeeringConnectionInput{}
  19016. }
  19017. output = &RejectVpcPeeringConnectionOutput{}
  19018. req = c.newRequest(op, input, output)
  19019. return
  19020. }
  19021. // RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  19022. //
  19023. // Rejects a VPC peering connection request. The VPC peering connection must
  19024. // be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
  19025. // request to view your outstanding VPC peering connection requests. To delete
  19026. // an active VPC peering connection, or to delete a VPC peering connection request
  19027. // that you initiated, use DeleteVpcPeeringConnection.
  19028. //
  19029. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19030. // with awserr.Error's Code and Message methods to get detailed information about
  19031. // the error.
  19032. //
  19033. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19034. // API operation RejectVpcPeeringConnection for usage and error information.
  19035. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
  19036. func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
  19037. req, out := c.RejectVpcPeeringConnectionRequest(input)
  19038. return out, req.Send()
  19039. }
  19040. // RejectVpcPeeringConnectionWithContext is the same as RejectVpcPeeringConnection with the addition of
  19041. // the ability to pass a context and additional request options.
  19042. //
  19043. // See RejectVpcPeeringConnection for details on how to use this API operation.
  19044. //
  19045. // The context must be non-nil and will be used for request cancellation. If
  19046. // the context is nil a panic will occur. In the future the SDK may create
  19047. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19048. // for more information on using Contexts.
  19049. func (c *EC2) RejectVpcPeeringConnectionWithContext(ctx aws.Context, input *RejectVpcPeeringConnectionInput, opts ...request.Option) (*RejectVpcPeeringConnectionOutput, error) {
  19050. req, out := c.RejectVpcPeeringConnectionRequest(input)
  19051. req.SetContext(ctx)
  19052. req.ApplyOptions(opts...)
  19053. return out, req.Send()
  19054. }
  19055. const opReleaseAddress = "ReleaseAddress"
  19056. // ReleaseAddressRequest generates a "aws/request.Request" representing the
  19057. // client's request for the ReleaseAddress operation. The "output" return
  19058. // value will be populated with the request's response once the request completes
  19059. // successfuly.
  19060. //
  19061. // Use "Send" method on the returned Request to send the API call to the service.
  19062. // the "output" return value is not valid until after Send returns without error.
  19063. //
  19064. // See ReleaseAddress for more information on using the ReleaseAddress
  19065. // API call, and error handling.
  19066. //
  19067. // This method is useful when you want to inject custom logic or configuration
  19068. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19069. //
  19070. //
  19071. // // Example sending a request using the ReleaseAddressRequest method.
  19072. // req, resp := client.ReleaseAddressRequest(params)
  19073. //
  19074. // err := req.Send()
  19075. // if err == nil { // resp is now filled
  19076. // fmt.Println(resp)
  19077. // }
  19078. //
  19079. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
  19080. func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
  19081. op := &request.Operation{
  19082. Name: opReleaseAddress,
  19083. HTTPMethod: "POST",
  19084. HTTPPath: "/",
  19085. }
  19086. if input == nil {
  19087. input = &ReleaseAddressInput{}
  19088. }
  19089. output = &ReleaseAddressOutput{}
  19090. req = c.newRequest(op, input, output)
  19091. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  19092. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  19093. return
  19094. }
  19095. // ReleaseAddress API operation for Amazon Elastic Compute Cloud.
  19096. //
  19097. // Releases the specified Elastic IP address.
  19098. //
  19099. // [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
  19100. // disassociates it from any instance that it's associated with. To disassociate
  19101. // an Elastic IP address without releasing it, use DisassociateAddress.
  19102. //
  19103. // [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
  19104. // IP address before you can release it. Otherwise, Amazon EC2 returns an error
  19105. // (InvalidIPAddress.InUse).
  19106. //
  19107. // After releasing an Elastic IP address, it is released to the IP address pool.
  19108. // Be sure to update your DNS records and any servers or devices that communicate
  19109. // with the address. If you attempt to release an Elastic IP address that you
  19110. // already released, you'll get an AuthFailure error if the address is already
  19111. // allocated to another AWS account.
  19112. //
  19113. // [EC2-VPC] After you release an Elastic IP address for use in a VPC, you might
  19114. // be able to recover it. For more information, see AllocateAddress.
  19115. //
  19116. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19117. // with awserr.Error's Code and Message methods to get detailed information about
  19118. // the error.
  19119. //
  19120. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19121. // API operation ReleaseAddress for usage and error information.
  19122. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
  19123. func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
  19124. req, out := c.ReleaseAddressRequest(input)
  19125. return out, req.Send()
  19126. }
  19127. // ReleaseAddressWithContext is the same as ReleaseAddress with the addition of
  19128. // the ability to pass a context and additional request options.
  19129. //
  19130. // See ReleaseAddress for details on how to use this API operation.
  19131. //
  19132. // The context must be non-nil and will be used for request cancellation. If
  19133. // the context is nil a panic will occur. In the future the SDK may create
  19134. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19135. // for more information on using Contexts.
  19136. func (c *EC2) ReleaseAddressWithContext(ctx aws.Context, input *ReleaseAddressInput, opts ...request.Option) (*ReleaseAddressOutput, error) {
  19137. req, out := c.ReleaseAddressRequest(input)
  19138. req.SetContext(ctx)
  19139. req.ApplyOptions(opts...)
  19140. return out, req.Send()
  19141. }
  19142. const opReleaseHosts = "ReleaseHosts"
  19143. // ReleaseHostsRequest generates a "aws/request.Request" representing the
  19144. // client's request for the ReleaseHosts operation. The "output" return
  19145. // value will be populated with the request's response once the request completes
  19146. // successfuly.
  19147. //
  19148. // Use "Send" method on the returned Request to send the API call to the service.
  19149. // the "output" return value is not valid until after Send returns without error.
  19150. //
  19151. // See ReleaseHosts for more information on using the ReleaseHosts
  19152. // API call, and error handling.
  19153. //
  19154. // This method is useful when you want to inject custom logic or configuration
  19155. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19156. //
  19157. //
  19158. // // Example sending a request using the ReleaseHostsRequest method.
  19159. // req, resp := client.ReleaseHostsRequest(params)
  19160. //
  19161. // err := req.Send()
  19162. // if err == nil { // resp is now filled
  19163. // fmt.Println(resp)
  19164. // }
  19165. //
  19166. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
  19167. func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
  19168. op := &request.Operation{
  19169. Name: opReleaseHosts,
  19170. HTTPMethod: "POST",
  19171. HTTPPath: "/",
  19172. }
  19173. if input == nil {
  19174. input = &ReleaseHostsInput{}
  19175. }
  19176. output = &ReleaseHostsOutput{}
  19177. req = c.newRequest(op, input, output)
  19178. return
  19179. }
  19180. // ReleaseHosts API operation for Amazon Elastic Compute Cloud.
  19181. //
  19182. // When you no longer want to use an On-Demand Dedicated Host it can be released.
  19183. // On-Demand billing is stopped and the host goes into released state. The host
  19184. // ID of Dedicated Hosts that have been released can no longer be specified
  19185. // in another request, e.g., ModifyHosts. You must stop or terminate all instances
  19186. // on a host before it can be released.
  19187. //
  19188. // When Dedicated Hosts are released, it make take some time for them to stop
  19189. // counting toward your limit and you may receive capacity errors when trying
  19190. // to allocate new Dedicated hosts. Try waiting a few minutes, and then try
  19191. // again.
  19192. //
  19193. // Released hosts will still appear in a DescribeHosts response.
  19194. //
  19195. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19196. // with awserr.Error's Code and Message methods to get detailed information about
  19197. // the error.
  19198. //
  19199. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19200. // API operation ReleaseHosts for usage and error information.
  19201. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
  19202. func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
  19203. req, out := c.ReleaseHostsRequest(input)
  19204. return out, req.Send()
  19205. }
  19206. // ReleaseHostsWithContext is the same as ReleaseHosts with the addition of
  19207. // the ability to pass a context and additional request options.
  19208. //
  19209. // See ReleaseHosts for details on how to use this API operation.
  19210. //
  19211. // The context must be non-nil and will be used for request cancellation. If
  19212. // the context is nil a panic will occur. In the future the SDK may create
  19213. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19214. // for more information on using Contexts.
  19215. func (c *EC2) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, opts ...request.Option) (*ReleaseHostsOutput, error) {
  19216. req, out := c.ReleaseHostsRequest(input)
  19217. req.SetContext(ctx)
  19218. req.ApplyOptions(opts...)
  19219. return out, req.Send()
  19220. }
  19221. const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation"
  19222. // ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the
  19223. // client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return
  19224. // value will be populated with the request's response once the request completes
  19225. // successfuly.
  19226. //
  19227. // Use "Send" method on the returned Request to send the API call to the service.
  19228. // the "output" return value is not valid until after Send returns without error.
  19229. //
  19230. // See ReplaceIamInstanceProfileAssociation for more information on using the ReplaceIamInstanceProfileAssociation
  19231. // API call, and error handling.
  19232. //
  19233. // This method is useful when you want to inject custom logic or configuration
  19234. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19235. //
  19236. //
  19237. // // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method.
  19238. // req, resp := client.ReplaceIamInstanceProfileAssociationRequest(params)
  19239. //
  19240. // err := req.Send()
  19241. // if err == nil { // resp is now filled
  19242. // fmt.Println(resp)
  19243. // }
  19244. //
  19245. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
  19246. func (c *EC2) ReplaceIamInstanceProfileAssociationRequest(input *ReplaceIamInstanceProfileAssociationInput) (req *request.Request, output *ReplaceIamInstanceProfileAssociationOutput) {
  19247. op := &request.Operation{
  19248. Name: opReplaceIamInstanceProfileAssociation,
  19249. HTTPMethod: "POST",
  19250. HTTPPath: "/",
  19251. }
  19252. if input == nil {
  19253. input = &ReplaceIamInstanceProfileAssociationInput{}
  19254. }
  19255. output = &ReplaceIamInstanceProfileAssociationOutput{}
  19256. req = c.newRequest(op, input, output)
  19257. return
  19258. }
  19259. // ReplaceIamInstanceProfileAssociation API operation for Amazon Elastic Compute Cloud.
  19260. //
  19261. // Replaces an IAM instance profile for the specified running instance. You
  19262. // can use this action to change the IAM instance profile that's associated
  19263. // with an instance without having to disassociate the existing IAM instance
  19264. // profile first.
  19265. //
  19266. // Use DescribeIamInstanceProfileAssociations to get the association ID.
  19267. //
  19268. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19269. // with awserr.Error's Code and Message methods to get detailed information about
  19270. // the error.
  19271. //
  19272. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19273. // API operation ReplaceIamInstanceProfileAssociation for usage and error information.
  19274. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
  19275. func (c *EC2) ReplaceIamInstanceProfileAssociation(input *ReplaceIamInstanceProfileAssociationInput) (*ReplaceIamInstanceProfileAssociationOutput, error) {
  19276. req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
  19277. return out, req.Send()
  19278. }
  19279. // ReplaceIamInstanceProfileAssociationWithContext is the same as ReplaceIamInstanceProfileAssociation with the addition of
  19280. // the ability to pass a context and additional request options.
  19281. //
  19282. // See ReplaceIamInstanceProfileAssociation for details on how to use this API operation.
  19283. //
  19284. // The context must be non-nil and will be used for request cancellation. If
  19285. // the context is nil a panic will occur. In the future the SDK may create
  19286. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19287. // for more information on using Contexts.
  19288. func (c *EC2) ReplaceIamInstanceProfileAssociationWithContext(ctx aws.Context, input *ReplaceIamInstanceProfileAssociationInput, opts ...request.Option) (*ReplaceIamInstanceProfileAssociationOutput, error) {
  19289. req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
  19290. req.SetContext(ctx)
  19291. req.ApplyOptions(opts...)
  19292. return out, req.Send()
  19293. }
  19294. const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
  19295. // ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
  19296. // client's request for the ReplaceNetworkAclAssociation operation. The "output" return
  19297. // value will be populated with the request's response once the request completes
  19298. // successfuly.
  19299. //
  19300. // Use "Send" method on the returned Request to send the API call to the service.
  19301. // the "output" return value is not valid until after Send returns without error.
  19302. //
  19303. // See ReplaceNetworkAclAssociation for more information on using the ReplaceNetworkAclAssociation
  19304. // API call, and error handling.
  19305. //
  19306. // This method is useful when you want to inject custom logic or configuration
  19307. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19308. //
  19309. //
  19310. // // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
  19311. // req, resp := client.ReplaceNetworkAclAssociationRequest(params)
  19312. //
  19313. // err := req.Send()
  19314. // if err == nil { // resp is now filled
  19315. // fmt.Println(resp)
  19316. // }
  19317. //
  19318. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
  19319. func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
  19320. op := &request.Operation{
  19321. Name: opReplaceNetworkAclAssociation,
  19322. HTTPMethod: "POST",
  19323. HTTPPath: "/",
  19324. }
  19325. if input == nil {
  19326. input = &ReplaceNetworkAclAssociationInput{}
  19327. }
  19328. output = &ReplaceNetworkAclAssociationOutput{}
  19329. req = c.newRequest(op, input, output)
  19330. return
  19331. }
  19332. // ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
  19333. //
  19334. // Changes which network ACL a subnet is associated with. By default when you
  19335. // create a subnet, it's automatically associated with the default network ACL.
  19336. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  19337. // in the Amazon Virtual Private Cloud User Guide.
  19338. //
  19339. // This is an idempotent operation.
  19340. //
  19341. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19342. // with awserr.Error's Code and Message methods to get detailed information about
  19343. // the error.
  19344. //
  19345. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19346. // API operation ReplaceNetworkAclAssociation for usage and error information.
  19347. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
  19348. func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
  19349. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  19350. return out, req.Send()
  19351. }
  19352. // ReplaceNetworkAclAssociationWithContext is the same as ReplaceNetworkAclAssociation with the addition of
  19353. // the ability to pass a context and additional request options.
  19354. //
  19355. // See ReplaceNetworkAclAssociation for details on how to use this API operation.
  19356. //
  19357. // The context must be non-nil and will be used for request cancellation. If
  19358. // the context is nil a panic will occur. In the future the SDK may create
  19359. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19360. // for more information on using Contexts.
  19361. func (c *EC2) ReplaceNetworkAclAssociationWithContext(ctx aws.Context, input *ReplaceNetworkAclAssociationInput, opts ...request.Option) (*ReplaceNetworkAclAssociationOutput, error) {
  19362. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  19363. req.SetContext(ctx)
  19364. req.ApplyOptions(opts...)
  19365. return out, req.Send()
  19366. }
  19367. const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
  19368. // ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
  19369. // client's request for the ReplaceNetworkAclEntry operation. The "output" return
  19370. // value will be populated with the request's response once the request completes
  19371. // successfuly.
  19372. //
  19373. // Use "Send" method on the returned Request to send the API call to the service.
  19374. // the "output" return value is not valid until after Send returns without error.
  19375. //
  19376. // See ReplaceNetworkAclEntry for more information on using the ReplaceNetworkAclEntry
  19377. // API call, and error handling.
  19378. //
  19379. // This method is useful when you want to inject custom logic or configuration
  19380. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19381. //
  19382. //
  19383. // // Example sending a request using the ReplaceNetworkAclEntryRequest method.
  19384. // req, resp := client.ReplaceNetworkAclEntryRequest(params)
  19385. //
  19386. // err := req.Send()
  19387. // if err == nil { // resp is now filled
  19388. // fmt.Println(resp)
  19389. // }
  19390. //
  19391. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
  19392. func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
  19393. op := &request.Operation{
  19394. Name: opReplaceNetworkAclEntry,
  19395. HTTPMethod: "POST",
  19396. HTTPPath: "/",
  19397. }
  19398. if input == nil {
  19399. input = &ReplaceNetworkAclEntryInput{}
  19400. }
  19401. output = &ReplaceNetworkAclEntryOutput{}
  19402. req = c.newRequest(op, input, output)
  19403. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  19404. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  19405. return
  19406. }
  19407. // ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  19408. //
  19409. // Replaces an entry (rule) in a network ACL. For more information about network
  19410. // ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  19411. // in the Amazon Virtual Private Cloud User Guide.
  19412. //
  19413. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19414. // with awserr.Error's Code and Message methods to get detailed information about
  19415. // the error.
  19416. //
  19417. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19418. // API operation ReplaceNetworkAclEntry for usage and error information.
  19419. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
  19420. func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
  19421. req, out := c.ReplaceNetworkAclEntryRequest(input)
  19422. return out, req.Send()
  19423. }
  19424. // ReplaceNetworkAclEntryWithContext is the same as ReplaceNetworkAclEntry with the addition of
  19425. // the ability to pass a context and additional request options.
  19426. //
  19427. // See ReplaceNetworkAclEntry for details on how to use this API operation.
  19428. //
  19429. // The context must be non-nil and will be used for request cancellation. If
  19430. // the context is nil a panic will occur. In the future the SDK may create
  19431. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19432. // for more information on using Contexts.
  19433. func (c *EC2) ReplaceNetworkAclEntryWithContext(ctx aws.Context, input *ReplaceNetworkAclEntryInput, opts ...request.Option) (*ReplaceNetworkAclEntryOutput, error) {
  19434. req, out := c.ReplaceNetworkAclEntryRequest(input)
  19435. req.SetContext(ctx)
  19436. req.ApplyOptions(opts...)
  19437. return out, req.Send()
  19438. }
  19439. const opReplaceRoute = "ReplaceRoute"
  19440. // ReplaceRouteRequest generates a "aws/request.Request" representing the
  19441. // client's request for the ReplaceRoute operation. The "output" return
  19442. // value will be populated with the request's response once the request completes
  19443. // successfuly.
  19444. //
  19445. // Use "Send" method on the returned Request to send the API call to the service.
  19446. // the "output" return value is not valid until after Send returns without error.
  19447. //
  19448. // See ReplaceRoute for more information on using the ReplaceRoute
  19449. // API call, and error handling.
  19450. //
  19451. // This method is useful when you want to inject custom logic or configuration
  19452. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19453. //
  19454. //
  19455. // // Example sending a request using the ReplaceRouteRequest method.
  19456. // req, resp := client.ReplaceRouteRequest(params)
  19457. //
  19458. // err := req.Send()
  19459. // if err == nil { // resp is now filled
  19460. // fmt.Println(resp)
  19461. // }
  19462. //
  19463. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
  19464. func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
  19465. op := &request.Operation{
  19466. Name: opReplaceRoute,
  19467. HTTPMethod: "POST",
  19468. HTTPPath: "/",
  19469. }
  19470. if input == nil {
  19471. input = &ReplaceRouteInput{}
  19472. }
  19473. output = &ReplaceRouteOutput{}
  19474. req = c.newRequest(op, input, output)
  19475. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  19476. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  19477. return
  19478. }
  19479. // ReplaceRoute API operation for Amazon Elastic Compute Cloud.
  19480. //
  19481. // Replaces an existing route within a route table in a VPC. You must provide
  19482. // only one of the following: Internet gateway or virtual private gateway, NAT
  19483. // instance, NAT gateway, VPC peering connection, network interface, or egress-only
  19484. // Internet gateway.
  19485. //
  19486. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  19487. // in the Amazon Virtual Private Cloud User Guide.
  19488. //
  19489. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19490. // with awserr.Error's Code and Message methods to get detailed information about
  19491. // the error.
  19492. //
  19493. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19494. // API operation ReplaceRoute for usage and error information.
  19495. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
  19496. func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
  19497. req, out := c.ReplaceRouteRequest(input)
  19498. return out, req.Send()
  19499. }
  19500. // ReplaceRouteWithContext is the same as ReplaceRoute with the addition of
  19501. // the ability to pass a context and additional request options.
  19502. //
  19503. // See ReplaceRoute for details on how to use this API operation.
  19504. //
  19505. // The context must be non-nil and will be used for request cancellation. If
  19506. // the context is nil a panic will occur. In the future the SDK may create
  19507. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19508. // for more information on using Contexts.
  19509. func (c *EC2) ReplaceRouteWithContext(ctx aws.Context, input *ReplaceRouteInput, opts ...request.Option) (*ReplaceRouteOutput, error) {
  19510. req, out := c.ReplaceRouteRequest(input)
  19511. req.SetContext(ctx)
  19512. req.ApplyOptions(opts...)
  19513. return out, req.Send()
  19514. }
  19515. const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
  19516. // ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
  19517. // client's request for the ReplaceRouteTableAssociation operation. The "output" return
  19518. // value will be populated with the request's response once the request completes
  19519. // successfuly.
  19520. //
  19521. // Use "Send" method on the returned Request to send the API call to the service.
  19522. // the "output" return value is not valid until after Send returns without error.
  19523. //
  19524. // See ReplaceRouteTableAssociation for more information on using the ReplaceRouteTableAssociation
  19525. // API call, and error handling.
  19526. //
  19527. // This method is useful when you want to inject custom logic or configuration
  19528. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19529. //
  19530. //
  19531. // // Example sending a request using the ReplaceRouteTableAssociationRequest method.
  19532. // req, resp := client.ReplaceRouteTableAssociationRequest(params)
  19533. //
  19534. // err := req.Send()
  19535. // if err == nil { // resp is now filled
  19536. // fmt.Println(resp)
  19537. // }
  19538. //
  19539. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
  19540. func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
  19541. op := &request.Operation{
  19542. Name: opReplaceRouteTableAssociation,
  19543. HTTPMethod: "POST",
  19544. HTTPPath: "/",
  19545. }
  19546. if input == nil {
  19547. input = &ReplaceRouteTableAssociationInput{}
  19548. }
  19549. output = &ReplaceRouteTableAssociationOutput{}
  19550. req = c.newRequest(op, input, output)
  19551. return
  19552. }
  19553. // ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
  19554. //
  19555. // Changes the route table associated with a given subnet in a VPC. After the
  19556. // operation completes, the subnet uses the routes in the new route table it's
  19557. // associated with. For more information about route tables, see Route Tables
  19558. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  19559. // in the Amazon Virtual Private Cloud User Guide.
  19560. //
  19561. // You can also use ReplaceRouteTableAssociation to change which table is the
  19562. // main route table in the VPC. You just specify the main route table's association
  19563. // ID and the route table to be the new main route table.
  19564. //
  19565. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19566. // with awserr.Error's Code and Message methods to get detailed information about
  19567. // the error.
  19568. //
  19569. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19570. // API operation ReplaceRouteTableAssociation for usage and error information.
  19571. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
  19572. func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
  19573. req, out := c.ReplaceRouteTableAssociationRequest(input)
  19574. return out, req.Send()
  19575. }
  19576. // ReplaceRouteTableAssociationWithContext is the same as ReplaceRouteTableAssociation with the addition of
  19577. // the ability to pass a context and additional request options.
  19578. //
  19579. // See ReplaceRouteTableAssociation for details on how to use this API operation.
  19580. //
  19581. // The context must be non-nil and will be used for request cancellation. If
  19582. // the context is nil a panic will occur. In the future the SDK may create
  19583. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19584. // for more information on using Contexts.
  19585. func (c *EC2) ReplaceRouteTableAssociationWithContext(ctx aws.Context, input *ReplaceRouteTableAssociationInput, opts ...request.Option) (*ReplaceRouteTableAssociationOutput, error) {
  19586. req, out := c.ReplaceRouteTableAssociationRequest(input)
  19587. req.SetContext(ctx)
  19588. req.ApplyOptions(opts...)
  19589. return out, req.Send()
  19590. }
  19591. const opReportInstanceStatus = "ReportInstanceStatus"
  19592. // ReportInstanceStatusRequest generates a "aws/request.Request" representing the
  19593. // client's request for the ReportInstanceStatus operation. The "output" return
  19594. // value will be populated with the request's response once the request completes
  19595. // successfuly.
  19596. //
  19597. // Use "Send" method on the returned Request to send the API call to the service.
  19598. // the "output" return value is not valid until after Send returns without error.
  19599. //
  19600. // See ReportInstanceStatus for more information on using the ReportInstanceStatus
  19601. // API call, and error handling.
  19602. //
  19603. // This method is useful when you want to inject custom logic or configuration
  19604. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19605. //
  19606. //
  19607. // // Example sending a request using the ReportInstanceStatusRequest method.
  19608. // req, resp := client.ReportInstanceStatusRequest(params)
  19609. //
  19610. // err := req.Send()
  19611. // if err == nil { // resp is now filled
  19612. // fmt.Println(resp)
  19613. // }
  19614. //
  19615. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
  19616. func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
  19617. op := &request.Operation{
  19618. Name: opReportInstanceStatus,
  19619. HTTPMethod: "POST",
  19620. HTTPPath: "/",
  19621. }
  19622. if input == nil {
  19623. input = &ReportInstanceStatusInput{}
  19624. }
  19625. output = &ReportInstanceStatusOutput{}
  19626. req = c.newRequest(op, input, output)
  19627. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  19628. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  19629. return
  19630. }
  19631. // ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
  19632. //
  19633. // Submits feedback about the status of an instance. The instance must be in
  19634. // the running state. If your experience with the instance differs from the
  19635. // instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
  19636. // to report your experience with the instance. Amazon EC2 collects this information
  19637. // to improve the accuracy of status checks.
  19638. //
  19639. // Use of this action does not change the value returned by DescribeInstanceStatus.
  19640. //
  19641. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19642. // with awserr.Error's Code and Message methods to get detailed information about
  19643. // the error.
  19644. //
  19645. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19646. // API operation ReportInstanceStatus for usage and error information.
  19647. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
  19648. func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
  19649. req, out := c.ReportInstanceStatusRequest(input)
  19650. return out, req.Send()
  19651. }
  19652. // ReportInstanceStatusWithContext is the same as ReportInstanceStatus with the addition of
  19653. // the ability to pass a context and additional request options.
  19654. //
  19655. // See ReportInstanceStatus for details on how to use this API operation.
  19656. //
  19657. // The context must be non-nil and will be used for request cancellation. If
  19658. // the context is nil a panic will occur. In the future the SDK may create
  19659. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19660. // for more information on using Contexts.
  19661. func (c *EC2) ReportInstanceStatusWithContext(ctx aws.Context, input *ReportInstanceStatusInput, opts ...request.Option) (*ReportInstanceStatusOutput, error) {
  19662. req, out := c.ReportInstanceStatusRequest(input)
  19663. req.SetContext(ctx)
  19664. req.ApplyOptions(opts...)
  19665. return out, req.Send()
  19666. }
  19667. const opRequestSpotFleet = "RequestSpotFleet"
  19668. // RequestSpotFleetRequest generates a "aws/request.Request" representing the
  19669. // client's request for the RequestSpotFleet operation. The "output" return
  19670. // value will be populated with the request's response once the request completes
  19671. // successfuly.
  19672. //
  19673. // Use "Send" method on the returned Request to send the API call to the service.
  19674. // the "output" return value is not valid until after Send returns without error.
  19675. //
  19676. // See RequestSpotFleet for more information on using the RequestSpotFleet
  19677. // API call, and error handling.
  19678. //
  19679. // This method is useful when you want to inject custom logic or configuration
  19680. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19681. //
  19682. //
  19683. // // Example sending a request using the RequestSpotFleetRequest method.
  19684. // req, resp := client.RequestSpotFleetRequest(params)
  19685. //
  19686. // err := req.Send()
  19687. // if err == nil { // resp is now filled
  19688. // fmt.Println(resp)
  19689. // }
  19690. //
  19691. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
  19692. func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
  19693. op := &request.Operation{
  19694. Name: opRequestSpotFleet,
  19695. HTTPMethod: "POST",
  19696. HTTPPath: "/",
  19697. }
  19698. if input == nil {
  19699. input = &RequestSpotFleetInput{}
  19700. }
  19701. output = &RequestSpotFleetOutput{}
  19702. req = c.newRequest(op, input, output)
  19703. return
  19704. }
  19705. // RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
  19706. //
  19707. // Creates a Spot Fleet request.
  19708. //
  19709. // The Spot Fleet request specifies the total target capacity and the On-Demand
  19710. // target capacity. Amazon EC2 calculates the difference between the total capacity
  19711. // and On-Demand capacity, and launches the difference as Spot capacity.
  19712. //
  19713. // You can submit a single request that includes multiple launch specifications
  19714. // that vary by instance type, AMI, Availability Zone, or subnet.
  19715. //
  19716. // By default, the Spot Fleet requests Spot Instances in the Spot pool where
  19717. // the price per unit is the lowest. Each launch specification can include its
  19718. // own instance weighting that reflects the value of the instance type to your
  19719. // application workload.
  19720. //
  19721. // Alternatively, you can specify that the Spot Fleet distribute the target
  19722. // capacity across the Spot pools included in its launch specifications. By
  19723. // ensuring that the Spot Instances in your Spot Fleet are in different Spot
  19724. // pools, you can improve the availability of your fleet.
  19725. //
  19726. // You can specify tags for the Spot Instances. You cannot tag other resource
  19727. // types in a Spot Fleet request because only the instance resource type is
  19728. // supported.
  19729. //
  19730. // For more information, see Spot Fleet Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
  19731. // in the Amazon EC2 User Guide for Linux Instances.
  19732. //
  19733. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19734. // with awserr.Error's Code and Message methods to get detailed information about
  19735. // the error.
  19736. //
  19737. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19738. // API operation RequestSpotFleet for usage and error information.
  19739. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
  19740. func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
  19741. req, out := c.RequestSpotFleetRequest(input)
  19742. return out, req.Send()
  19743. }
  19744. // RequestSpotFleetWithContext is the same as RequestSpotFleet with the addition of
  19745. // the ability to pass a context and additional request options.
  19746. //
  19747. // See RequestSpotFleet for details on how to use this API operation.
  19748. //
  19749. // The context must be non-nil and will be used for request cancellation. If
  19750. // the context is nil a panic will occur. In the future the SDK may create
  19751. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19752. // for more information on using Contexts.
  19753. func (c *EC2) RequestSpotFleetWithContext(ctx aws.Context, input *RequestSpotFleetInput, opts ...request.Option) (*RequestSpotFleetOutput, error) {
  19754. req, out := c.RequestSpotFleetRequest(input)
  19755. req.SetContext(ctx)
  19756. req.ApplyOptions(opts...)
  19757. return out, req.Send()
  19758. }
  19759. const opRequestSpotInstances = "RequestSpotInstances"
  19760. // RequestSpotInstancesRequest generates a "aws/request.Request" representing the
  19761. // client's request for the RequestSpotInstances operation. The "output" return
  19762. // value will be populated with the request's response once the request completes
  19763. // successfuly.
  19764. //
  19765. // Use "Send" method on the returned Request to send the API call to the service.
  19766. // the "output" return value is not valid until after Send returns without error.
  19767. //
  19768. // See RequestSpotInstances for more information on using the RequestSpotInstances
  19769. // API call, and error handling.
  19770. //
  19771. // This method is useful when you want to inject custom logic or configuration
  19772. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19773. //
  19774. //
  19775. // // Example sending a request using the RequestSpotInstancesRequest method.
  19776. // req, resp := client.RequestSpotInstancesRequest(params)
  19777. //
  19778. // err := req.Send()
  19779. // if err == nil { // resp is now filled
  19780. // fmt.Println(resp)
  19781. // }
  19782. //
  19783. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
  19784. func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
  19785. op := &request.Operation{
  19786. Name: opRequestSpotInstances,
  19787. HTTPMethod: "POST",
  19788. HTTPPath: "/",
  19789. }
  19790. if input == nil {
  19791. input = &RequestSpotInstancesInput{}
  19792. }
  19793. output = &RequestSpotInstancesOutput{}
  19794. req = c.newRequest(op, input, output)
  19795. return
  19796. }
  19797. // RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
  19798. //
  19799. // Creates a Spot Instance request. Spot Instances are instances that Amazon
  19800. // EC2 launches when the maximum price that you specify exceeds the current
  19801. // Spot price. For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  19802. // in the Amazon EC2 User Guide for Linux Instances.
  19803. //
  19804. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19805. // with awserr.Error's Code and Message methods to get detailed information about
  19806. // the error.
  19807. //
  19808. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19809. // API operation RequestSpotInstances for usage and error information.
  19810. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
  19811. func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
  19812. req, out := c.RequestSpotInstancesRequest(input)
  19813. return out, req.Send()
  19814. }
  19815. // RequestSpotInstancesWithContext is the same as RequestSpotInstances with the addition of
  19816. // the ability to pass a context and additional request options.
  19817. //
  19818. // See RequestSpotInstances for details on how to use this API operation.
  19819. //
  19820. // The context must be non-nil and will be used for request cancellation. If
  19821. // the context is nil a panic will occur. In the future the SDK may create
  19822. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19823. // for more information on using Contexts.
  19824. func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpotInstancesInput, opts ...request.Option) (*RequestSpotInstancesOutput, error) {
  19825. req, out := c.RequestSpotInstancesRequest(input)
  19826. req.SetContext(ctx)
  19827. req.ApplyOptions(opts...)
  19828. return out, req.Send()
  19829. }
  19830. const opResetFpgaImageAttribute = "ResetFpgaImageAttribute"
  19831. // ResetFpgaImageAttributeRequest generates a "aws/request.Request" representing the
  19832. // client's request for the ResetFpgaImageAttribute operation. The "output" return
  19833. // value will be populated with the request's response once the request completes
  19834. // successfuly.
  19835. //
  19836. // Use "Send" method on the returned Request to send the API call to the service.
  19837. // the "output" return value is not valid until after Send returns without error.
  19838. //
  19839. // See ResetFpgaImageAttribute for more information on using the ResetFpgaImageAttribute
  19840. // API call, and error handling.
  19841. //
  19842. // This method is useful when you want to inject custom logic or configuration
  19843. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19844. //
  19845. //
  19846. // // Example sending a request using the ResetFpgaImageAttributeRequest method.
  19847. // req, resp := client.ResetFpgaImageAttributeRequest(params)
  19848. //
  19849. // err := req.Send()
  19850. // if err == nil { // resp is now filled
  19851. // fmt.Println(resp)
  19852. // }
  19853. //
  19854. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
  19855. func (c *EC2) ResetFpgaImageAttributeRequest(input *ResetFpgaImageAttributeInput) (req *request.Request, output *ResetFpgaImageAttributeOutput) {
  19856. op := &request.Operation{
  19857. Name: opResetFpgaImageAttribute,
  19858. HTTPMethod: "POST",
  19859. HTTPPath: "/",
  19860. }
  19861. if input == nil {
  19862. input = &ResetFpgaImageAttributeInput{}
  19863. }
  19864. output = &ResetFpgaImageAttributeOutput{}
  19865. req = c.newRequest(op, input, output)
  19866. return
  19867. }
  19868. // ResetFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
  19869. //
  19870. // Resets the specified attribute of the specified Amazon FPGA Image (AFI) to
  19871. // its default value. You can only reset the load permission attribute.
  19872. //
  19873. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19874. // with awserr.Error's Code and Message methods to get detailed information about
  19875. // the error.
  19876. //
  19877. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19878. // API operation ResetFpgaImageAttribute for usage and error information.
  19879. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
  19880. func (c *EC2) ResetFpgaImageAttribute(input *ResetFpgaImageAttributeInput) (*ResetFpgaImageAttributeOutput, error) {
  19881. req, out := c.ResetFpgaImageAttributeRequest(input)
  19882. return out, req.Send()
  19883. }
  19884. // ResetFpgaImageAttributeWithContext is the same as ResetFpgaImageAttribute with the addition of
  19885. // the ability to pass a context and additional request options.
  19886. //
  19887. // See ResetFpgaImageAttribute for details on how to use this API operation.
  19888. //
  19889. // The context must be non-nil and will be used for request cancellation. If
  19890. // the context is nil a panic will occur. In the future the SDK may create
  19891. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19892. // for more information on using Contexts.
  19893. func (c *EC2) ResetFpgaImageAttributeWithContext(ctx aws.Context, input *ResetFpgaImageAttributeInput, opts ...request.Option) (*ResetFpgaImageAttributeOutput, error) {
  19894. req, out := c.ResetFpgaImageAttributeRequest(input)
  19895. req.SetContext(ctx)
  19896. req.ApplyOptions(opts...)
  19897. return out, req.Send()
  19898. }
  19899. const opResetImageAttribute = "ResetImageAttribute"
  19900. // ResetImageAttributeRequest generates a "aws/request.Request" representing the
  19901. // client's request for the ResetImageAttribute operation. The "output" return
  19902. // value will be populated with the request's response once the request completes
  19903. // successfuly.
  19904. //
  19905. // Use "Send" method on the returned Request to send the API call to the service.
  19906. // the "output" return value is not valid until after Send returns without error.
  19907. //
  19908. // See ResetImageAttribute for more information on using the ResetImageAttribute
  19909. // API call, and error handling.
  19910. //
  19911. // This method is useful when you want to inject custom logic or configuration
  19912. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19913. //
  19914. //
  19915. // // Example sending a request using the ResetImageAttributeRequest method.
  19916. // req, resp := client.ResetImageAttributeRequest(params)
  19917. //
  19918. // err := req.Send()
  19919. // if err == nil { // resp is now filled
  19920. // fmt.Println(resp)
  19921. // }
  19922. //
  19923. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
  19924. func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
  19925. op := &request.Operation{
  19926. Name: opResetImageAttribute,
  19927. HTTPMethod: "POST",
  19928. HTTPPath: "/",
  19929. }
  19930. if input == nil {
  19931. input = &ResetImageAttributeInput{}
  19932. }
  19933. output = &ResetImageAttributeOutput{}
  19934. req = c.newRequest(op, input, output)
  19935. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  19936. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  19937. return
  19938. }
  19939. // ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
  19940. //
  19941. // Resets an attribute of an AMI to its default value.
  19942. //
  19943. // The productCodes attribute can't be reset.
  19944. //
  19945. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19946. // with awserr.Error's Code and Message methods to get detailed information about
  19947. // the error.
  19948. //
  19949. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19950. // API operation ResetImageAttribute for usage and error information.
  19951. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
  19952. func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
  19953. req, out := c.ResetImageAttributeRequest(input)
  19954. return out, req.Send()
  19955. }
  19956. // ResetImageAttributeWithContext is the same as ResetImageAttribute with the addition of
  19957. // the ability to pass a context and additional request options.
  19958. //
  19959. // See ResetImageAttribute for details on how to use this API operation.
  19960. //
  19961. // The context must be non-nil and will be used for request cancellation. If
  19962. // the context is nil a panic will occur. In the future the SDK may create
  19963. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19964. // for more information on using Contexts.
  19965. func (c *EC2) ResetImageAttributeWithContext(ctx aws.Context, input *ResetImageAttributeInput, opts ...request.Option) (*ResetImageAttributeOutput, error) {
  19966. req, out := c.ResetImageAttributeRequest(input)
  19967. req.SetContext(ctx)
  19968. req.ApplyOptions(opts...)
  19969. return out, req.Send()
  19970. }
  19971. const opResetInstanceAttribute = "ResetInstanceAttribute"
  19972. // ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
  19973. // client's request for the ResetInstanceAttribute operation. The "output" return
  19974. // value will be populated with the request's response once the request completes
  19975. // successfuly.
  19976. //
  19977. // Use "Send" method on the returned Request to send the API call to the service.
  19978. // the "output" return value is not valid until after Send returns without error.
  19979. //
  19980. // See ResetInstanceAttribute for more information on using the ResetInstanceAttribute
  19981. // API call, and error handling.
  19982. //
  19983. // This method is useful when you want to inject custom logic or configuration
  19984. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19985. //
  19986. //
  19987. // // Example sending a request using the ResetInstanceAttributeRequest method.
  19988. // req, resp := client.ResetInstanceAttributeRequest(params)
  19989. //
  19990. // err := req.Send()
  19991. // if err == nil { // resp is now filled
  19992. // fmt.Println(resp)
  19993. // }
  19994. //
  19995. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
  19996. func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
  19997. op := &request.Operation{
  19998. Name: opResetInstanceAttribute,
  19999. HTTPMethod: "POST",
  20000. HTTPPath: "/",
  20001. }
  20002. if input == nil {
  20003. input = &ResetInstanceAttributeInput{}
  20004. }
  20005. output = &ResetInstanceAttributeOutput{}
  20006. req = c.newRequest(op, input, output)
  20007. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  20008. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  20009. return
  20010. }
  20011. // ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  20012. //
  20013. // Resets an attribute of an instance to its default value. To reset the kernel
  20014. // or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
  20015. // the instance can be either running or stopped.
  20016. //
  20017. // The sourceDestCheck attribute controls whether source/destination checking
  20018. // is enabled. The default value is true, which means checking is enabled. This
  20019. // value must be false for a NAT instance to perform NAT. For more information,
  20020. // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  20021. // in the Amazon Virtual Private Cloud User Guide.
  20022. //
  20023. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20024. // with awserr.Error's Code and Message methods to get detailed information about
  20025. // the error.
  20026. //
  20027. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20028. // API operation ResetInstanceAttribute for usage and error information.
  20029. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
  20030. func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
  20031. req, out := c.ResetInstanceAttributeRequest(input)
  20032. return out, req.Send()
  20033. }
  20034. // ResetInstanceAttributeWithContext is the same as ResetInstanceAttribute with the addition of
  20035. // the ability to pass a context and additional request options.
  20036. //
  20037. // See ResetInstanceAttribute for details on how to use this API operation.
  20038. //
  20039. // The context must be non-nil and will be used for request cancellation. If
  20040. // the context is nil a panic will occur. In the future the SDK may create
  20041. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20042. // for more information on using Contexts.
  20043. func (c *EC2) ResetInstanceAttributeWithContext(ctx aws.Context, input *ResetInstanceAttributeInput, opts ...request.Option) (*ResetInstanceAttributeOutput, error) {
  20044. req, out := c.ResetInstanceAttributeRequest(input)
  20045. req.SetContext(ctx)
  20046. req.ApplyOptions(opts...)
  20047. return out, req.Send()
  20048. }
  20049. const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
  20050. // ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  20051. // client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
  20052. // value will be populated with the request's response once the request completes
  20053. // successfuly.
  20054. //
  20055. // Use "Send" method on the returned Request to send the API call to the service.
  20056. // the "output" return value is not valid until after Send returns without error.
  20057. //
  20058. // See ResetNetworkInterfaceAttribute for more information on using the ResetNetworkInterfaceAttribute
  20059. // API call, and error handling.
  20060. //
  20061. // This method is useful when you want to inject custom logic or configuration
  20062. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20063. //
  20064. //
  20065. // // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
  20066. // req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
  20067. //
  20068. // err := req.Send()
  20069. // if err == nil { // resp is now filled
  20070. // fmt.Println(resp)
  20071. // }
  20072. //
  20073. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
  20074. func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
  20075. op := &request.Operation{
  20076. Name: opResetNetworkInterfaceAttribute,
  20077. HTTPMethod: "POST",
  20078. HTTPPath: "/",
  20079. }
  20080. if input == nil {
  20081. input = &ResetNetworkInterfaceAttributeInput{}
  20082. }
  20083. output = &ResetNetworkInterfaceAttributeOutput{}
  20084. req = c.newRequest(op, input, output)
  20085. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  20086. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  20087. return
  20088. }
  20089. // ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  20090. //
  20091. // Resets a network interface attribute. You can specify only one attribute
  20092. // at a time.
  20093. //
  20094. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20095. // with awserr.Error's Code and Message methods to get detailed information about
  20096. // the error.
  20097. //
  20098. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20099. // API operation ResetNetworkInterfaceAttribute for usage and error information.
  20100. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
  20101. func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
  20102. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  20103. return out, req.Send()
  20104. }
  20105. // ResetNetworkInterfaceAttributeWithContext is the same as ResetNetworkInterfaceAttribute with the addition of
  20106. // the ability to pass a context and additional request options.
  20107. //
  20108. // See ResetNetworkInterfaceAttribute for details on how to use this API operation.
  20109. //
  20110. // The context must be non-nil and will be used for request cancellation. If
  20111. // the context is nil a panic will occur. In the future the SDK may create
  20112. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20113. // for more information on using Contexts.
  20114. func (c *EC2) ResetNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ResetNetworkInterfaceAttributeInput, opts ...request.Option) (*ResetNetworkInterfaceAttributeOutput, error) {
  20115. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  20116. req.SetContext(ctx)
  20117. req.ApplyOptions(opts...)
  20118. return out, req.Send()
  20119. }
  20120. const opResetSnapshotAttribute = "ResetSnapshotAttribute"
  20121. // ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
  20122. // client's request for the ResetSnapshotAttribute operation. The "output" return
  20123. // value will be populated with the request's response once the request completes
  20124. // successfuly.
  20125. //
  20126. // Use "Send" method on the returned Request to send the API call to the service.
  20127. // the "output" return value is not valid until after Send returns without error.
  20128. //
  20129. // See ResetSnapshotAttribute for more information on using the ResetSnapshotAttribute
  20130. // API call, and error handling.
  20131. //
  20132. // This method is useful when you want to inject custom logic or configuration
  20133. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20134. //
  20135. //
  20136. // // Example sending a request using the ResetSnapshotAttributeRequest method.
  20137. // req, resp := client.ResetSnapshotAttributeRequest(params)
  20138. //
  20139. // err := req.Send()
  20140. // if err == nil { // resp is now filled
  20141. // fmt.Println(resp)
  20142. // }
  20143. //
  20144. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
  20145. func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
  20146. op := &request.Operation{
  20147. Name: opResetSnapshotAttribute,
  20148. HTTPMethod: "POST",
  20149. HTTPPath: "/",
  20150. }
  20151. if input == nil {
  20152. input = &ResetSnapshotAttributeInput{}
  20153. }
  20154. output = &ResetSnapshotAttributeOutput{}
  20155. req = c.newRequest(op, input, output)
  20156. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  20157. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  20158. return
  20159. }
  20160. // ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  20161. //
  20162. // Resets permission settings for the specified snapshot.
  20163. //
  20164. // For more information on modifying snapshot permissions, see Sharing Snapshots
  20165. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  20166. // in the Amazon Elastic Compute Cloud User Guide.
  20167. //
  20168. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20169. // with awserr.Error's Code and Message methods to get detailed information about
  20170. // the error.
  20171. //
  20172. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20173. // API operation ResetSnapshotAttribute for usage and error information.
  20174. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
  20175. func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
  20176. req, out := c.ResetSnapshotAttributeRequest(input)
  20177. return out, req.Send()
  20178. }
  20179. // ResetSnapshotAttributeWithContext is the same as ResetSnapshotAttribute with the addition of
  20180. // the ability to pass a context and additional request options.
  20181. //
  20182. // See ResetSnapshotAttribute for details on how to use this API operation.
  20183. //
  20184. // The context must be non-nil and will be used for request cancellation. If
  20185. // the context is nil a panic will occur. In the future the SDK may create
  20186. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20187. // for more information on using Contexts.
  20188. func (c *EC2) ResetSnapshotAttributeWithContext(ctx aws.Context, input *ResetSnapshotAttributeInput, opts ...request.Option) (*ResetSnapshotAttributeOutput, error) {
  20189. req, out := c.ResetSnapshotAttributeRequest(input)
  20190. req.SetContext(ctx)
  20191. req.ApplyOptions(opts...)
  20192. return out, req.Send()
  20193. }
  20194. const opRestoreAddressToClassic = "RestoreAddressToClassic"
  20195. // RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
  20196. // client's request for the RestoreAddressToClassic operation. The "output" return
  20197. // value will be populated with the request's response once the request completes
  20198. // successfuly.
  20199. //
  20200. // Use "Send" method on the returned Request to send the API call to the service.
  20201. // the "output" return value is not valid until after Send returns without error.
  20202. //
  20203. // See RestoreAddressToClassic for more information on using the RestoreAddressToClassic
  20204. // API call, and error handling.
  20205. //
  20206. // This method is useful when you want to inject custom logic or configuration
  20207. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20208. //
  20209. //
  20210. // // Example sending a request using the RestoreAddressToClassicRequest method.
  20211. // req, resp := client.RestoreAddressToClassicRequest(params)
  20212. //
  20213. // err := req.Send()
  20214. // if err == nil { // resp is now filled
  20215. // fmt.Println(resp)
  20216. // }
  20217. //
  20218. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
  20219. func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
  20220. op := &request.Operation{
  20221. Name: opRestoreAddressToClassic,
  20222. HTTPMethod: "POST",
  20223. HTTPPath: "/",
  20224. }
  20225. if input == nil {
  20226. input = &RestoreAddressToClassicInput{}
  20227. }
  20228. output = &RestoreAddressToClassicOutput{}
  20229. req = c.newRequest(op, input, output)
  20230. return
  20231. }
  20232. // RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
  20233. //
  20234. // Restores an Elastic IP address that was previously moved to the EC2-VPC platform
  20235. // back to the EC2-Classic platform. You cannot move an Elastic IP address that
  20236. // was originally allocated for use in EC2-VPC. The Elastic IP address must
  20237. // not be associated with an instance or network interface.
  20238. //
  20239. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20240. // with awserr.Error's Code and Message methods to get detailed information about
  20241. // the error.
  20242. //
  20243. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20244. // API operation RestoreAddressToClassic for usage and error information.
  20245. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
  20246. func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
  20247. req, out := c.RestoreAddressToClassicRequest(input)
  20248. return out, req.Send()
  20249. }
  20250. // RestoreAddressToClassicWithContext is the same as RestoreAddressToClassic with the addition of
  20251. // the ability to pass a context and additional request options.
  20252. //
  20253. // See RestoreAddressToClassic for details on how to use this API operation.
  20254. //
  20255. // The context must be non-nil and will be used for request cancellation. If
  20256. // the context is nil a panic will occur. In the future the SDK may create
  20257. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20258. // for more information on using Contexts.
  20259. func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *RestoreAddressToClassicInput, opts ...request.Option) (*RestoreAddressToClassicOutput, error) {
  20260. req, out := c.RestoreAddressToClassicRequest(input)
  20261. req.SetContext(ctx)
  20262. req.ApplyOptions(opts...)
  20263. return out, req.Send()
  20264. }
  20265. const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
  20266. // RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  20267. // client's request for the RevokeSecurityGroupEgress operation. The "output" return
  20268. // value will be populated with the request's response once the request completes
  20269. // successfuly.
  20270. //
  20271. // Use "Send" method on the returned Request to send the API call to the service.
  20272. // the "output" return value is not valid until after Send returns without error.
  20273. //
  20274. // See RevokeSecurityGroupEgress for more information on using the RevokeSecurityGroupEgress
  20275. // API call, and error handling.
  20276. //
  20277. // This method is useful when you want to inject custom logic or configuration
  20278. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20279. //
  20280. //
  20281. // // Example sending a request using the RevokeSecurityGroupEgressRequest method.
  20282. // req, resp := client.RevokeSecurityGroupEgressRequest(params)
  20283. //
  20284. // err := req.Send()
  20285. // if err == nil { // resp is now filled
  20286. // fmt.Println(resp)
  20287. // }
  20288. //
  20289. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
  20290. func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
  20291. op := &request.Operation{
  20292. Name: opRevokeSecurityGroupEgress,
  20293. HTTPMethod: "POST",
  20294. HTTPPath: "/",
  20295. }
  20296. if input == nil {
  20297. input = &RevokeSecurityGroupEgressInput{}
  20298. }
  20299. output = &RevokeSecurityGroupEgressOutput{}
  20300. req = c.newRequest(op, input, output)
  20301. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  20302. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  20303. return
  20304. }
  20305. // RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  20306. //
  20307. // [EC2-VPC only] Removes one or more egress rules from a security group for
  20308. // EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic.
  20309. // To remove a rule, the values that you specify (for example, ports) must match
  20310. // the existing rule's values exactly.
  20311. //
  20312. // Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source
  20313. // security group. For the TCP and UDP protocols, you must also specify the
  20314. // destination port or range of ports. For the ICMP protocol, you must also
  20315. // specify the ICMP type and code. If the security group rule has a description,
  20316. // you do not have to specify the description to revoke the rule.
  20317. //
  20318. // Rule changes are propagated to instances within the security group as quickly
  20319. // as possible. However, a small delay might occur.
  20320. //
  20321. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20322. // with awserr.Error's Code and Message methods to get detailed information about
  20323. // the error.
  20324. //
  20325. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20326. // API operation RevokeSecurityGroupEgress for usage and error information.
  20327. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
  20328. func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
  20329. req, out := c.RevokeSecurityGroupEgressRequest(input)
  20330. return out, req.Send()
  20331. }
  20332. // RevokeSecurityGroupEgressWithContext is the same as RevokeSecurityGroupEgress with the addition of
  20333. // the ability to pass a context and additional request options.
  20334. //
  20335. // See RevokeSecurityGroupEgress for details on how to use this API operation.
  20336. //
  20337. // The context must be non-nil and will be used for request cancellation. If
  20338. // the context is nil a panic will occur. In the future the SDK may create
  20339. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20340. // for more information on using Contexts.
  20341. func (c *EC2) RevokeSecurityGroupEgressWithContext(ctx aws.Context, input *RevokeSecurityGroupEgressInput, opts ...request.Option) (*RevokeSecurityGroupEgressOutput, error) {
  20342. req, out := c.RevokeSecurityGroupEgressRequest(input)
  20343. req.SetContext(ctx)
  20344. req.ApplyOptions(opts...)
  20345. return out, req.Send()
  20346. }
  20347. const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
  20348. // RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  20349. // client's request for the RevokeSecurityGroupIngress operation. The "output" return
  20350. // value will be populated with the request's response once the request completes
  20351. // successfuly.
  20352. //
  20353. // Use "Send" method on the returned Request to send the API call to the service.
  20354. // the "output" return value is not valid until after Send returns without error.
  20355. //
  20356. // See RevokeSecurityGroupIngress for more information on using the RevokeSecurityGroupIngress
  20357. // API call, and error handling.
  20358. //
  20359. // This method is useful when you want to inject custom logic or configuration
  20360. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20361. //
  20362. //
  20363. // // Example sending a request using the RevokeSecurityGroupIngressRequest method.
  20364. // req, resp := client.RevokeSecurityGroupIngressRequest(params)
  20365. //
  20366. // err := req.Send()
  20367. // if err == nil { // resp is now filled
  20368. // fmt.Println(resp)
  20369. // }
  20370. //
  20371. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
  20372. func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
  20373. op := &request.Operation{
  20374. Name: opRevokeSecurityGroupIngress,
  20375. HTTPMethod: "POST",
  20376. HTTPPath: "/",
  20377. }
  20378. if input == nil {
  20379. input = &RevokeSecurityGroupIngressInput{}
  20380. }
  20381. output = &RevokeSecurityGroupIngressOutput{}
  20382. req = c.newRequest(op, input, output)
  20383. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  20384. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  20385. return
  20386. }
  20387. // RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  20388. //
  20389. // Removes one or more ingress rules from a security group. To remove a rule,
  20390. // the values that you specify (for example, ports) must match the existing
  20391. // rule's values exactly.
  20392. //
  20393. // [EC2-Classic security groups only] If the values you specify do not match
  20394. // the existing rule's values, no error is returned. Use DescribeSecurityGroups
  20395. // to verify that the rule has been removed.
  20396. //
  20397. // Each rule consists of the protocol and the CIDR range or source security
  20398. // group. For the TCP and UDP protocols, you must also specify the destination
  20399. // port or range of ports. For the ICMP protocol, you must also specify the
  20400. // ICMP type and code. If the security group rule has a description, you do
  20401. // not have to specify the description to revoke the rule.
  20402. //
  20403. // Rule changes are propagated to instances within the security group as quickly
  20404. // as possible. However, a small delay might occur.
  20405. //
  20406. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20407. // with awserr.Error's Code and Message methods to get detailed information about
  20408. // the error.
  20409. //
  20410. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20411. // API operation RevokeSecurityGroupIngress for usage and error information.
  20412. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
  20413. func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
  20414. req, out := c.RevokeSecurityGroupIngressRequest(input)
  20415. return out, req.Send()
  20416. }
  20417. // RevokeSecurityGroupIngressWithContext is the same as RevokeSecurityGroupIngress with the addition of
  20418. // the ability to pass a context and additional request options.
  20419. //
  20420. // See RevokeSecurityGroupIngress for details on how to use this API operation.
  20421. //
  20422. // The context must be non-nil and will be used for request cancellation. If
  20423. // the context is nil a panic will occur. In the future the SDK may create
  20424. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20425. // for more information on using Contexts.
  20426. func (c *EC2) RevokeSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeSecurityGroupIngressInput, opts ...request.Option) (*RevokeSecurityGroupIngressOutput, error) {
  20427. req, out := c.RevokeSecurityGroupIngressRequest(input)
  20428. req.SetContext(ctx)
  20429. req.ApplyOptions(opts...)
  20430. return out, req.Send()
  20431. }
  20432. const opRunInstances = "RunInstances"
  20433. // RunInstancesRequest generates a "aws/request.Request" representing the
  20434. // client's request for the RunInstances operation. The "output" return
  20435. // value will be populated with the request's response once the request completes
  20436. // successfuly.
  20437. //
  20438. // Use "Send" method on the returned Request to send the API call to the service.
  20439. // the "output" return value is not valid until after Send returns without error.
  20440. //
  20441. // See RunInstances for more information on using the RunInstances
  20442. // API call, and error handling.
  20443. //
  20444. // This method is useful when you want to inject custom logic or configuration
  20445. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20446. //
  20447. //
  20448. // // Example sending a request using the RunInstancesRequest method.
  20449. // req, resp := client.RunInstancesRequest(params)
  20450. //
  20451. // err := req.Send()
  20452. // if err == nil { // resp is now filled
  20453. // fmt.Println(resp)
  20454. // }
  20455. //
  20456. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
  20457. func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
  20458. op := &request.Operation{
  20459. Name: opRunInstances,
  20460. HTTPMethod: "POST",
  20461. HTTPPath: "/",
  20462. }
  20463. if input == nil {
  20464. input = &RunInstancesInput{}
  20465. }
  20466. output = &Reservation{}
  20467. req = c.newRequest(op, input, output)
  20468. return
  20469. }
  20470. // RunInstances API operation for Amazon Elastic Compute Cloud.
  20471. //
  20472. // Launches the specified number of instances using an AMI for which you have
  20473. // permissions.
  20474. //
  20475. // You can specify a number of options, or leave the default options. The following
  20476. // rules apply:
  20477. //
  20478. // * [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet
  20479. // from your default VPC for you. If you don't have a default VPC, you must
  20480. // specify a subnet ID in the request.
  20481. //
  20482. // * [EC2-Classic] If don't specify an Availability Zone, we choose one for
  20483. // you.
  20484. //
  20485. // * Some instance types must be launched into a VPC. If you do not have
  20486. // a default VPC, or if you do not specify a subnet ID, the request fails.
  20487. // 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).
  20488. //
  20489. // * [EC2-VPC] All instances have a network interface with a primary private
  20490. // IPv4 address. If you don't specify this address, we choose one from the
  20491. // IPv4 range of your subnet.
  20492. //
  20493. // * Not all instance types support IPv6 addresses. For more information,
  20494. // see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  20495. //
  20496. // * If you don't specify a security group ID, we use the default security
  20497. // group. For more information, see Security Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html).
  20498. //
  20499. // * If any of the AMIs have a product code attached for which the user has
  20500. // not subscribed, the request fails.
  20501. //
  20502. // You can create a launch template (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html),
  20503. // which is a resource that contains the parameters to launch an instance. When
  20504. // you launch an instance using RunInstances, you can specify the launch template
  20505. // instead of specifying the launch parameters.
  20506. //
  20507. // To ensure faster instance launches, break up large requests into smaller
  20508. // batches. For example, create five separate launch requests for 100 instances
  20509. // each instead of one launch request for 500 instances.
  20510. //
  20511. // An instance is ready for you to use when it's in the running state. You can
  20512. // check the state of your instance using DescribeInstances. You can tag instances
  20513. // and EBS volumes during launch, after launch, or both. For more information,
  20514. // see CreateTags and Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  20515. //
  20516. // Linux instances have access to the public key of the key pair at boot. You
  20517. // can use this key to provide secure access to the instance. Amazon EC2 public
  20518. // images use this feature to provide secure access without passwords. For more
  20519. // information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  20520. // in the Amazon Elastic Compute Cloud User Guide.
  20521. //
  20522. // For troubleshooting, see What To Do If An Instance Immediately Terminates
  20523. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
  20524. // and Troubleshooting Connecting to Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)
  20525. // in the Amazon Elastic Compute Cloud User Guide.
  20526. //
  20527. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20528. // with awserr.Error's Code and Message methods to get detailed information about
  20529. // the error.
  20530. //
  20531. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20532. // API operation RunInstances for usage and error information.
  20533. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
  20534. func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
  20535. req, out := c.RunInstancesRequest(input)
  20536. return out, req.Send()
  20537. }
  20538. // RunInstancesWithContext is the same as RunInstances with the addition of
  20539. // the ability to pass a context and additional request options.
  20540. //
  20541. // See RunInstances for details on how to use this API operation.
  20542. //
  20543. // The context must be non-nil and will be used for request cancellation. If
  20544. // the context is nil a panic will occur. In the future the SDK may create
  20545. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20546. // for more information on using Contexts.
  20547. func (c *EC2) RunInstancesWithContext(ctx aws.Context, input *RunInstancesInput, opts ...request.Option) (*Reservation, error) {
  20548. req, out := c.RunInstancesRequest(input)
  20549. req.SetContext(ctx)
  20550. req.ApplyOptions(opts...)
  20551. return out, req.Send()
  20552. }
  20553. const opRunScheduledInstances = "RunScheduledInstances"
  20554. // RunScheduledInstancesRequest generates a "aws/request.Request" representing the
  20555. // client's request for the RunScheduledInstances operation. The "output" return
  20556. // value will be populated with the request's response once the request completes
  20557. // successfuly.
  20558. //
  20559. // Use "Send" method on the returned Request to send the API call to the service.
  20560. // the "output" return value is not valid until after Send returns without error.
  20561. //
  20562. // See RunScheduledInstances for more information on using the RunScheduledInstances
  20563. // API call, and error handling.
  20564. //
  20565. // This method is useful when you want to inject custom logic or configuration
  20566. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20567. //
  20568. //
  20569. // // Example sending a request using the RunScheduledInstancesRequest method.
  20570. // req, resp := client.RunScheduledInstancesRequest(params)
  20571. //
  20572. // err := req.Send()
  20573. // if err == nil { // resp is now filled
  20574. // fmt.Println(resp)
  20575. // }
  20576. //
  20577. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
  20578. func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
  20579. op := &request.Operation{
  20580. Name: opRunScheduledInstances,
  20581. HTTPMethod: "POST",
  20582. HTTPPath: "/",
  20583. }
  20584. if input == nil {
  20585. input = &RunScheduledInstancesInput{}
  20586. }
  20587. output = &RunScheduledInstancesOutput{}
  20588. req = c.newRequest(op, input, output)
  20589. return
  20590. }
  20591. // RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
  20592. //
  20593. // Launches the specified Scheduled Instances.
  20594. //
  20595. // Before you can launch a Scheduled Instance, you must purchase it and obtain
  20596. // an identifier using PurchaseScheduledInstances.
  20597. //
  20598. // You must launch a Scheduled Instance during its scheduled time period. You
  20599. // can't stop or reboot a Scheduled Instance, but you can terminate it as needed.
  20600. // If you terminate a Scheduled Instance before the current scheduled time period
  20601. // ends, you can launch it again after a few minutes. For more information,
  20602. // see Scheduled Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html)
  20603. // in the Amazon Elastic Compute Cloud User Guide.
  20604. //
  20605. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20606. // with awserr.Error's Code and Message methods to get detailed information about
  20607. // the error.
  20608. //
  20609. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20610. // API operation RunScheduledInstances for usage and error information.
  20611. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
  20612. func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
  20613. req, out := c.RunScheduledInstancesRequest(input)
  20614. return out, req.Send()
  20615. }
  20616. // RunScheduledInstancesWithContext is the same as RunScheduledInstances with the addition of
  20617. // the ability to pass a context and additional request options.
  20618. //
  20619. // See RunScheduledInstances for details on how to use this API operation.
  20620. //
  20621. // The context must be non-nil and will be used for request cancellation. If
  20622. // the context is nil a panic will occur. In the future the SDK may create
  20623. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20624. // for more information on using Contexts.
  20625. func (c *EC2) RunScheduledInstancesWithContext(ctx aws.Context, input *RunScheduledInstancesInput, opts ...request.Option) (*RunScheduledInstancesOutput, error) {
  20626. req, out := c.RunScheduledInstancesRequest(input)
  20627. req.SetContext(ctx)
  20628. req.ApplyOptions(opts...)
  20629. return out, req.Send()
  20630. }
  20631. const opStartInstances = "StartInstances"
  20632. // StartInstancesRequest generates a "aws/request.Request" representing the
  20633. // client's request for the StartInstances operation. The "output" return
  20634. // value will be populated with the request's response once the request completes
  20635. // successfuly.
  20636. //
  20637. // Use "Send" method on the returned Request to send the API call to the service.
  20638. // the "output" return value is not valid until after Send returns without error.
  20639. //
  20640. // See StartInstances for more information on using the StartInstances
  20641. // API call, and error handling.
  20642. //
  20643. // This method is useful when you want to inject custom logic or configuration
  20644. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20645. //
  20646. //
  20647. // // Example sending a request using the StartInstancesRequest method.
  20648. // req, resp := client.StartInstancesRequest(params)
  20649. //
  20650. // err := req.Send()
  20651. // if err == nil { // resp is now filled
  20652. // fmt.Println(resp)
  20653. // }
  20654. //
  20655. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
  20656. func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
  20657. op := &request.Operation{
  20658. Name: opStartInstances,
  20659. HTTPMethod: "POST",
  20660. HTTPPath: "/",
  20661. }
  20662. if input == nil {
  20663. input = &StartInstancesInput{}
  20664. }
  20665. output = &StartInstancesOutput{}
  20666. req = c.newRequest(op, input, output)
  20667. return
  20668. }
  20669. // StartInstances API operation for Amazon Elastic Compute Cloud.
  20670. //
  20671. // Starts an Amazon EBS-backed instance that you've previously stopped.
  20672. //
  20673. // Instances that use Amazon EBS volumes as their root devices can be quickly
  20674. // stopped and started. When an instance is stopped, the compute resources are
  20675. // released and you are not billed for instance usage. However, your root partition
  20676. // Amazon EBS volume remains and continues to persist your data, and you are
  20677. // charged for Amazon EBS volume usage. You can restart your instance at any
  20678. // time. Every time you start your Windows instance, Amazon EC2 charges you
  20679. // for a full instance hour. If you stop and restart your Windows instance,
  20680. // a new instance hour begins and Amazon EC2 charges you for another full instance
  20681. // hour even if you are still within the same 60-minute period when it was stopped.
  20682. // Every time you start your Linux instance, Amazon EC2 charges a one-minute
  20683. // minimum for instance usage, and thereafter charges per second for instance
  20684. // usage.
  20685. //
  20686. // Before stopping an instance, make sure it is in a state from which it can
  20687. // be restarted. Stopping an instance does not preserve data stored in RAM.
  20688. //
  20689. // Performing this operation on an instance that uses an instance store as its
  20690. // root device returns an error.
  20691. //
  20692. // For more information, see Stopping Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
  20693. // in the Amazon Elastic Compute Cloud User Guide.
  20694. //
  20695. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20696. // with awserr.Error's Code and Message methods to get detailed information about
  20697. // the error.
  20698. //
  20699. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20700. // API operation StartInstances for usage and error information.
  20701. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
  20702. func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
  20703. req, out := c.StartInstancesRequest(input)
  20704. return out, req.Send()
  20705. }
  20706. // StartInstancesWithContext is the same as StartInstances with the addition of
  20707. // the ability to pass a context and additional request options.
  20708. //
  20709. // See StartInstances for details on how to use this API operation.
  20710. //
  20711. // The context must be non-nil and will be used for request cancellation. If
  20712. // the context is nil a panic will occur. In the future the SDK may create
  20713. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20714. // for more information on using Contexts.
  20715. func (c *EC2) StartInstancesWithContext(ctx aws.Context, input *StartInstancesInput, opts ...request.Option) (*StartInstancesOutput, error) {
  20716. req, out := c.StartInstancesRequest(input)
  20717. req.SetContext(ctx)
  20718. req.ApplyOptions(opts...)
  20719. return out, req.Send()
  20720. }
  20721. const opStopInstances = "StopInstances"
  20722. // StopInstancesRequest generates a "aws/request.Request" representing the
  20723. // client's request for the StopInstances operation. The "output" return
  20724. // value will be populated with the request's response once the request completes
  20725. // successfuly.
  20726. //
  20727. // Use "Send" method on the returned Request to send the API call to the service.
  20728. // the "output" return value is not valid until after Send returns without error.
  20729. //
  20730. // See StopInstances for more information on using the StopInstances
  20731. // API call, and error handling.
  20732. //
  20733. // This method is useful when you want to inject custom logic or configuration
  20734. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20735. //
  20736. //
  20737. // // Example sending a request using the StopInstancesRequest method.
  20738. // req, resp := client.StopInstancesRequest(params)
  20739. //
  20740. // err := req.Send()
  20741. // if err == nil { // resp is now filled
  20742. // fmt.Println(resp)
  20743. // }
  20744. //
  20745. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
  20746. func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
  20747. op := &request.Operation{
  20748. Name: opStopInstances,
  20749. HTTPMethod: "POST",
  20750. HTTPPath: "/",
  20751. }
  20752. if input == nil {
  20753. input = &StopInstancesInput{}
  20754. }
  20755. output = &StopInstancesOutput{}
  20756. req = c.newRequest(op, input, output)
  20757. return
  20758. }
  20759. // StopInstances API operation for Amazon Elastic Compute Cloud.
  20760. //
  20761. // Stops an Amazon EBS-backed instance.
  20762. //
  20763. // We don't charge usage for a stopped instance, or data transfer fees; however,
  20764. // your root partition Amazon EBS volume remains and continues to persist your
  20765. // data, and you are charged for Amazon EBS volume usage. Every time you start
  20766. // your Windows instance, Amazon EC2 charges you for a full instance hour. If
  20767. // you stop and restart your Windows instance, a new instance hour begins and
  20768. // Amazon EC2 charges you for another full instance hour even if you are still
  20769. // within the same 60-minute period when it was stopped. Every time you start
  20770. // your Linux instance, Amazon EC2 charges a one-minute minimum for instance
  20771. // usage, and thereafter charges per second for instance usage.
  20772. //
  20773. // You can't start or stop Spot Instances, and you can't stop instance store-backed
  20774. // instances.
  20775. //
  20776. // When you stop an instance, we shut it down. You can restart your instance
  20777. // at any time. Before stopping an instance, make sure it is in a state from
  20778. // which it can be restarted. Stopping an instance does not preserve data stored
  20779. // in RAM.
  20780. //
  20781. // Stopping an instance is different to rebooting or terminating it. For example,
  20782. // when you stop an instance, the root device and any other devices attached
  20783. // to the instance persist. When you terminate an instance, the root device
  20784. // and any other devices attached during the instance launch are automatically
  20785. // deleted. For more information about the differences between rebooting, stopping,
  20786. // and terminating instances, see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  20787. // in the Amazon Elastic Compute Cloud User Guide.
  20788. //
  20789. // When you stop an instance, we attempt to shut it down forcibly after a short
  20790. // while. If your instance appears stuck in the stopping state after a period
  20791. // of time, there may be an issue with the underlying host computer. For more
  20792. // information, see Troubleshooting Stopping Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
  20793. // in the Amazon Elastic Compute Cloud User Guide.
  20794. //
  20795. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20796. // with awserr.Error's Code and Message methods to get detailed information about
  20797. // the error.
  20798. //
  20799. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20800. // API operation StopInstances for usage and error information.
  20801. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
  20802. func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
  20803. req, out := c.StopInstancesRequest(input)
  20804. return out, req.Send()
  20805. }
  20806. // StopInstancesWithContext is the same as StopInstances with the addition of
  20807. // the ability to pass a context and additional request options.
  20808. //
  20809. // See StopInstances for details on how to use this API operation.
  20810. //
  20811. // The context must be non-nil and will be used for request cancellation. If
  20812. // the context is nil a panic will occur. In the future the SDK may create
  20813. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20814. // for more information on using Contexts.
  20815. func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInput, opts ...request.Option) (*StopInstancesOutput, error) {
  20816. req, out := c.StopInstancesRequest(input)
  20817. req.SetContext(ctx)
  20818. req.ApplyOptions(opts...)
  20819. return out, req.Send()
  20820. }
  20821. const opTerminateInstances = "TerminateInstances"
  20822. // TerminateInstancesRequest generates a "aws/request.Request" representing the
  20823. // client's request for the TerminateInstances operation. The "output" return
  20824. // value will be populated with the request's response once the request completes
  20825. // successfuly.
  20826. //
  20827. // Use "Send" method on the returned Request to send the API call to the service.
  20828. // the "output" return value is not valid until after Send returns without error.
  20829. //
  20830. // See TerminateInstances for more information on using the TerminateInstances
  20831. // API call, and error handling.
  20832. //
  20833. // This method is useful when you want to inject custom logic or configuration
  20834. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20835. //
  20836. //
  20837. // // Example sending a request using the TerminateInstancesRequest method.
  20838. // req, resp := client.TerminateInstancesRequest(params)
  20839. //
  20840. // err := req.Send()
  20841. // if err == nil { // resp is now filled
  20842. // fmt.Println(resp)
  20843. // }
  20844. //
  20845. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
  20846. func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
  20847. op := &request.Operation{
  20848. Name: opTerminateInstances,
  20849. HTTPMethod: "POST",
  20850. HTTPPath: "/",
  20851. }
  20852. if input == nil {
  20853. input = &TerminateInstancesInput{}
  20854. }
  20855. output = &TerminateInstancesOutput{}
  20856. req = c.newRequest(op, input, output)
  20857. return
  20858. }
  20859. // TerminateInstances API operation for Amazon Elastic Compute Cloud.
  20860. //
  20861. // Shuts down one or more instances. This operation is idempotent; if you terminate
  20862. // an instance more than once, each call succeeds.
  20863. //
  20864. // If you specify multiple instances and the request fails (for example, because
  20865. // of a single incorrect instance ID), none of the instances are terminated.
  20866. //
  20867. // Terminated instances remain visible after termination (for approximately
  20868. // one hour).
  20869. //
  20870. // By default, Amazon EC2 deletes all EBS volumes that were attached when the
  20871. // instance launched. Volumes attached after instance launch continue running.
  20872. //
  20873. // You can stop, start, and terminate EBS-backed instances. You can only terminate
  20874. // instance store-backed instances. What happens to an instance differs if you
  20875. // stop it or terminate it. For example, when you stop an instance, the root
  20876. // device and any other devices attached to the instance persist. When you terminate
  20877. // an instance, any attached EBS volumes with the DeleteOnTermination block
  20878. // device mapping parameter set to true are automatically deleted. For more
  20879. // information about the differences between stopping and terminating instances,
  20880. // see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  20881. // in the Amazon Elastic Compute Cloud User Guide.
  20882. //
  20883. // For more information about troubleshooting, see Troubleshooting Terminating
  20884. // Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
  20885. // in the Amazon Elastic Compute Cloud User Guide.
  20886. //
  20887. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20888. // with awserr.Error's Code and Message methods to get detailed information about
  20889. // the error.
  20890. //
  20891. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20892. // API operation TerminateInstances for usage and error information.
  20893. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
  20894. func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
  20895. req, out := c.TerminateInstancesRequest(input)
  20896. return out, req.Send()
  20897. }
  20898. // TerminateInstancesWithContext is the same as TerminateInstances with the addition of
  20899. // the ability to pass a context and additional request options.
  20900. //
  20901. // See TerminateInstances for details on how to use this API operation.
  20902. //
  20903. // The context must be non-nil and will be used for request cancellation. If
  20904. // the context is nil a panic will occur. In the future the SDK may create
  20905. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20906. // for more information on using Contexts.
  20907. func (c *EC2) TerminateInstancesWithContext(ctx aws.Context, input *TerminateInstancesInput, opts ...request.Option) (*TerminateInstancesOutput, error) {
  20908. req, out := c.TerminateInstancesRequest(input)
  20909. req.SetContext(ctx)
  20910. req.ApplyOptions(opts...)
  20911. return out, req.Send()
  20912. }
  20913. const opUnassignIpv6Addresses = "UnassignIpv6Addresses"
  20914. // UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the
  20915. // client's request for the UnassignIpv6Addresses operation. The "output" return
  20916. // value will be populated with the request's response once the request completes
  20917. // successfuly.
  20918. //
  20919. // Use "Send" method on the returned Request to send the API call to the service.
  20920. // the "output" return value is not valid until after Send returns without error.
  20921. //
  20922. // See UnassignIpv6Addresses for more information on using the UnassignIpv6Addresses
  20923. // API call, and error handling.
  20924. //
  20925. // This method is useful when you want to inject custom logic or configuration
  20926. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20927. //
  20928. //
  20929. // // Example sending a request using the UnassignIpv6AddressesRequest method.
  20930. // req, resp := client.UnassignIpv6AddressesRequest(params)
  20931. //
  20932. // err := req.Send()
  20933. // if err == nil { // resp is now filled
  20934. // fmt.Println(resp)
  20935. // }
  20936. //
  20937. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
  20938. func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (req *request.Request, output *UnassignIpv6AddressesOutput) {
  20939. op := &request.Operation{
  20940. Name: opUnassignIpv6Addresses,
  20941. HTTPMethod: "POST",
  20942. HTTPPath: "/",
  20943. }
  20944. if input == nil {
  20945. input = &UnassignIpv6AddressesInput{}
  20946. }
  20947. output = &UnassignIpv6AddressesOutput{}
  20948. req = c.newRequest(op, input, output)
  20949. return
  20950. }
  20951. // UnassignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
  20952. //
  20953. // Unassigns one or more IPv6 addresses from a network interface.
  20954. //
  20955. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20956. // with awserr.Error's Code and Message methods to get detailed information about
  20957. // the error.
  20958. //
  20959. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20960. // API operation UnassignIpv6Addresses for usage and error information.
  20961. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
  20962. func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) {
  20963. req, out := c.UnassignIpv6AddressesRequest(input)
  20964. return out, req.Send()
  20965. }
  20966. // UnassignIpv6AddressesWithContext is the same as UnassignIpv6Addresses with the addition of
  20967. // the ability to pass a context and additional request options.
  20968. //
  20969. // See UnassignIpv6Addresses for details on how to use this API operation.
  20970. //
  20971. // The context must be non-nil and will be used for request cancellation. If
  20972. // the context is nil a panic will occur. In the future the SDK may create
  20973. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20974. // for more information on using Contexts.
  20975. func (c *EC2) UnassignIpv6AddressesWithContext(ctx aws.Context, input *UnassignIpv6AddressesInput, opts ...request.Option) (*UnassignIpv6AddressesOutput, error) {
  20976. req, out := c.UnassignIpv6AddressesRequest(input)
  20977. req.SetContext(ctx)
  20978. req.ApplyOptions(opts...)
  20979. return out, req.Send()
  20980. }
  20981. const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
  20982. // UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  20983. // client's request for the UnassignPrivateIpAddresses operation. The "output" return
  20984. // value will be populated with the request's response once the request completes
  20985. // successfuly.
  20986. //
  20987. // Use "Send" method on the returned Request to send the API call to the service.
  20988. // the "output" return value is not valid until after Send returns without error.
  20989. //
  20990. // See UnassignPrivateIpAddresses for more information on using the UnassignPrivateIpAddresses
  20991. // API call, and error handling.
  20992. //
  20993. // This method is useful when you want to inject custom logic or configuration
  20994. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20995. //
  20996. //
  20997. // // Example sending a request using the UnassignPrivateIpAddressesRequest method.
  20998. // req, resp := client.UnassignPrivateIpAddressesRequest(params)
  20999. //
  21000. // err := req.Send()
  21001. // if err == nil { // resp is now filled
  21002. // fmt.Println(resp)
  21003. // }
  21004. //
  21005. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
  21006. func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
  21007. op := &request.Operation{
  21008. Name: opUnassignPrivateIpAddresses,
  21009. HTTPMethod: "POST",
  21010. HTTPPath: "/",
  21011. }
  21012. if input == nil {
  21013. input = &UnassignPrivateIpAddressesInput{}
  21014. }
  21015. output = &UnassignPrivateIpAddressesOutput{}
  21016. req = c.newRequest(op, input, output)
  21017. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  21018. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  21019. return
  21020. }
  21021. // UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  21022. //
  21023. // Unassigns one or more secondary private IP addresses from a network interface.
  21024. //
  21025. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21026. // with awserr.Error's Code and Message methods to get detailed information about
  21027. // the error.
  21028. //
  21029. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21030. // API operation UnassignPrivateIpAddresses for usage and error information.
  21031. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
  21032. func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
  21033. req, out := c.UnassignPrivateIpAddressesRequest(input)
  21034. return out, req.Send()
  21035. }
  21036. // UnassignPrivateIpAddressesWithContext is the same as UnassignPrivateIpAddresses with the addition of
  21037. // the ability to pass a context and additional request options.
  21038. //
  21039. // See UnassignPrivateIpAddresses for details on how to use this API operation.
  21040. //
  21041. // The context must be non-nil and will be used for request cancellation. If
  21042. // the context is nil a panic will occur. In the future the SDK may create
  21043. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21044. // for more information on using Contexts.
  21045. func (c *EC2) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *UnassignPrivateIpAddressesInput, opts ...request.Option) (*UnassignPrivateIpAddressesOutput, error) {
  21046. req, out := c.UnassignPrivateIpAddressesRequest(input)
  21047. req.SetContext(ctx)
  21048. req.ApplyOptions(opts...)
  21049. return out, req.Send()
  21050. }
  21051. const opUnmonitorInstances = "UnmonitorInstances"
  21052. // UnmonitorInstancesRequest generates a "aws/request.Request" representing the
  21053. // client's request for the UnmonitorInstances operation. The "output" return
  21054. // value will be populated with the request's response once the request completes
  21055. // successfuly.
  21056. //
  21057. // Use "Send" method on the returned Request to send the API call to the service.
  21058. // the "output" return value is not valid until after Send returns without error.
  21059. //
  21060. // See UnmonitorInstances for more information on using the UnmonitorInstances
  21061. // API call, and error handling.
  21062. //
  21063. // This method is useful when you want to inject custom logic or configuration
  21064. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21065. //
  21066. //
  21067. // // Example sending a request using the UnmonitorInstancesRequest method.
  21068. // req, resp := client.UnmonitorInstancesRequest(params)
  21069. //
  21070. // err := req.Send()
  21071. // if err == nil { // resp is now filled
  21072. // fmt.Println(resp)
  21073. // }
  21074. //
  21075. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
  21076. func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
  21077. op := &request.Operation{
  21078. Name: opUnmonitorInstances,
  21079. HTTPMethod: "POST",
  21080. HTTPPath: "/",
  21081. }
  21082. if input == nil {
  21083. input = &UnmonitorInstancesInput{}
  21084. }
  21085. output = &UnmonitorInstancesOutput{}
  21086. req = c.newRequest(op, input, output)
  21087. return
  21088. }
  21089. // UnmonitorInstances API operation for Amazon Elastic Compute Cloud.
  21090. //
  21091. // Disables detailed monitoring for a running instance. For more information,
  21092. // see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  21093. // in the Amazon Elastic Compute Cloud User Guide.
  21094. //
  21095. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21096. // with awserr.Error's Code and Message methods to get detailed information about
  21097. // the error.
  21098. //
  21099. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21100. // API operation UnmonitorInstances for usage and error information.
  21101. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
  21102. func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
  21103. req, out := c.UnmonitorInstancesRequest(input)
  21104. return out, req.Send()
  21105. }
  21106. // UnmonitorInstancesWithContext is the same as UnmonitorInstances with the addition of
  21107. // the ability to pass a context and additional request options.
  21108. //
  21109. // See UnmonitorInstances for details on how to use this API operation.
  21110. //
  21111. // The context must be non-nil and will be used for request cancellation. If
  21112. // the context is nil a panic will occur. In the future the SDK may create
  21113. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21114. // for more information on using Contexts.
  21115. func (c *EC2) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorInstancesInput, opts ...request.Option) (*UnmonitorInstancesOutput, error) {
  21116. req, out := c.UnmonitorInstancesRequest(input)
  21117. req.SetContext(ctx)
  21118. req.ApplyOptions(opts...)
  21119. return out, req.Send()
  21120. }
  21121. const opUpdateSecurityGroupRuleDescriptionsEgress = "UpdateSecurityGroupRuleDescriptionsEgress"
  21122. // UpdateSecurityGroupRuleDescriptionsEgressRequest generates a "aws/request.Request" representing the
  21123. // client's request for the UpdateSecurityGroupRuleDescriptionsEgress operation. The "output" return
  21124. // value will be populated with the request's response once the request completes
  21125. // successfuly.
  21126. //
  21127. // Use "Send" method on the returned Request to send the API call to the service.
  21128. // the "output" return value is not valid until after Send returns without error.
  21129. //
  21130. // See UpdateSecurityGroupRuleDescriptionsEgress for more information on using the UpdateSecurityGroupRuleDescriptionsEgress
  21131. // API call, and error handling.
  21132. //
  21133. // This method is useful when you want to inject custom logic or configuration
  21134. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21135. //
  21136. //
  21137. // // Example sending a request using the UpdateSecurityGroupRuleDescriptionsEgressRequest method.
  21138. // req, resp := client.UpdateSecurityGroupRuleDescriptionsEgressRequest(params)
  21139. //
  21140. // err := req.Send()
  21141. // if err == nil { // resp is now filled
  21142. // fmt.Println(resp)
  21143. // }
  21144. //
  21145. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
  21146. func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressRequest(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsEgressOutput) {
  21147. op := &request.Operation{
  21148. Name: opUpdateSecurityGroupRuleDescriptionsEgress,
  21149. HTTPMethod: "POST",
  21150. HTTPPath: "/",
  21151. }
  21152. if input == nil {
  21153. input = &UpdateSecurityGroupRuleDescriptionsEgressInput{}
  21154. }
  21155. output = &UpdateSecurityGroupRuleDescriptionsEgressOutput{}
  21156. req = c.newRequest(op, input, output)
  21157. return
  21158. }
  21159. // UpdateSecurityGroupRuleDescriptionsEgress API operation for Amazon Elastic Compute Cloud.
  21160. //
  21161. // [EC2-VPC only] Updates the description of an egress (outbound) security group
  21162. // rule. You can replace an existing description, or add a description to a
  21163. // rule that did not have one previously.
  21164. //
  21165. // You specify the description as part of the IP permissions structure. You
  21166. // can remove a description for a security group rule by omitting the description
  21167. // parameter in the request.
  21168. //
  21169. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21170. // with awserr.Error's Code and Message methods to get detailed information about
  21171. // the error.
  21172. //
  21173. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21174. // API operation UpdateSecurityGroupRuleDescriptionsEgress for usage and error information.
  21175. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
  21176. func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgress(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
  21177. req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
  21178. return out, req.Send()
  21179. }
  21180. // UpdateSecurityGroupRuleDescriptionsEgressWithContext is the same as UpdateSecurityGroupRuleDescriptionsEgress with the addition of
  21181. // the ability to pass a context and additional request options.
  21182. //
  21183. // See UpdateSecurityGroupRuleDescriptionsEgress for details on how to use this API operation.
  21184. //
  21185. // The context must be non-nil and will be used for request cancellation. If
  21186. // the context is nil a panic will occur. In the future the SDK may create
  21187. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21188. // for more information on using Contexts.
  21189. func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsEgressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
  21190. req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
  21191. req.SetContext(ctx)
  21192. req.ApplyOptions(opts...)
  21193. return out, req.Send()
  21194. }
  21195. const opUpdateSecurityGroupRuleDescriptionsIngress = "UpdateSecurityGroupRuleDescriptionsIngress"
  21196. // UpdateSecurityGroupRuleDescriptionsIngressRequest generates a "aws/request.Request" representing the
  21197. // client's request for the UpdateSecurityGroupRuleDescriptionsIngress operation. The "output" return
  21198. // value will be populated with the request's response once the request completes
  21199. // successfuly.
  21200. //
  21201. // Use "Send" method on the returned Request to send the API call to the service.
  21202. // the "output" return value is not valid until after Send returns without error.
  21203. //
  21204. // See UpdateSecurityGroupRuleDescriptionsIngress for more information on using the UpdateSecurityGroupRuleDescriptionsIngress
  21205. // API call, and error handling.
  21206. //
  21207. // This method is useful when you want to inject custom logic or configuration
  21208. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21209. //
  21210. //
  21211. // // Example sending a request using the UpdateSecurityGroupRuleDescriptionsIngressRequest method.
  21212. // req, resp := client.UpdateSecurityGroupRuleDescriptionsIngressRequest(params)
  21213. //
  21214. // err := req.Send()
  21215. // if err == nil { // resp is now filled
  21216. // fmt.Println(resp)
  21217. // }
  21218. //
  21219. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
  21220. func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressRequest(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsIngressOutput) {
  21221. op := &request.Operation{
  21222. Name: opUpdateSecurityGroupRuleDescriptionsIngress,
  21223. HTTPMethod: "POST",
  21224. HTTPPath: "/",
  21225. }
  21226. if input == nil {
  21227. input = &UpdateSecurityGroupRuleDescriptionsIngressInput{}
  21228. }
  21229. output = &UpdateSecurityGroupRuleDescriptionsIngressOutput{}
  21230. req = c.newRequest(op, input, output)
  21231. return
  21232. }
  21233. // UpdateSecurityGroupRuleDescriptionsIngress API operation for Amazon Elastic Compute Cloud.
  21234. //
  21235. // Updates the description of an ingress (inbound) security group rule. You
  21236. // can replace an existing description, or add a description to a rule that
  21237. // did not have one previously.
  21238. //
  21239. // You specify the description as part of the IP permissions structure. You
  21240. // can remove a description for a security group rule by omitting the description
  21241. // parameter in the request.
  21242. //
  21243. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21244. // with awserr.Error's Code and Message methods to get detailed information about
  21245. // the error.
  21246. //
  21247. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21248. // API operation UpdateSecurityGroupRuleDescriptionsIngress for usage and error information.
  21249. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
  21250. func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngress(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
  21251. req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
  21252. return out, req.Send()
  21253. }
  21254. // UpdateSecurityGroupRuleDescriptionsIngressWithContext is the same as UpdateSecurityGroupRuleDescriptionsIngress with the addition of
  21255. // the ability to pass a context and additional request options.
  21256. //
  21257. // See UpdateSecurityGroupRuleDescriptionsIngress for details on how to use this API operation.
  21258. //
  21259. // The context must be non-nil and will be used for request cancellation. If
  21260. // the context is nil a panic will occur. In the future the SDK may create
  21261. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21262. // for more information on using Contexts.
  21263. func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsIngressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
  21264. req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
  21265. req.SetContext(ctx)
  21266. req.ApplyOptions(opts...)
  21267. return out, req.Send()
  21268. }
  21269. // Contains the parameters for accepting the quote.
  21270. type AcceptReservedInstancesExchangeQuoteInput struct {
  21271. _ struct{} `type:"structure"`
  21272. // Checks whether you have the required permissions for the action, without
  21273. // actually making the request, and provides an error response. If you have
  21274. // the required permissions, the error response is DryRunOperation. Otherwise,
  21275. // it is UnauthorizedOperation.
  21276. DryRun *bool `type:"boolean"`
  21277. // The IDs of the Convertible Reserved Instances to exchange for another Convertible
  21278. // Reserved Instance of the same or higher value.
  21279. //
  21280. // ReservedInstanceIds is a required field
  21281. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  21282. // The configuration of the target Convertible Reserved Instance to exchange
  21283. // for your current Convertible Reserved Instances.
  21284. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  21285. }
  21286. // String returns the string representation
  21287. func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
  21288. return awsutil.Prettify(s)
  21289. }
  21290. // GoString returns the string representation
  21291. func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
  21292. return s.String()
  21293. }
  21294. // Validate inspects the fields of the type to determine if they are valid.
  21295. func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
  21296. invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
  21297. if s.ReservedInstanceIds == nil {
  21298. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  21299. }
  21300. if s.TargetConfigurations != nil {
  21301. for i, v := range s.TargetConfigurations {
  21302. if v == nil {
  21303. continue
  21304. }
  21305. if err := v.Validate(); err != nil {
  21306. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  21307. }
  21308. }
  21309. }
  21310. if invalidParams.Len() > 0 {
  21311. return invalidParams
  21312. }
  21313. return nil
  21314. }
  21315. // SetDryRun sets the DryRun field's value.
  21316. func (s *AcceptReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *AcceptReservedInstancesExchangeQuoteInput {
  21317. s.DryRun = &v
  21318. return s
  21319. }
  21320. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  21321. func (s *AcceptReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *AcceptReservedInstancesExchangeQuoteInput {
  21322. s.ReservedInstanceIds = v
  21323. return s
  21324. }
  21325. // SetTargetConfigurations sets the TargetConfigurations field's value.
  21326. func (s *AcceptReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *AcceptReservedInstancesExchangeQuoteInput {
  21327. s.TargetConfigurations = v
  21328. return s
  21329. }
  21330. // The result of the exchange and whether it was successful.
  21331. type AcceptReservedInstancesExchangeQuoteOutput struct {
  21332. _ struct{} `type:"structure"`
  21333. // The ID of the successful exchange.
  21334. ExchangeId *string `locationName:"exchangeId" type:"string"`
  21335. }
  21336. // String returns the string representation
  21337. func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
  21338. return awsutil.Prettify(s)
  21339. }
  21340. // GoString returns the string representation
  21341. func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
  21342. return s.String()
  21343. }
  21344. // SetExchangeId sets the ExchangeId field's value.
  21345. func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *AcceptReservedInstancesExchangeQuoteOutput {
  21346. s.ExchangeId = &v
  21347. return s
  21348. }
  21349. type AcceptVpcEndpointConnectionsInput struct {
  21350. _ struct{} `type:"structure"`
  21351. // Checks whether you have the required permissions for the action, without
  21352. // actually making the request, and provides an error response. If you have
  21353. // the required permissions, the error response is DryRunOperation. Otherwise,
  21354. // it is UnauthorizedOperation.
  21355. DryRun *bool `type:"boolean"`
  21356. // The ID of the endpoint service.
  21357. //
  21358. // ServiceId is a required field
  21359. ServiceId *string `type:"string" required:"true"`
  21360. // The IDs of one or more interface VPC endpoints.
  21361. //
  21362. // VpcEndpointIds is a required field
  21363. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  21364. }
  21365. // String returns the string representation
  21366. func (s AcceptVpcEndpointConnectionsInput) String() string {
  21367. return awsutil.Prettify(s)
  21368. }
  21369. // GoString returns the string representation
  21370. func (s AcceptVpcEndpointConnectionsInput) GoString() string {
  21371. return s.String()
  21372. }
  21373. // Validate inspects the fields of the type to determine if they are valid.
  21374. func (s *AcceptVpcEndpointConnectionsInput) Validate() error {
  21375. invalidParams := request.ErrInvalidParams{Context: "AcceptVpcEndpointConnectionsInput"}
  21376. if s.ServiceId == nil {
  21377. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  21378. }
  21379. if s.VpcEndpointIds == nil {
  21380. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  21381. }
  21382. if invalidParams.Len() > 0 {
  21383. return invalidParams
  21384. }
  21385. return nil
  21386. }
  21387. // SetDryRun sets the DryRun field's value.
  21388. func (s *AcceptVpcEndpointConnectionsInput) SetDryRun(v bool) *AcceptVpcEndpointConnectionsInput {
  21389. s.DryRun = &v
  21390. return s
  21391. }
  21392. // SetServiceId sets the ServiceId field's value.
  21393. func (s *AcceptVpcEndpointConnectionsInput) SetServiceId(v string) *AcceptVpcEndpointConnectionsInput {
  21394. s.ServiceId = &v
  21395. return s
  21396. }
  21397. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  21398. func (s *AcceptVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *AcceptVpcEndpointConnectionsInput {
  21399. s.VpcEndpointIds = v
  21400. return s
  21401. }
  21402. type AcceptVpcEndpointConnectionsOutput struct {
  21403. _ struct{} `type:"structure"`
  21404. // Information about the interface endpoints that were not accepted, if applicable.
  21405. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  21406. }
  21407. // String returns the string representation
  21408. func (s AcceptVpcEndpointConnectionsOutput) String() string {
  21409. return awsutil.Prettify(s)
  21410. }
  21411. // GoString returns the string representation
  21412. func (s AcceptVpcEndpointConnectionsOutput) GoString() string {
  21413. return s.String()
  21414. }
  21415. // SetUnsuccessful sets the Unsuccessful field's value.
  21416. func (s *AcceptVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *AcceptVpcEndpointConnectionsOutput {
  21417. s.Unsuccessful = v
  21418. return s
  21419. }
  21420. // Contains the parameters for AcceptVpcPeeringConnection.
  21421. type AcceptVpcPeeringConnectionInput struct {
  21422. _ struct{} `type:"structure"`
  21423. // Checks whether you have the required permissions for the action, without
  21424. // actually making the request, and provides an error response. If you have
  21425. // the required permissions, the error response is DryRunOperation. Otherwise,
  21426. // it is UnauthorizedOperation.
  21427. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21428. // The ID of the VPC peering connection. You must specify this parameter in
  21429. // the request.
  21430. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  21431. }
  21432. // String returns the string representation
  21433. func (s AcceptVpcPeeringConnectionInput) String() string {
  21434. return awsutil.Prettify(s)
  21435. }
  21436. // GoString returns the string representation
  21437. func (s AcceptVpcPeeringConnectionInput) GoString() string {
  21438. return s.String()
  21439. }
  21440. // SetDryRun sets the DryRun field's value.
  21441. func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput {
  21442. s.DryRun = &v
  21443. return s
  21444. }
  21445. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  21446. func (s *AcceptVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *AcceptVpcPeeringConnectionInput {
  21447. s.VpcPeeringConnectionId = &v
  21448. return s
  21449. }
  21450. // Contains the output of AcceptVpcPeeringConnection.
  21451. type AcceptVpcPeeringConnectionOutput struct {
  21452. _ struct{} `type:"structure"`
  21453. // Information about the VPC peering connection.
  21454. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  21455. }
  21456. // String returns the string representation
  21457. func (s AcceptVpcPeeringConnectionOutput) String() string {
  21458. return awsutil.Prettify(s)
  21459. }
  21460. // GoString returns the string representation
  21461. func (s AcceptVpcPeeringConnectionOutput) GoString() string {
  21462. return s.String()
  21463. }
  21464. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  21465. func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *AcceptVpcPeeringConnectionOutput {
  21466. s.VpcPeeringConnection = v
  21467. return s
  21468. }
  21469. // Describes an account attribute.
  21470. type AccountAttribute struct {
  21471. _ struct{} `type:"structure"`
  21472. // The name of the account attribute.
  21473. AttributeName *string `locationName:"attributeName" type:"string"`
  21474. // One or more values for the account attribute.
  21475. AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
  21476. }
  21477. // String returns the string representation
  21478. func (s AccountAttribute) String() string {
  21479. return awsutil.Prettify(s)
  21480. }
  21481. // GoString returns the string representation
  21482. func (s AccountAttribute) GoString() string {
  21483. return s.String()
  21484. }
  21485. // SetAttributeName sets the AttributeName field's value.
  21486. func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
  21487. s.AttributeName = &v
  21488. return s
  21489. }
  21490. // SetAttributeValues sets the AttributeValues field's value.
  21491. func (s *AccountAttribute) SetAttributeValues(v []*AccountAttributeValue) *AccountAttribute {
  21492. s.AttributeValues = v
  21493. return s
  21494. }
  21495. // Describes a value of an account attribute.
  21496. type AccountAttributeValue struct {
  21497. _ struct{} `type:"structure"`
  21498. // The value of the attribute.
  21499. AttributeValue *string `locationName:"attributeValue" type:"string"`
  21500. }
  21501. // String returns the string representation
  21502. func (s AccountAttributeValue) String() string {
  21503. return awsutil.Prettify(s)
  21504. }
  21505. // GoString returns the string representation
  21506. func (s AccountAttributeValue) GoString() string {
  21507. return s.String()
  21508. }
  21509. // SetAttributeValue sets the AttributeValue field's value.
  21510. func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeValue {
  21511. s.AttributeValue = &v
  21512. return s
  21513. }
  21514. // Describes a running instance in a Spot Fleet.
  21515. type ActiveInstance struct {
  21516. _ struct{} `type:"structure"`
  21517. // The health status of the instance. If the status of either the instance status
  21518. // check or the system status check is impaired, the health status of the instance
  21519. // is unhealthy. Otherwise, the health status is healthy.
  21520. InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"`
  21521. // The ID of the instance.
  21522. InstanceId *string `locationName:"instanceId" type:"string"`
  21523. // The instance type.
  21524. InstanceType *string `locationName:"instanceType" type:"string"`
  21525. // The ID of the Spot Instance request.
  21526. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  21527. }
  21528. // String returns the string representation
  21529. func (s ActiveInstance) String() string {
  21530. return awsutil.Prettify(s)
  21531. }
  21532. // GoString returns the string representation
  21533. func (s ActiveInstance) GoString() string {
  21534. return s.String()
  21535. }
  21536. // SetInstanceHealth sets the InstanceHealth field's value.
  21537. func (s *ActiveInstance) SetInstanceHealth(v string) *ActiveInstance {
  21538. s.InstanceHealth = &v
  21539. return s
  21540. }
  21541. // SetInstanceId sets the InstanceId field's value.
  21542. func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance {
  21543. s.InstanceId = &v
  21544. return s
  21545. }
  21546. // SetInstanceType sets the InstanceType field's value.
  21547. func (s *ActiveInstance) SetInstanceType(v string) *ActiveInstance {
  21548. s.InstanceType = &v
  21549. return s
  21550. }
  21551. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  21552. func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance {
  21553. s.SpotInstanceRequestId = &v
  21554. return s
  21555. }
  21556. // Describes an Elastic IP address.
  21557. type Address struct {
  21558. _ struct{} `type:"structure"`
  21559. // The ID representing the allocation of the address for use with EC2-VPC.
  21560. AllocationId *string `locationName:"allocationId" type:"string"`
  21561. // The ID representing the association of the address with an instance in a
  21562. // VPC.
  21563. AssociationId *string `locationName:"associationId" type:"string"`
  21564. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  21565. // (standard) or instances in a VPC (vpc).
  21566. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  21567. // The ID of the instance that the address is associated with (if any).
  21568. InstanceId *string `locationName:"instanceId" type:"string"`
  21569. // The ID of the network interface.
  21570. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  21571. // The ID of the AWS account that owns the network interface.
  21572. NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
  21573. // The private IP address associated with the Elastic IP address.
  21574. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  21575. // The Elastic IP address.
  21576. PublicIp *string `locationName:"publicIp" type:"string"`
  21577. // Any tags assigned to the Elastic IP address.
  21578. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  21579. }
  21580. // String returns the string representation
  21581. func (s Address) String() string {
  21582. return awsutil.Prettify(s)
  21583. }
  21584. // GoString returns the string representation
  21585. func (s Address) GoString() string {
  21586. return s.String()
  21587. }
  21588. // SetAllocationId sets the AllocationId field's value.
  21589. func (s *Address) SetAllocationId(v string) *Address {
  21590. s.AllocationId = &v
  21591. return s
  21592. }
  21593. // SetAssociationId sets the AssociationId field's value.
  21594. func (s *Address) SetAssociationId(v string) *Address {
  21595. s.AssociationId = &v
  21596. return s
  21597. }
  21598. // SetDomain sets the Domain field's value.
  21599. func (s *Address) SetDomain(v string) *Address {
  21600. s.Domain = &v
  21601. return s
  21602. }
  21603. // SetInstanceId sets the InstanceId field's value.
  21604. func (s *Address) SetInstanceId(v string) *Address {
  21605. s.InstanceId = &v
  21606. return s
  21607. }
  21608. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  21609. func (s *Address) SetNetworkInterfaceId(v string) *Address {
  21610. s.NetworkInterfaceId = &v
  21611. return s
  21612. }
  21613. // SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
  21614. func (s *Address) SetNetworkInterfaceOwnerId(v string) *Address {
  21615. s.NetworkInterfaceOwnerId = &v
  21616. return s
  21617. }
  21618. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  21619. func (s *Address) SetPrivateIpAddress(v string) *Address {
  21620. s.PrivateIpAddress = &v
  21621. return s
  21622. }
  21623. // SetPublicIp sets the PublicIp field's value.
  21624. func (s *Address) SetPublicIp(v string) *Address {
  21625. s.PublicIp = &v
  21626. return s
  21627. }
  21628. // SetTags sets the Tags field's value.
  21629. func (s *Address) SetTags(v []*Tag) *Address {
  21630. s.Tags = v
  21631. return s
  21632. }
  21633. // Contains the parameters for AllocateAddress.
  21634. type AllocateAddressInput struct {
  21635. _ struct{} `type:"structure"`
  21636. // [EC2-VPC] The Elastic IP address to recover.
  21637. Address *string `type:"string"`
  21638. // Set to vpc to allocate the address for use with instances in a VPC.
  21639. //
  21640. // Default: The address is for use with instances in EC2-Classic.
  21641. Domain *string `type:"string" enum:"DomainType"`
  21642. // Checks whether you have the required permissions for the action, without
  21643. // actually making the request, and provides an error response. If you have
  21644. // the required permissions, the error response is DryRunOperation. Otherwise,
  21645. // it is UnauthorizedOperation.
  21646. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21647. }
  21648. // String returns the string representation
  21649. func (s AllocateAddressInput) String() string {
  21650. return awsutil.Prettify(s)
  21651. }
  21652. // GoString returns the string representation
  21653. func (s AllocateAddressInput) GoString() string {
  21654. return s.String()
  21655. }
  21656. // SetAddress sets the Address field's value.
  21657. func (s *AllocateAddressInput) SetAddress(v string) *AllocateAddressInput {
  21658. s.Address = &v
  21659. return s
  21660. }
  21661. // SetDomain sets the Domain field's value.
  21662. func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
  21663. s.Domain = &v
  21664. return s
  21665. }
  21666. // SetDryRun sets the DryRun field's value.
  21667. func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
  21668. s.DryRun = &v
  21669. return s
  21670. }
  21671. // Contains the output of AllocateAddress.
  21672. type AllocateAddressOutput struct {
  21673. _ struct{} `type:"structure"`
  21674. // [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
  21675. // IP address for use with instances in a VPC.
  21676. AllocationId *string `locationName:"allocationId" type:"string"`
  21677. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  21678. // (standard) or instances in a VPC (vpc).
  21679. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  21680. // The Elastic IP address.
  21681. PublicIp *string `locationName:"publicIp" type:"string"`
  21682. }
  21683. // String returns the string representation
  21684. func (s AllocateAddressOutput) String() string {
  21685. return awsutil.Prettify(s)
  21686. }
  21687. // GoString returns the string representation
  21688. func (s AllocateAddressOutput) GoString() string {
  21689. return s.String()
  21690. }
  21691. // SetAllocationId sets the AllocationId field's value.
  21692. func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput {
  21693. s.AllocationId = &v
  21694. return s
  21695. }
  21696. // SetDomain sets the Domain field's value.
  21697. func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
  21698. s.Domain = &v
  21699. return s
  21700. }
  21701. // SetPublicIp sets the PublicIp field's value.
  21702. func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
  21703. s.PublicIp = &v
  21704. return s
  21705. }
  21706. // Contains the parameters for AllocateHosts.
  21707. type AllocateHostsInput struct {
  21708. _ struct{} `type:"structure"`
  21709. // This is enabled by default. This property allows instances to be automatically
  21710. // placed onto available Dedicated Hosts, when you are launching instances without
  21711. // specifying a host ID.
  21712. //
  21713. // Default: Enabled
  21714. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  21715. // The Availability Zone for the Dedicated Hosts.
  21716. //
  21717. // AvailabilityZone is a required field
  21718. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  21719. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  21720. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  21721. // in the Amazon Elastic Compute Cloud User Guide.
  21722. ClientToken *string `locationName:"clientToken" type:"string"`
  21723. // Specify the instance type that you want your Dedicated Hosts to be configured
  21724. // for. When you specify the instance type, that is the only instance type that
  21725. // you can launch onto that host.
  21726. //
  21727. // InstanceType is a required field
  21728. InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
  21729. // The number of Dedicated Hosts you want to allocate to your account with these
  21730. // parameters.
  21731. //
  21732. // Quantity is a required field
  21733. Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
  21734. }
  21735. // String returns the string representation
  21736. func (s AllocateHostsInput) String() string {
  21737. return awsutil.Prettify(s)
  21738. }
  21739. // GoString returns the string representation
  21740. func (s AllocateHostsInput) GoString() string {
  21741. return s.String()
  21742. }
  21743. // Validate inspects the fields of the type to determine if they are valid.
  21744. func (s *AllocateHostsInput) Validate() error {
  21745. invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
  21746. if s.AvailabilityZone == nil {
  21747. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  21748. }
  21749. if s.InstanceType == nil {
  21750. invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  21751. }
  21752. if s.Quantity == nil {
  21753. invalidParams.Add(request.NewErrParamRequired("Quantity"))
  21754. }
  21755. if invalidParams.Len() > 0 {
  21756. return invalidParams
  21757. }
  21758. return nil
  21759. }
  21760. // SetAutoPlacement sets the AutoPlacement field's value.
  21761. func (s *AllocateHostsInput) SetAutoPlacement(v string) *AllocateHostsInput {
  21762. s.AutoPlacement = &v
  21763. return s
  21764. }
  21765. // SetAvailabilityZone sets the AvailabilityZone field's value.
  21766. func (s *AllocateHostsInput) SetAvailabilityZone(v string) *AllocateHostsInput {
  21767. s.AvailabilityZone = &v
  21768. return s
  21769. }
  21770. // SetClientToken sets the ClientToken field's value.
  21771. func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput {
  21772. s.ClientToken = &v
  21773. return s
  21774. }
  21775. // SetInstanceType sets the InstanceType field's value.
  21776. func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput {
  21777. s.InstanceType = &v
  21778. return s
  21779. }
  21780. // SetQuantity sets the Quantity field's value.
  21781. func (s *AllocateHostsInput) SetQuantity(v int64) *AllocateHostsInput {
  21782. s.Quantity = &v
  21783. return s
  21784. }
  21785. // Contains the output of AllocateHosts.
  21786. type AllocateHostsOutput struct {
  21787. _ struct{} `type:"structure"`
  21788. // The ID of the allocated Dedicated Host. This is used when you want to launch
  21789. // an instance onto a specific host.
  21790. HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  21791. }
  21792. // String returns the string representation
  21793. func (s AllocateHostsOutput) String() string {
  21794. return awsutil.Prettify(s)
  21795. }
  21796. // GoString returns the string representation
  21797. func (s AllocateHostsOutput) GoString() string {
  21798. return s.String()
  21799. }
  21800. // SetHostIds sets the HostIds field's value.
  21801. func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput {
  21802. s.HostIds = v
  21803. return s
  21804. }
  21805. // Describes a principal.
  21806. type AllowedPrincipal struct {
  21807. _ struct{} `type:"structure"`
  21808. // The Amazon Resource Name (ARN) of the principal.
  21809. Principal *string `locationName:"principal" type:"string"`
  21810. // The type of principal.
  21811. PrincipalType *string `locationName:"principalType" type:"string" enum:"PrincipalType"`
  21812. }
  21813. // String returns the string representation
  21814. func (s AllowedPrincipal) String() string {
  21815. return awsutil.Prettify(s)
  21816. }
  21817. // GoString returns the string representation
  21818. func (s AllowedPrincipal) GoString() string {
  21819. return s.String()
  21820. }
  21821. // SetPrincipal sets the Principal field's value.
  21822. func (s *AllowedPrincipal) SetPrincipal(v string) *AllowedPrincipal {
  21823. s.Principal = &v
  21824. return s
  21825. }
  21826. // SetPrincipalType sets the PrincipalType field's value.
  21827. func (s *AllowedPrincipal) SetPrincipalType(v string) *AllowedPrincipal {
  21828. s.PrincipalType = &v
  21829. return s
  21830. }
  21831. type AssignIpv6AddressesInput struct {
  21832. _ struct{} `type:"structure"`
  21833. // The number of IPv6 addresses to assign to the network interface. Amazon EC2
  21834. // automatically selects the IPv6 addresses from the subnet range. You can't
  21835. // use this option if specifying specific IPv6 addresses.
  21836. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  21837. // One or more specific IPv6 addresses to be assigned to the network interface.
  21838. // You can't use this option if you're specifying a number of IPv6 addresses.
  21839. Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
  21840. // The ID of the network interface.
  21841. //
  21842. // NetworkInterfaceId is a required field
  21843. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  21844. }
  21845. // String returns the string representation
  21846. func (s AssignIpv6AddressesInput) String() string {
  21847. return awsutil.Prettify(s)
  21848. }
  21849. // GoString returns the string representation
  21850. func (s AssignIpv6AddressesInput) GoString() string {
  21851. return s.String()
  21852. }
  21853. // Validate inspects the fields of the type to determine if they are valid.
  21854. func (s *AssignIpv6AddressesInput) Validate() error {
  21855. invalidParams := request.ErrInvalidParams{Context: "AssignIpv6AddressesInput"}
  21856. if s.NetworkInterfaceId == nil {
  21857. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  21858. }
  21859. if invalidParams.Len() > 0 {
  21860. return invalidParams
  21861. }
  21862. return nil
  21863. }
  21864. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  21865. func (s *AssignIpv6AddressesInput) SetIpv6AddressCount(v int64) *AssignIpv6AddressesInput {
  21866. s.Ipv6AddressCount = &v
  21867. return s
  21868. }
  21869. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  21870. func (s *AssignIpv6AddressesInput) SetIpv6Addresses(v []*string) *AssignIpv6AddressesInput {
  21871. s.Ipv6Addresses = v
  21872. return s
  21873. }
  21874. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  21875. func (s *AssignIpv6AddressesInput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesInput {
  21876. s.NetworkInterfaceId = &v
  21877. return s
  21878. }
  21879. type AssignIpv6AddressesOutput struct {
  21880. _ struct{} `type:"structure"`
  21881. // The IPv6 addresses assigned to the network interface.
  21882. AssignedIpv6Addresses []*string `locationName:"assignedIpv6Addresses" locationNameList:"item" type:"list"`
  21883. // The ID of the network interface.
  21884. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  21885. }
  21886. // String returns the string representation
  21887. func (s AssignIpv6AddressesOutput) String() string {
  21888. return awsutil.Prettify(s)
  21889. }
  21890. // GoString returns the string representation
  21891. func (s AssignIpv6AddressesOutput) GoString() string {
  21892. return s.String()
  21893. }
  21894. // SetAssignedIpv6Addresses sets the AssignedIpv6Addresses field's value.
  21895. func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Addresses(v []*string) *AssignIpv6AddressesOutput {
  21896. s.AssignedIpv6Addresses = v
  21897. return s
  21898. }
  21899. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  21900. func (s *AssignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesOutput {
  21901. s.NetworkInterfaceId = &v
  21902. return s
  21903. }
  21904. // Contains the parameters for AssignPrivateIpAddresses.
  21905. type AssignPrivateIpAddressesInput struct {
  21906. _ struct{} `type:"structure"`
  21907. // Indicates whether to allow an IP address that is already assigned to another
  21908. // network interface or instance to be reassigned to the specified network interface.
  21909. AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
  21910. // The ID of the network interface.
  21911. //
  21912. // NetworkInterfaceId is a required field
  21913. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  21914. // One or more IP addresses to be assigned as a secondary private IP address
  21915. // to the network interface. You can't specify this parameter when also specifying
  21916. // a number of secondary IP addresses.
  21917. //
  21918. // If you don't specify an IP address, Amazon EC2 automatically selects an IP
  21919. // address within the subnet range.
  21920. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
  21921. // The number of secondary IP addresses to assign to the network interface.
  21922. // You can't specify this parameter when also specifying private IP addresses.
  21923. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  21924. }
  21925. // String returns the string representation
  21926. func (s AssignPrivateIpAddressesInput) String() string {
  21927. return awsutil.Prettify(s)
  21928. }
  21929. // GoString returns the string representation
  21930. func (s AssignPrivateIpAddressesInput) GoString() string {
  21931. return s.String()
  21932. }
  21933. // Validate inspects the fields of the type to determine if they are valid.
  21934. func (s *AssignPrivateIpAddressesInput) Validate() error {
  21935. invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
  21936. if s.NetworkInterfaceId == nil {
  21937. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  21938. }
  21939. if invalidParams.Len() > 0 {
  21940. return invalidParams
  21941. }
  21942. return nil
  21943. }
  21944. // SetAllowReassignment sets the AllowReassignment field's value.
  21945. func (s *AssignPrivateIpAddressesInput) SetAllowReassignment(v bool) *AssignPrivateIpAddressesInput {
  21946. s.AllowReassignment = &v
  21947. return s
  21948. }
  21949. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  21950. func (s *AssignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesInput {
  21951. s.NetworkInterfaceId = &v
  21952. return s
  21953. }
  21954. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  21955. func (s *AssignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *AssignPrivateIpAddressesInput {
  21956. s.PrivateIpAddresses = v
  21957. return s
  21958. }
  21959. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  21960. func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int64) *AssignPrivateIpAddressesInput {
  21961. s.SecondaryPrivateIpAddressCount = &v
  21962. return s
  21963. }
  21964. type AssignPrivateIpAddressesOutput struct {
  21965. _ struct{} `type:"structure"`
  21966. }
  21967. // String returns the string representation
  21968. func (s AssignPrivateIpAddressesOutput) String() string {
  21969. return awsutil.Prettify(s)
  21970. }
  21971. // GoString returns the string representation
  21972. func (s AssignPrivateIpAddressesOutput) GoString() string {
  21973. return s.String()
  21974. }
  21975. // Contains the parameters for AssociateAddress.
  21976. type AssociateAddressInput struct {
  21977. _ struct{} `type:"structure"`
  21978. // [EC2-VPC] The allocation ID. This is required for EC2-VPC.
  21979. AllocationId *string `type:"string"`
  21980. // [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
  21981. // IP address that is already associated with an instance or network interface
  21982. // to be reassociated with the specified instance or network interface. Otherwise,
  21983. // the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
  21984. // automatic, therefore you can specify false to ensure the operation fails
  21985. // if the Elastic IP address is already associated with another resource.
  21986. AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
  21987. // Checks whether you have the required permissions for the action, without
  21988. // actually making the request, and provides an error response. If you have
  21989. // the required permissions, the error response is DryRunOperation. Otherwise,
  21990. // it is UnauthorizedOperation.
  21991. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21992. // The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
  21993. // can specify either the instance ID or the network interface ID, but not both.
  21994. // The operation fails if you specify an instance ID unless exactly one network
  21995. // interface is attached.
  21996. InstanceId *string `type:"string"`
  21997. // [EC2-VPC] The ID of the network interface. If the instance has more than
  21998. // one network interface, you must specify a network interface ID.
  21999. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  22000. // [EC2-VPC] The primary or secondary private IP address to associate with the
  22001. // Elastic IP address. If no private IP address is specified, the Elastic IP
  22002. // address is associated with the primary private IP address.
  22003. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  22004. // The Elastic IP address. This is required for EC2-Classic.
  22005. PublicIp *string `type:"string"`
  22006. }
  22007. // String returns the string representation
  22008. func (s AssociateAddressInput) String() string {
  22009. return awsutil.Prettify(s)
  22010. }
  22011. // GoString returns the string representation
  22012. func (s AssociateAddressInput) GoString() string {
  22013. return s.String()
  22014. }
  22015. // SetAllocationId sets the AllocationId field's value.
  22016. func (s *AssociateAddressInput) SetAllocationId(v string) *AssociateAddressInput {
  22017. s.AllocationId = &v
  22018. return s
  22019. }
  22020. // SetAllowReassociation sets the AllowReassociation field's value.
  22021. func (s *AssociateAddressInput) SetAllowReassociation(v bool) *AssociateAddressInput {
  22022. s.AllowReassociation = &v
  22023. return s
  22024. }
  22025. // SetDryRun sets the DryRun field's value.
  22026. func (s *AssociateAddressInput) SetDryRun(v bool) *AssociateAddressInput {
  22027. s.DryRun = &v
  22028. return s
  22029. }
  22030. // SetInstanceId sets the InstanceId field's value.
  22031. func (s *AssociateAddressInput) SetInstanceId(v string) *AssociateAddressInput {
  22032. s.InstanceId = &v
  22033. return s
  22034. }
  22035. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  22036. func (s *AssociateAddressInput) SetNetworkInterfaceId(v string) *AssociateAddressInput {
  22037. s.NetworkInterfaceId = &v
  22038. return s
  22039. }
  22040. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  22041. func (s *AssociateAddressInput) SetPrivateIpAddress(v string) *AssociateAddressInput {
  22042. s.PrivateIpAddress = &v
  22043. return s
  22044. }
  22045. // SetPublicIp sets the PublicIp field's value.
  22046. func (s *AssociateAddressInput) SetPublicIp(v string) *AssociateAddressInput {
  22047. s.PublicIp = &v
  22048. return s
  22049. }
  22050. // Contains the output of AssociateAddress.
  22051. type AssociateAddressOutput struct {
  22052. _ struct{} `type:"structure"`
  22053. // [EC2-VPC] The ID that represents the association of the Elastic IP address
  22054. // with an instance.
  22055. AssociationId *string `locationName:"associationId" type:"string"`
  22056. }
  22057. // String returns the string representation
  22058. func (s AssociateAddressOutput) String() string {
  22059. return awsutil.Prettify(s)
  22060. }
  22061. // GoString returns the string representation
  22062. func (s AssociateAddressOutput) GoString() string {
  22063. return s.String()
  22064. }
  22065. // SetAssociationId sets the AssociationId field's value.
  22066. func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOutput {
  22067. s.AssociationId = &v
  22068. return s
  22069. }
  22070. // Contains the parameters for AssociateDhcpOptions.
  22071. type AssociateDhcpOptionsInput struct {
  22072. _ struct{} `type:"structure"`
  22073. // The ID of the DHCP options set, or default to associate no DHCP options with
  22074. // the VPC.
  22075. //
  22076. // DhcpOptionsId is a required field
  22077. DhcpOptionsId *string `type:"string" required:"true"`
  22078. // Checks whether you have the required permissions for the action, without
  22079. // actually making the request, and provides an error response. If you have
  22080. // the required permissions, the error response is DryRunOperation. Otherwise,
  22081. // it is UnauthorizedOperation.
  22082. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22083. // The ID of the VPC.
  22084. //
  22085. // VpcId is a required field
  22086. VpcId *string `type:"string" required:"true"`
  22087. }
  22088. // String returns the string representation
  22089. func (s AssociateDhcpOptionsInput) String() string {
  22090. return awsutil.Prettify(s)
  22091. }
  22092. // GoString returns the string representation
  22093. func (s AssociateDhcpOptionsInput) GoString() string {
  22094. return s.String()
  22095. }
  22096. // Validate inspects the fields of the type to determine if they are valid.
  22097. func (s *AssociateDhcpOptionsInput) Validate() error {
  22098. invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
  22099. if s.DhcpOptionsId == nil {
  22100. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  22101. }
  22102. if s.VpcId == nil {
  22103. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22104. }
  22105. if invalidParams.Len() > 0 {
  22106. return invalidParams
  22107. }
  22108. return nil
  22109. }
  22110. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  22111. func (s *AssociateDhcpOptionsInput) SetDhcpOptionsId(v string) *AssociateDhcpOptionsInput {
  22112. s.DhcpOptionsId = &v
  22113. return s
  22114. }
  22115. // SetDryRun sets the DryRun field's value.
  22116. func (s *AssociateDhcpOptionsInput) SetDryRun(v bool) *AssociateDhcpOptionsInput {
  22117. s.DryRun = &v
  22118. return s
  22119. }
  22120. // SetVpcId sets the VpcId field's value.
  22121. func (s *AssociateDhcpOptionsInput) SetVpcId(v string) *AssociateDhcpOptionsInput {
  22122. s.VpcId = &v
  22123. return s
  22124. }
  22125. type AssociateDhcpOptionsOutput struct {
  22126. _ struct{} `type:"structure"`
  22127. }
  22128. // String returns the string representation
  22129. func (s AssociateDhcpOptionsOutput) String() string {
  22130. return awsutil.Prettify(s)
  22131. }
  22132. // GoString returns the string representation
  22133. func (s AssociateDhcpOptionsOutput) GoString() string {
  22134. return s.String()
  22135. }
  22136. type AssociateIamInstanceProfileInput struct {
  22137. _ struct{} `type:"structure"`
  22138. // The IAM instance profile.
  22139. //
  22140. // IamInstanceProfile is a required field
  22141. IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
  22142. // The ID of the instance.
  22143. //
  22144. // InstanceId is a required field
  22145. InstanceId *string `type:"string" required:"true"`
  22146. }
  22147. // String returns the string representation
  22148. func (s AssociateIamInstanceProfileInput) String() string {
  22149. return awsutil.Prettify(s)
  22150. }
  22151. // GoString returns the string representation
  22152. func (s AssociateIamInstanceProfileInput) GoString() string {
  22153. return s.String()
  22154. }
  22155. // Validate inspects the fields of the type to determine if they are valid.
  22156. func (s *AssociateIamInstanceProfileInput) Validate() error {
  22157. invalidParams := request.ErrInvalidParams{Context: "AssociateIamInstanceProfileInput"}
  22158. if s.IamInstanceProfile == nil {
  22159. invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
  22160. }
  22161. if s.InstanceId == nil {
  22162. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  22163. }
  22164. if invalidParams.Len() > 0 {
  22165. return invalidParams
  22166. }
  22167. return nil
  22168. }
  22169. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  22170. func (s *AssociateIamInstanceProfileInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *AssociateIamInstanceProfileInput {
  22171. s.IamInstanceProfile = v
  22172. return s
  22173. }
  22174. // SetInstanceId sets the InstanceId field's value.
  22175. func (s *AssociateIamInstanceProfileInput) SetInstanceId(v string) *AssociateIamInstanceProfileInput {
  22176. s.InstanceId = &v
  22177. return s
  22178. }
  22179. type AssociateIamInstanceProfileOutput struct {
  22180. _ struct{} `type:"structure"`
  22181. // Information about the IAM instance profile association.
  22182. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  22183. }
  22184. // String returns the string representation
  22185. func (s AssociateIamInstanceProfileOutput) String() string {
  22186. return awsutil.Prettify(s)
  22187. }
  22188. // GoString returns the string representation
  22189. func (s AssociateIamInstanceProfileOutput) GoString() string {
  22190. return s.String()
  22191. }
  22192. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  22193. func (s *AssociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *AssociateIamInstanceProfileOutput {
  22194. s.IamInstanceProfileAssociation = v
  22195. return s
  22196. }
  22197. // Contains the parameters for AssociateRouteTable.
  22198. type AssociateRouteTableInput struct {
  22199. _ struct{} `type:"structure"`
  22200. // Checks whether you have the required permissions for the action, without
  22201. // actually making the request, and provides an error response. If you have
  22202. // the required permissions, the error response is DryRunOperation. Otherwise,
  22203. // it is UnauthorizedOperation.
  22204. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22205. // The ID of the route table.
  22206. //
  22207. // RouteTableId is a required field
  22208. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  22209. // The ID of the subnet.
  22210. //
  22211. // SubnetId is a required field
  22212. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  22213. }
  22214. // String returns the string representation
  22215. func (s AssociateRouteTableInput) String() string {
  22216. return awsutil.Prettify(s)
  22217. }
  22218. // GoString returns the string representation
  22219. func (s AssociateRouteTableInput) GoString() string {
  22220. return s.String()
  22221. }
  22222. // Validate inspects the fields of the type to determine if they are valid.
  22223. func (s *AssociateRouteTableInput) Validate() error {
  22224. invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
  22225. if s.RouteTableId == nil {
  22226. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  22227. }
  22228. if s.SubnetId == nil {
  22229. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  22230. }
  22231. if invalidParams.Len() > 0 {
  22232. return invalidParams
  22233. }
  22234. return nil
  22235. }
  22236. // SetDryRun sets the DryRun field's value.
  22237. func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
  22238. s.DryRun = &v
  22239. return s
  22240. }
  22241. // SetRouteTableId sets the RouteTableId field's value.
  22242. func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
  22243. s.RouteTableId = &v
  22244. return s
  22245. }
  22246. // SetSubnetId sets the SubnetId field's value.
  22247. func (s *AssociateRouteTableInput) SetSubnetId(v string) *AssociateRouteTableInput {
  22248. s.SubnetId = &v
  22249. return s
  22250. }
  22251. // Contains the output of AssociateRouteTable.
  22252. type AssociateRouteTableOutput struct {
  22253. _ struct{} `type:"structure"`
  22254. // The route table association ID (needed to disassociate the route table).
  22255. AssociationId *string `locationName:"associationId" type:"string"`
  22256. }
  22257. // String returns the string representation
  22258. func (s AssociateRouteTableOutput) String() string {
  22259. return awsutil.Prettify(s)
  22260. }
  22261. // GoString returns the string representation
  22262. func (s AssociateRouteTableOutput) GoString() string {
  22263. return s.String()
  22264. }
  22265. // SetAssociationId sets the AssociationId field's value.
  22266. func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTableOutput {
  22267. s.AssociationId = &v
  22268. return s
  22269. }
  22270. type AssociateSubnetCidrBlockInput struct {
  22271. _ struct{} `type:"structure"`
  22272. // The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.
  22273. //
  22274. // Ipv6CidrBlock is a required field
  22275. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"`
  22276. // The ID of your subnet.
  22277. //
  22278. // SubnetId is a required field
  22279. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  22280. }
  22281. // String returns the string representation
  22282. func (s AssociateSubnetCidrBlockInput) String() string {
  22283. return awsutil.Prettify(s)
  22284. }
  22285. // GoString returns the string representation
  22286. func (s AssociateSubnetCidrBlockInput) GoString() string {
  22287. return s.String()
  22288. }
  22289. // Validate inspects the fields of the type to determine if they are valid.
  22290. func (s *AssociateSubnetCidrBlockInput) Validate() error {
  22291. invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"}
  22292. if s.Ipv6CidrBlock == nil {
  22293. invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock"))
  22294. }
  22295. if s.SubnetId == nil {
  22296. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  22297. }
  22298. if invalidParams.Len() > 0 {
  22299. return invalidParams
  22300. }
  22301. return nil
  22302. }
  22303. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  22304. func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSubnetCidrBlockInput {
  22305. s.Ipv6CidrBlock = &v
  22306. return s
  22307. }
  22308. // SetSubnetId sets the SubnetId field's value.
  22309. func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput {
  22310. s.SubnetId = &v
  22311. return s
  22312. }
  22313. type AssociateSubnetCidrBlockOutput struct {
  22314. _ struct{} `type:"structure"`
  22315. // Information about the IPv6 CIDR block association.
  22316. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  22317. // The ID of the subnet.
  22318. SubnetId *string `locationName:"subnetId" type:"string"`
  22319. }
  22320. // String returns the string representation
  22321. func (s AssociateSubnetCidrBlockOutput) String() string {
  22322. return awsutil.Prettify(s)
  22323. }
  22324. // GoString returns the string representation
  22325. func (s AssociateSubnetCidrBlockOutput) GoString() string {
  22326. return s.String()
  22327. }
  22328. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  22329. func (s *AssociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *AssociateSubnetCidrBlockOutput {
  22330. s.Ipv6CidrBlockAssociation = v
  22331. return s
  22332. }
  22333. // SetSubnetId sets the SubnetId field's value.
  22334. func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetCidrBlockOutput {
  22335. s.SubnetId = &v
  22336. return s
  22337. }
  22338. type AssociateVpcCidrBlockInput struct {
  22339. _ struct{} `type:"structure"`
  22340. // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
  22341. // the VPC. You cannot specify the range of IPv6 addresses, or the size of the
  22342. // CIDR block.
  22343. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
  22344. // An IPv4 CIDR block to associate with the VPC.
  22345. CidrBlock *string `type:"string"`
  22346. // The ID of the VPC.
  22347. //
  22348. // VpcId is a required field
  22349. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  22350. }
  22351. // String returns the string representation
  22352. func (s AssociateVpcCidrBlockInput) String() string {
  22353. return awsutil.Prettify(s)
  22354. }
  22355. // GoString returns the string representation
  22356. func (s AssociateVpcCidrBlockInput) GoString() string {
  22357. return s.String()
  22358. }
  22359. // Validate inspects the fields of the type to determine if they are valid.
  22360. func (s *AssociateVpcCidrBlockInput) Validate() error {
  22361. invalidParams := request.ErrInvalidParams{Context: "AssociateVpcCidrBlockInput"}
  22362. if s.VpcId == nil {
  22363. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22364. }
  22365. if invalidParams.Len() > 0 {
  22366. return invalidParams
  22367. }
  22368. return nil
  22369. }
  22370. // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
  22371. func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *AssociateVpcCidrBlockInput {
  22372. s.AmazonProvidedIpv6CidrBlock = &v
  22373. return s
  22374. }
  22375. // SetCidrBlock sets the CidrBlock field's value.
  22376. func (s *AssociateVpcCidrBlockInput) SetCidrBlock(v string) *AssociateVpcCidrBlockInput {
  22377. s.CidrBlock = &v
  22378. return s
  22379. }
  22380. // SetVpcId sets the VpcId field's value.
  22381. func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput {
  22382. s.VpcId = &v
  22383. return s
  22384. }
  22385. type AssociateVpcCidrBlockOutput struct {
  22386. _ struct{} `type:"structure"`
  22387. // Information about the IPv4 CIDR block association.
  22388. CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
  22389. // Information about the IPv6 CIDR block association.
  22390. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  22391. // The ID of the VPC.
  22392. VpcId *string `locationName:"vpcId" type:"string"`
  22393. }
  22394. // String returns the string representation
  22395. func (s AssociateVpcCidrBlockOutput) String() string {
  22396. return awsutil.Prettify(s)
  22397. }
  22398. // GoString returns the string representation
  22399. func (s AssociateVpcCidrBlockOutput) GoString() string {
  22400. return s.String()
  22401. }
  22402. // SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
  22403. func (s *AssociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *AssociateVpcCidrBlockOutput {
  22404. s.CidrBlockAssociation = v
  22405. return s
  22406. }
  22407. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  22408. func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput {
  22409. s.Ipv6CidrBlockAssociation = v
  22410. return s
  22411. }
  22412. // SetVpcId sets the VpcId field's value.
  22413. func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockOutput {
  22414. s.VpcId = &v
  22415. return s
  22416. }
  22417. // Contains the parameters for AttachClassicLinkVpc.
  22418. type AttachClassicLinkVpcInput struct {
  22419. _ struct{} `type:"structure"`
  22420. // Checks whether you have the required permissions for the action, without
  22421. // actually making the request, and provides an error response. If you have
  22422. // the required permissions, the error response is DryRunOperation. Otherwise,
  22423. // it is UnauthorizedOperation.
  22424. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22425. // The ID of one or more of the VPC's security groups. You cannot specify security
  22426. // groups from a different VPC.
  22427. //
  22428. // Groups is a required field
  22429. Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
  22430. // The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
  22431. //
  22432. // InstanceId is a required field
  22433. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  22434. // The ID of a ClassicLink-enabled VPC.
  22435. //
  22436. // VpcId is a required field
  22437. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  22438. }
  22439. // String returns the string representation
  22440. func (s AttachClassicLinkVpcInput) String() string {
  22441. return awsutil.Prettify(s)
  22442. }
  22443. // GoString returns the string representation
  22444. func (s AttachClassicLinkVpcInput) GoString() string {
  22445. return s.String()
  22446. }
  22447. // Validate inspects the fields of the type to determine if they are valid.
  22448. func (s *AttachClassicLinkVpcInput) Validate() error {
  22449. invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
  22450. if s.Groups == nil {
  22451. invalidParams.Add(request.NewErrParamRequired("Groups"))
  22452. }
  22453. if s.InstanceId == nil {
  22454. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  22455. }
  22456. if s.VpcId == nil {
  22457. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22458. }
  22459. if invalidParams.Len() > 0 {
  22460. return invalidParams
  22461. }
  22462. return nil
  22463. }
  22464. // SetDryRun sets the DryRun field's value.
  22465. func (s *AttachClassicLinkVpcInput) SetDryRun(v bool) *AttachClassicLinkVpcInput {
  22466. s.DryRun = &v
  22467. return s
  22468. }
  22469. // SetGroups sets the Groups field's value.
  22470. func (s *AttachClassicLinkVpcInput) SetGroups(v []*string) *AttachClassicLinkVpcInput {
  22471. s.Groups = v
  22472. return s
  22473. }
  22474. // SetInstanceId sets the InstanceId field's value.
  22475. func (s *AttachClassicLinkVpcInput) SetInstanceId(v string) *AttachClassicLinkVpcInput {
  22476. s.InstanceId = &v
  22477. return s
  22478. }
  22479. // SetVpcId sets the VpcId field's value.
  22480. func (s *AttachClassicLinkVpcInput) SetVpcId(v string) *AttachClassicLinkVpcInput {
  22481. s.VpcId = &v
  22482. return s
  22483. }
  22484. // Contains the output of AttachClassicLinkVpc.
  22485. type AttachClassicLinkVpcOutput struct {
  22486. _ struct{} `type:"structure"`
  22487. // Returns true if the request succeeds; otherwise, it returns an error.
  22488. Return *bool `locationName:"return" type:"boolean"`
  22489. }
  22490. // String returns the string representation
  22491. func (s AttachClassicLinkVpcOutput) String() string {
  22492. return awsutil.Prettify(s)
  22493. }
  22494. // GoString returns the string representation
  22495. func (s AttachClassicLinkVpcOutput) GoString() string {
  22496. return s.String()
  22497. }
  22498. // SetReturn sets the Return field's value.
  22499. func (s *AttachClassicLinkVpcOutput) SetReturn(v bool) *AttachClassicLinkVpcOutput {
  22500. s.Return = &v
  22501. return s
  22502. }
  22503. // Contains the parameters for AttachInternetGateway.
  22504. type AttachInternetGatewayInput struct {
  22505. _ struct{} `type:"structure"`
  22506. // Checks whether you have the required permissions for the action, without
  22507. // actually making the request, and provides an error response. If you have
  22508. // the required permissions, the error response is DryRunOperation. Otherwise,
  22509. // it is UnauthorizedOperation.
  22510. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22511. // The ID of the Internet gateway.
  22512. //
  22513. // InternetGatewayId is a required field
  22514. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  22515. // The ID of the VPC.
  22516. //
  22517. // VpcId is a required field
  22518. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  22519. }
  22520. // String returns the string representation
  22521. func (s AttachInternetGatewayInput) String() string {
  22522. return awsutil.Prettify(s)
  22523. }
  22524. // GoString returns the string representation
  22525. func (s AttachInternetGatewayInput) GoString() string {
  22526. return s.String()
  22527. }
  22528. // Validate inspects the fields of the type to determine if they are valid.
  22529. func (s *AttachInternetGatewayInput) Validate() error {
  22530. invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
  22531. if s.InternetGatewayId == nil {
  22532. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  22533. }
  22534. if s.VpcId == nil {
  22535. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22536. }
  22537. if invalidParams.Len() > 0 {
  22538. return invalidParams
  22539. }
  22540. return nil
  22541. }
  22542. // SetDryRun sets the DryRun field's value.
  22543. func (s *AttachInternetGatewayInput) SetDryRun(v bool) *AttachInternetGatewayInput {
  22544. s.DryRun = &v
  22545. return s
  22546. }
  22547. // SetInternetGatewayId sets the InternetGatewayId field's value.
  22548. func (s *AttachInternetGatewayInput) SetInternetGatewayId(v string) *AttachInternetGatewayInput {
  22549. s.InternetGatewayId = &v
  22550. return s
  22551. }
  22552. // SetVpcId sets the VpcId field's value.
  22553. func (s *AttachInternetGatewayInput) SetVpcId(v string) *AttachInternetGatewayInput {
  22554. s.VpcId = &v
  22555. return s
  22556. }
  22557. type AttachInternetGatewayOutput struct {
  22558. _ struct{} `type:"structure"`
  22559. }
  22560. // String returns the string representation
  22561. func (s AttachInternetGatewayOutput) String() string {
  22562. return awsutil.Prettify(s)
  22563. }
  22564. // GoString returns the string representation
  22565. func (s AttachInternetGatewayOutput) GoString() string {
  22566. return s.String()
  22567. }
  22568. // Contains the parameters for AttachNetworkInterface.
  22569. type AttachNetworkInterfaceInput struct {
  22570. _ struct{} `type:"structure"`
  22571. // The index of the device for the network interface attachment.
  22572. //
  22573. // DeviceIndex is a required field
  22574. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
  22575. // Checks whether you have the required permissions for the action, without
  22576. // actually making the request, and provides an error response. If you have
  22577. // the required permissions, the error response is DryRunOperation. Otherwise,
  22578. // it is UnauthorizedOperation.
  22579. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22580. // The ID of the instance.
  22581. //
  22582. // InstanceId is a required field
  22583. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  22584. // The ID of the network interface.
  22585. //
  22586. // NetworkInterfaceId is a required field
  22587. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  22588. }
  22589. // String returns the string representation
  22590. func (s AttachNetworkInterfaceInput) String() string {
  22591. return awsutil.Prettify(s)
  22592. }
  22593. // GoString returns the string representation
  22594. func (s AttachNetworkInterfaceInput) GoString() string {
  22595. return s.String()
  22596. }
  22597. // Validate inspects the fields of the type to determine if they are valid.
  22598. func (s *AttachNetworkInterfaceInput) Validate() error {
  22599. invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
  22600. if s.DeviceIndex == nil {
  22601. invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
  22602. }
  22603. if s.InstanceId == nil {
  22604. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  22605. }
  22606. if s.NetworkInterfaceId == nil {
  22607. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  22608. }
  22609. if invalidParams.Len() > 0 {
  22610. return invalidParams
  22611. }
  22612. return nil
  22613. }
  22614. // SetDeviceIndex sets the DeviceIndex field's value.
  22615. func (s *AttachNetworkInterfaceInput) SetDeviceIndex(v int64) *AttachNetworkInterfaceInput {
  22616. s.DeviceIndex = &v
  22617. return s
  22618. }
  22619. // SetDryRun sets the DryRun field's value.
  22620. func (s *AttachNetworkInterfaceInput) SetDryRun(v bool) *AttachNetworkInterfaceInput {
  22621. s.DryRun = &v
  22622. return s
  22623. }
  22624. // SetInstanceId sets the InstanceId field's value.
  22625. func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInterfaceInput {
  22626. s.InstanceId = &v
  22627. return s
  22628. }
  22629. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  22630. func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
  22631. s.NetworkInterfaceId = &v
  22632. return s
  22633. }
  22634. // Contains the output of AttachNetworkInterface.
  22635. type AttachNetworkInterfaceOutput struct {
  22636. _ struct{} `type:"structure"`
  22637. // The ID of the network interface attachment.
  22638. AttachmentId *string `locationName:"attachmentId" type:"string"`
  22639. }
  22640. // String returns the string representation
  22641. func (s AttachNetworkInterfaceOutput) String() string {
  22642. return awsutil.Prettify(s)
  22643. }
  22644. // GoString returns the string representation
  22645. func (s AttachNetworkInterfaceOutput) GoString() string {
  22646. return s.String()
  22647. }
  22648. // SetAttachmentId sets the AttachmentId field's value.
  22649. func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkInterfaceOutput {
  22650. s.AttachmentId = &v
  22651. return s
  22652. }
  22653. // Contains the parameters for AttachVolume.
  22654. type AttachVolumeInput struct {
  22655. _ struct{} `type:"structure"`
  22656. // The device name (for example, /dev/sdh or xvdh).
  22657. //
  22658. // Device is a required field
  22659. Device *string `type:"string" required:"true"`
  22660. // Checks whether you have the required permissions for the action, without
  22661. // actually making the request, and provides an error response. If you have
  22662. // the required permissions, the error response is DryRunOperation. Otherwise,
  22663. // it is UnauthorizedOperation.
  22664. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22665. // The ID of the instance.
  22666. //
  22667. // InstanceId is a required field
  22668. InstanceId *string `type:"string" required:"true"`
  22669. // The ID of the EBS volume. The volume and instance must be within the same
  22670. // Availability Zone.
  22671. //
  22672. // VolumeId is a required field
  22673. VolumeId *string `type:"string" required:"true"`
  22674. }
  22675. // String returns the string representation
  22676. func (s AttachVolumeInput) String() string {
  22677. return awsutil.Prettify(s)
  22678. }
  22679. // GoString returns the string representation
  22680. func (s AttachVolumeInput) GoString() string {
  22681. return s.String()
  22682. }
  22683. // Validate inspects the fields of the type to determine if they are valid.
  22684. func (s *AttachVolumeInput) Validate() error {
  22685. invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
  22686. if s.Device == nil {
  22687. invalidParams.Add(request.NewErrParamRequired("Device"))
  22688. }
  22689. if s.InstanceId == nil {
  22690. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  22691. }
  22692. if s.VolumeId == nil {
  22693. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  22694. }
  22695. if invalidParams.Len() > 0 {
  22696. return invalidParams
  22697. }
  22698. return nil
  22699. }
  22700. // SetDevice sets the Device field's value.
  22701. func (s *AttachVolumeInput) SetDevice(v string) *AttachVolumeInput {
  22702. s.Device = &v
  22703. return s
  22704. }
  22705. // SetDryRun sets the DryRun field's value.
  22706. func (s *AttachVolumeInput) SetDryRun(v bool) *AttachVolumeInput {
  22707. s.DryRun = &v
  22708. return s
  22709. }
  22710. // SetInstanceId sets the InstanceId field's value.
  22711. func (s *AttachVolumeInput) SetInstanceId(v string) *AttachVolumeInput {
  22712. s.InstanceId = &v
  22713. return s
  22714. }
  22715. // SetVolumeId sets the VolumeId field's value.
  22716. func (s *AttachVolumeInput) SetVolumeId(v string) *AttachVolumeInput {
  22717. s.VolumeId = &v
  22718. return s
  22719. }
  22720. // Contains the parameters for AttachVpnGateway.
  22721. type AttachVpnGatewayInput struct {
  22722. _ struct{} `type:"structure"`
  22723. // Checks whether you have the required permissions for the action, without
  22724. // actually making the request, and provides an error response. If you have
  22725. // the required permissions, the error response is DryRunOperation. Otherwise,
  22726. // it is UnauthorizedOperation.
  22727. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22728. // The ID of the VPC.
  22729. //
  22730. // VpcId is a required field
  22731. VpcId *string `type:"string" required:"true"`
  22732. // The ID of the virtual private gateway.
  22733. //
  22734. // VpnGatewayId is a required field
  22735. VpnGatewayId *string `type:"string" required:"true"`
  22736. }
  22737. // String returns the string representation
  22738. func (s AttachVpnGatewayInput) String() string {
  22739. return awsutil.Prettify(s)
  22740. }
  22741. // GoString returns the string representation
  22742. func (s AttachVpnGatewayInput) GoString() string {
  22743. return s.String()
  22744. }
  22745. // Validate inspects the fields of the type to determine if they are valid.
  22746. func (s *AttachVpnGatewayInput) Validate() error {
  22747. invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
  22748. if s.VpcId == nil {
  22749. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22750. }
  22751. if s.VpnGatewayId == nil {
  22752. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  22753. }
  22754. if invalidParams.Len() > 0 {
  22755. return invalidParams
  22756. }
  22757. return nil
  22758. }
  22759. // SetDryRun sets the DryRun field's value.
  22760. func (s *AttachVpnGatewayInput) SetDryRun(v bool) *AttachVpnGatewayInput {
  22761. s.DryRun = &v
  22762. return s
  22763. }
  22764. // SetVpcId sets the VpcId field's value.
  22765. func (s *AttachVpnGatewayInput) SetVpcId(v string) *AttachVpnGatewayInput {
  22766. s.VpcId = &v
  22767. return s
  22768. }
  22769. // SetVpnGatewayId sets the VpnGatewayId field's value.
  22770. func (s *AttachVpnGatewayInput) SetVpnGatewayId(v string) *AttachVpnGatewayInput {
  22771. s.VpnGatewayId = &v
  22772. return s
  22773. }
  22774. // Contains the output of AttachVpnGateway.
  22775. type AttachVpnGatewayOutput struct {
  22776. _ struct{} `type:"structure"`
  22777. // Information about the attachment.
  22778. VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
  22779. }
  22780. // String returns the string representation
  22781. func (s AttachVpnGatewayOutput) String() string {
  22782. return awsutil.Prettify(s)
  22783. }
  22784. // GoString returns the string representation
  22785. func (s AttachVpnGatewayOutput) GoString() string {
  22786. return s.String()
  22787. }
  22788. // SetVpcAttachment sets the VpcAttachment field's value.
  22789. func (s *AttachVpnGatewayOutput) SetVpcAttachment(v *VpcAttachment) *AttachVpnGatewayOutput {
  22790. s.VpcAttachment = v
  22791. return s
  22792. }
  22793. // Describes a value for a resource attribute that is a Boolean value.
  22794. type AttributeBooleanValue struct {
  22795. _ struct{} `type:"structure"`
  22796. // The attribute value. The valid values are true or false.
  22797. Value *bool `locationName:"value" type:"boolean"`
  22798. }
  22799. // String returns the string representation
  22800. func (s AttributeBooleanValue) String() string {
  22801. return awsutil.Prettify(s)
  22802. }
  22803. // GoString returns the string representation
  22804. func (s AttributeBooleanValue) GoString() string {
  22805. return s.String()
  22806. }
  22807. // SetValue sets the Value field's value.
  22808. func (s *AttributeBooleanValue) SetValue(v bool) *AttributeBooleanValue {
  22809. s.Value = &v
  22810. return s
  22811. }
  22812. // Describes a value for a resource attribute that is a String.
  22813. type AttributeValue struct {
  22814. _ struct{} `type:"structure"`
  22815. // The attribute value. The value is case-sensitive.
  22816. Value *string `locationName:"value" type:"string"`
  22817. }
  22818. // String returns the string representation
  22819. func (s AttributeValue) String() string {
  22820. return awsutil.Prettify(s)
  22821. }
  22822. // GoString returns the string representation
  22823. func (s AttributeValue) GoString() string {
  22824. return s.String()
  22825. }
  22826. // SetValue sets the Value field's value.
  22827. func (s *AttributeValue) SetValue(v string) *AttributeValue {
  22828. s.Value = &v
  22829. return s
  22830. }
  22831. // Contains the parameters for AuthorizeSecurityGroupEgress.
  22832. type AuthorizeSecurityGroupEgressInput struct {
  22833. _ struct{} `type:"structure"`
  22834. // Not supported. Use a set of IP permissions to specify the CIDR.
  22835. CidrIp *string `locationName:"cidrIp" type:"string"`
  22836. // Checks whether you have the required permissions for the action, without
  22837. // actually making the request, and provides an error response. If you have
  22838. // the required permissions, the error response is DryRunOperation. Otherwise,
  22839. // it is UnauthorizedOperation.
  22840. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22841. // Not supported. Use a set of IP permissions to specify the port.
  22842. FromPort *int64 `locationName:"fromPort" type:"integer"`
  22843. // The ID of the security group.
  22844. //
  22845. // GroupId is a required field
  22846. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  22847. // One or more sets of IP permissions. You can't specify a destination security
  22848. // group and a CIDR IP address range in the same set of permissions.
  22849. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  22850. // Not supported. Use a set of IP permissions to specify the protocol name or
  22851. // number.
  22852. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  22853. // Not supported. Use a set of IP permissions to specify a destination security
  22854. // group.
  22855. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  22856. // Not supported. Use a set of IP permissions to specify a destination security
  22857. // group.
  22858. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  22859. // Not supported. Use a set of IP permissions to specify the port.
  22860. ToPort *int64 `locationName:"toPort" type:"integer"`
  22861. }
  22862. // String returns the string representation
  22863. func (s AuthorizeSecurityGroupEgressInput) String() string {
  22864. return awsutil.Prettify(s)
  22865. }
  22866. // GoString returns the string representation
  22867. func (s AuthorizeSecurityGroupEgressInput) GoString() string {
  22868. return s.String()
  22869. }
  22870. // Validate inspects the fields of the type to determine if they are valid.
  22871. func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
  22872. invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
  22873. if s.GroupId == nil {
  22874. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  22875. }
  22876. if invalidParams.Len() > 0 {
  22877. return invalidParams
  22878. }
  22879. return nil
  22880. }
  22881. // SetCidrIp sets the CidrIp field's value.
  22882. func (s *AuthorizeSecurityGroupEgressInput) SetCidrIp(v string) *AuthorizeSecurityGroupEgressInput {
  22883. s.CidrIp = &v
  22884. return s
  22885. }
  22886. // SetDryRun sets the DryRun field's value.
  22887. func (s *AuthorizeSecurityGroupEgressInput) SetDryRun(v bool) *AuthorizeSecurityGroupEgressInput {
  22888. s.DryRun = &v
  22889. return s
  22890. }
  22891. // SetFromPort sets the FromPort field's value.
  22892. func (s *AuthorizeSecurityGroupEgressInput) SetFromPort(v int64) *AuthorizeSecurityGroupEgressInput {
  22893. s.FromPort = &v
  22894. return s
  22895. }
  22896. // SetGroupId sets the GroupId field's value.
  22897. func (s *AuthorizeSecurityGroupEgressInput) SetGroupId(v string) *AuthorizeSecurityGroupEgressInput {
  22898. s.GroupId = &v
  22899. return s
  22900. }
  22901. // SetIpPermissions sets the IpPermissions field's value.
  22902. func (s *AuthorizeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupEgressInput {
  22903. s.IpPermissions = v
  22904. return s
  22905. }
  22906. // SetIpProtocol sets the IpProtocol field's value.
  22907. func (s *AuthorizeSecurityGroupEgressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupEgressInput {
  22908. s.IpProtocol = &v
  22909. return s
  22910. }
  22911. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  22912. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupEgressInput {
  22913. s.SourceSecurityGroupName = &v
  22914. return s
  22915. }
  22916. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  22917. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupEgressInput {
  22918. s.SourceSecurityGroupOwnerId = &v
  22919. return s
  22920. }
  22921. // SetToPort sets the ToPort field's value.
  22922. func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput {
  22923. s.ToPort = &v
  22924. return s
  22925. }
  22926. type AuthorizeSecurityGroupEgressOutput struct {
  22927. _ struct{} `type:"structure"`
  22928. }
  22929. // String returns the string representation
  22930. func (s AuthorizeSecurityGroupEgressOutput) String() string {
  22931. return awsutil.Prettify(s)
  22932. }
  22933. // GoString returns the string representation
  22934. func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
  22935. return s.String()
  22936. }
  22937. // Contains the parameters for AuthorizeSecurityGroupIngress.
  22938. type AuthorizeSecurityGroupIngressInput struct {
  22939. _ struct{} `type:"structure"`
  22940. // The CIDR IPv4 address range. You can't specify this parameter when specifying
  22941. // a source security group.
  22942. CidrIp *string `type:"string"`
  22943. // Checks whether you have the required permissions for the action, without
  22944. // actually making the request, and provides an error response. If you have
  22945. // the required permissions, the error response is DryRunOperation. Otherwise,
  22946. // it is UnauthorizedOperation.
  22947. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22948. // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
  22949. // type number. For the ICMP/ICMPv6 type number, use -1 to specify all types.
  22950. // If you specify all ICMP/ICMPv6 types, you must specify all codes.
  22951. FromPort *int64 `type:"integer"`
  22952. // The ID of the security group. You must specify either the security group
  22953. // ID or the security group name in the request. For security groups in a nondefault
  22954. // VPC, you must specify the security group ID.
  22955. GroupId *string `type:"string"`
  22956. // [EC2-Classic, default VPC] The name of the security group. You must specify
  22957. // either the security group ID or the security group name in the request.
  22958. GroupName *string `type:"string"`
  22959. // One or more sets of IP permissions. Can be used to specify multiple rules
  22960. // in a single command.
  22961. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  22962. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  22963. // (VPC only) Use -1 to specify all protocols. If you specify -1, or a protocol
  22964. // number other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is
  22965. // allowed, regardless of any ports you specify. For tcp, udp, and icmp, you
  22966. // must specify a port range. For protocol 58 (ICMPv6), you can optionally specify
  22967. // a port range; if you don't, traffic for all types and codes is allowed.
  22968. IpProtocol *string `type:"string"`
  22969. // [EC2-Classic, default VPC] The name of the source security group. You can't
  22970. // specify this parameter in combination with the following parameters: the
  22971. // CIDR IP address range, the start of the port range, the IP protocol, and
  22972. // the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
  22973. // access. To create a rule with a specific IP protocol and port range, use
  22974. // a set of IP permissions instead. For EC2-VPC, the source security group must
  22975. // be in the same VPC.
  22976. SourceSecurityGroupName *string `type:"string"`
  22977. // [EC2-Classic] The AWS account ID for the source security group, if the source
  22978. // security group is in a different account. You can't specify this parameter
  22979. // in combination with the following parameters: the CIDR IP address range,
  22980. // the IP protocol, the start of the port range, and the end of the port range.
  22981. // Creates rules that grant full ICMP, UDP, and TCP access. To create a rule
  22982. // with a specific IP protocol and port range, use a set of IP permissions instead.
  22983. SourceSecurityGroupOwnerId *string `type:"string"`
  22984. // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code
  22985. // number. For the ICMP/ICMPv6 code number, use -1 to specify all codes. If
  22986. // you specify all ICMP/ICMPv6 types, you must specify all codes.
  22987. ToPort *int64 `type:"integer"`
  22988. }
  22989. // String returns the string representation
  22990. func (s AuthorizeSecurityGroupIngressInput) String() string {
  22991. return awsutil.Prettify(s)
  22992. }
  22993. // GoString returns the string representation
  22994. func (s AuthorizeSecurityGroupIngressInput) GoString() string {
  22995. return s.String()
  22996. }
  22997. // SetCidrIp sets the CidrIp field's value.
  22998. func (s *AuthorizeSecurityGroupIngressInput) SetCidrIp(v string) *AuthorizeSecurityGroupIngressInput {
  22999. s.CidrIp = &v
  23000. return s
  23001. }
  23002. // SetDryRun sets the DryRun field's value.
  23003. func (s *AuthorizeSecurityGroupIngressInput) SetDryRun(v bool) *AuthorizeSecurityGroupIngressInput {
  23004. s.DryRun = &v
  23005. return s
  23006. }
  23007. // SetFromPort sets the FromPort field's value.
  23008. func (s *AuthorizeSecurityGroupIngressInput) SetFromPort(v int64) *AuthorizeSecurityGroupIngressInput {
  23009. s.FromPort = &v
  23010. return s
  23011. }
  23012. // SetGroupId sets the GroupId field's value.
  23013. func (s *AuthorizeSecurityGroupIngressInput) SetGroupId(v string) *AuthorizeSecurityGroupIngressInput {
  23014. s.GroupId = &v
  23015. return s
  23016. }
  23017. // SetGroupName sets the GroupName field's value.
  23018. func (s *AuthorizeSecurityGroupIngressInput) SetGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  23019. s.GroupName = &v
  23020. return s
  23021. }
  23022. // SetIpPermissions sets the IpPermissions field's value.
  23023. func (s *AuthorizeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupIngressInput {
  23024. s.IpPermissions = v
  23025. return s
  23026. }
  23027. // SetIpProtocol sets the IpProtocol field's value.
  23028. func (s *AuthorizeSecurityGroupIngressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupIngressInput {
  23029. s.IpProtocol = &v
  23030. return s
  23031. }
  23032. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  23033. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  23034. s.SourceSecurityGroupName = &v
  23035. return s
  23036. }
  23037. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  23038. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupIngressInput {
  23039. s.SourceSecurityGroupOwnerId = &v
  23040. return s
  23041. }
  23042. // SetToPort sets the ToPort field's value.
  23043. func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput {
  23044. s.ToPort = &v
  23045. return s
  23046. }
  23047. type AuthorizeSecurityGroupIngressOutput struct {
  23048. _ struct{} `type:"structure"`
  23049. }
  23050. // String returns the string representation
  23051. func (s AuthorizeSecurityGroupIngressOutput) String() string {
  23052. return awsutil.Prettify(s)
  23053. }
  23054. // GoString returns the string representation
  23055. func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
  23056. return s.String()
  23057. }
  23058. // Describes an Availability Zone.
  23059. type AvailabilityZone struct {
  23060. _ struct{} `type:"structure"`
  23061. // Any messages about the Availability Zone.
  23062. Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
  23063. // The name of the region.
  23064. RegionName *string `locationName:"regionName" type:"string"`
  23065. // The state of the Availability Zone.
  23066. State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
  23067. // The name of the Availability Zone.
  23068. ZoneName *string `locationName:"zoneName" type:"string"`
  23069. }
  23070. // String returns the string representation
  23071. func (s AvailabilityZone) String() string {
  23072. return awsutil.Prettify(s)
  23073. }
  23074. // GoString returns the string representation
  23075. func (s AvailabilityZone) GoString() string {
  23076. return s.String()
  23077. }
  23078. // SetMessages sets the Messages field's value.
  23079. func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
  23080. s.Messages = v
  23081. return s
  23082. }
  23083. // SetRegionName sets the RegionName field's value.
  23084. func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
  23085. s.RegionName = &v
  23086. return s
  23087. }
  23088. // SetState sets the State field's value.
  23089. func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
  23090. s.State = &v
  23091. return s
  23092. }
  23093. // SetZoneName sets the ZoneName field's value.
  23094. func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
  23095. s.ZoneName = &v
  23096. return s
  23097. }
  23098. // Describes a message about an Availability Zone.
  23099. type AvailabilityZoneMessage struct {
  23100. _ struct{} `type:"structure"`
  23101. // The message about the Availability Zone.
  23102. Message *string `locationName:"message" type:"string"`
  23103. }
  23104. // String returns the string representation
  23105. func (s AvailabilityZoneMessage) String() string {
  23106. return awsutil.Prettify(s)
  23107. }
  23108. // GoString returns the string representation
  23109. func (s AvailabilityZoneMessage) GoString() string {
  23110. return s.String()
  23111. }
  23112. // SetMessage sets the Message field's value.
  23113. func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage {
  23114. s.Message = &v
  23115. return s
  23116. }
  23117. // The capacity information for instances launched onto the Dedicated Host.
  23118. type AvailableCapacity struct {
  23119. _ struct{} `type:"structure"`
  23120. // The total number of instances that the Dedicated Host supports.
  23121. AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
  23122. // The number of vCPUs available on the Dedicated Host.
  23123. AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
  23124. }
  23125. // String returns the string representation
  23126. func (s AvailableCapacity) String() string {
  23127. return awsutil.Prettify(s)
  23128. }
  23129. // GoString returns the string representation
  23130. func (s AvailableCapacity) GoString() string {
  23131. return s.String()
  23132. }
  23133. // SetAvailableInstanceCapacity sets the AvailableInstanceCapacity field's value.
  23134. func (s *AvailableCapacity) SetAvailableInstanceCapacity(v []*InstanceCapacity) *AvailableCapacity {
  23135. s.AvailableInstanceCapacity = v
  23136. return s
  23137. }
  23138. // SetAvailableVCpus sets the AvailableVCpus field's value.
  23139. func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity {
  23140. s.AvailableVCpus = &v
  23141. return s
  23142. }
  23143. type BlobAttributeValue struct {
  23144. _ struct{} `type:"structure"`
  23145. // Value is automatically base64 encoded/decoded by the SDK.
  23146. Value []byte `locationName:"value" type:"blob"`
  23147. }
  23148. // String returns the string representation
  23149. func (s BlobAttributeValue) String() string {
  23150. return awsutil.Prettify(s)
  23151. }
  23152. // GoString returns the string representation
  23153. func (s BlobAttributeValue) GoString() string {
  23154. return s.String()
  23155. }
  23156. // SetValue sets the Value field's value.
  23157. func (s *BlobAttributeValue) SetValue(v []byte) *BlobAttributeValue {
  23158. s.Value = v
  23159. return s
  23160. }
  23161. // Describes a block device mapping.
  23162. type BlockDeviceMapping struct {
  23163. _ struct{} `type:"structure"`
  23164. // The device name (for example, /dev/sdh or xvdh).
  23165. DeviceName *string `locationName:"deviceName" type:"string"`
  23166. // Parameters used to automatically set up EBS volumes when the instance is
  23167. // launched.
  23168. Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
  23169. // Suppresses the specified device included in the block device mapping of the
  23170. // AMI.
  23171. NoDevice *string `locationName:"noDevice" type:"string"`
  23172. // The virtual device name (ephemeralN). Instance store volumes are numbered
  23173. // starting from 0. An instance type with 2 available instance store volumes
  23174. // can specify mappings for ephemeral0 and ephemeral1.The number of available
  23175. // instance store volumes depends on the instance type. After you connect to
  23176. // the instance, you must mount the volume.
  23177. //
  23178. // Constraints: For M3 instances, you must specify instance store volumes in
  23179. // the block device mapping for the instance. When you launch an M3 instance,
  23180. // we ignore any instance store volumes specified in the block device mapping
  23181. // for the AMI.
  23182. VirtualName *string `locationName:"virtualName" type:"string"`
  23183. }
  23184. // String returns the string representation
  23185. func (s BlockDeviceMapping) String() string {
  23186. return awsutil.Prettify(s)
  23187. }
  23188. // GoString returns the string representation
  23189. func (s BlockDeviceMapping) GoString() string {
  23190. return s.String()
  23191. }
  23192. // SetDeviceName sets the DeviceName field's value.
  23193. func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
  23194. s.DeviceName = &v
  23195. return s
  23196. }
  23197. // SetEbs sets the Ebs field's value.
  23198. func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
  23199. s.Ebs = v
  23200. return s
  23201. }
  23202. // SetNoDevice sets the NoDevice field's value.
  23203. func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
  23204. s.NoDevice = &v
  23205. return s
  23206. }
  23207. // SetVirtualName sets the VirtualName field's value.
  23208. func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
  23209. s.VirtualName = &v
  23210. return s
  23211. }
  23212. // Contains the parameters for BundleInstance.
  23213. type BundleInstanceInput struct {
  23214. _ struct{} `type:"structure"`
  23215. // Checks whether you have the required permissions for the action, without
  23216. // actually making the request, and provides an error response. If you have
  23217. // the required permissions, the error response is DryRunOperation. Otherwise,
  23218. // it is UnauthorizedOperation.
  23219. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23220. // The ID of the instance to bundle.
  23221. //
  23222. // Type: String
  23223. //
  23224. // Default: None
  23225. //
  23226. // Required: Yes
  23227. //
  23228. // InstanceId is a required field
  23229. InstanceId *string `type:"string" required:"true"`
  23230. // The bucket in which to store the AMI. You can specify a bucket that you already
  23231. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  23232. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  23233. //
  23234. // Storage is a required field
  23235. Storage *Storage `type:"structure" required:"true"`
  23236. }
  23237. // String returns the string representation
  23238. func (s BundleInstanceInput) String() string {
  23239. return awsutil.Prettify(s)
  23240. }
  23241. // GoString returns the string representation
  23242. func (s BundleInstanceInput) GoString() string {
  23243. return s.String()
  23244. }
  23245. // Validate inspects the fields of the type to determine if they are valid.
  23246. func (s *BundleInstanceInput) Validate() error {
  23247. invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
  23248. if s.InstanceId == nil {
  23249. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  23250. }
  23251. if s.Storage == nil {
  23252. invalidParams.Add(request.NewErrParamRequired("Storage"))
  23253. }
  23254. if invalidParams.Len() > 0 {
  23255. return invalidParams
  23256. }
  23257. return nil
  23258. }
  23259. // SetDryRun sets the DryRun field's value.
  23260. func (s *BundleInstanceInput) SetDryRun(v bool) *BundleInstanceInput {
  23261. s.DryRun = &v
  23262. return s
  23263. }
  23264. // SetInstanceId sets the InstanceId field's value.
  23265. func (s *BundleInstanceInput) SetInstanceId(v string) *BundleInstanceInput {
  23266. s.InstanceId = &v
  23267. return s
  23268. }
  23269. // SetStorage sets the Storage field's value.
  23270. func (s *BundleInstanceInput) SetStorage(v *Storage) *BundleInstanceInput {
  23271. s.Storage = v
  23272. return s
  23273. }
  23274. // Contains the output of BundleInstance.
  23275. type BundleInstanceOutput struct {
  23276. _ struct{} `type:"structure"`
  23277. // Information about the bundle task.
  23278. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  23279. }
  23280. // String returns the string representation
  23281. func (s BundleInstanceOutput) String() string {
  23282. return awsutil.Prettify(s)
  23283. }
  23284. // GoString returns the string representation
  23285. func (s BundleInstanceOutput) GoString() string {
  23286. return s.String()
  23287. }
  23288. // SetBundleTask sets the BundleTask field's value.
  23289. func (s *BundleInstanceOutput) SetBundleTask(v *BundleTask) *BundleInstanceOutput {
  23290. s.BundleTask = v
  23291. return s
  23292. }
  23293. // Describes a bundle task.
  23294. type BundleTask struct {
  23295. _ struct{} `type:"structure"`
  23296. // The ID of the bundle task.
  23297. BundleId *string `locationName:"bundleId" type:"string"`
  23298. // If the task fails, a description of the error.
  23299. BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
  23300. // The ID of the instance associated with this bundle task.
  23301. InstanceId *string `locationName:"instanceId" type:"string"`
  23302. // The level of task completion, as a percent (for example, 20%).
  23303. Progress *string `locationName:"progress" type:"string"`
  23304. // The time this task started.
  23305. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  23306. // The state of the task.
  23307. State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
  23308. // The Amazon S3 storage locations.
  23309. Storage *Storage `locationName:"storage" type:"structure"`
  23310. // The time of the most recent update for the task.
  23311. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  23312. }
  23313. // String returns the string representation
  23314. func (s BundleTask) String() string {
  23315. return awsutil.Prettify(s)
  23316. }
  23317. // GoString returns the string representation
  23318. func (s BundleTask) GoString() string {
  23319. return s.String()
  23320. }
  23321. // SetBundleId sets the BundleId field's value.
  23322. func (s *BundleTask) SetBundleId(v string) *BundleTask {
  23323. s.BundleId = &v
  23324. return s
  23325. }
  23326. // SetBundleTaskError sets the BundleTaskError field's value.
  23327. func (s *BundleTask) SetBundleTaskError(v *BundleTaskError) *BundleTask {
  23328. s.BundleTaskError = v
  23329. return s
  23330. }
  23331. // SetInstanceId sets the InstanceId field's value.
  23332. func (s *BundleTask) SetInstanceId(v string) *BundleTask {
  23333. s.InstanceId = &v
  23334. return s
  23335. }
  23336. // SetProgress sets the Progress field's value.
  23337. func (s *BundleTask) SetProgress(v string) *BundleTask {
  23338. s.Progress = &v
  23339. return s
  23340. }
  23341. // SetStartTime sets the StartTime field's value.
  23342. func (s *BundleTask) SetStartTime(v time.Time) *BundleTask {
  23343. s.StartTime = &v
  23344. return s
  23345. }
  23346. // SetState sets the State field's value.
  23347. func (s *BundleTask) SetState(v string) *BundleTask {
  23348. s.State = &v
  23349. return s
  23350. }
  23351. // SetStorage sets the Storage field's value.
  23352. func (s *BundleTask) SetStorage(v *Storage) *BundleTask {
  23353. s.Storage = v
  23354. return s
  23355. }
  23356. // SetUpdateTime sets the UpdateTime field's value.
  23357. func (s *BundleTask) SetUpdateTime(v time.Time) *BundleTask {
  23358. s.UpdateTime = &v
  23359. return s
  23360. }
  23361. // Describes an error for BundleInstance.
  23362. type BundleTaskError struct {
  23363. _ struct{} `type:"structure"`
  23364. // The error code.
  23365. Code *string `locationName:"code" type:"string"`
  23366. // The error message.
  23367. Message *string `locationName:"message" type:"string"`
  23368. }
  23369. // String returns the string representation
  23370. func (s BundleTaskError) String() string {
  23371. return awsutil.Prettify(s)
  23372. }
  23373. // GoString returns the string representation
  23374. func (s BundleTaskError) GoString() string {
  23375. return s.String()
  23376. }
  23377. // SetCode sets the Code field's value.
  23378. func (s *BundleTaskError) SetCode(v string) *BundleTaskError {
  23379. s.Code = &v
  23380. return s
  23381. }
  23382. // SetMessage sets the Message field's value.
  23383. func (s *BundleTaskError) SetMessage(v string) *BundleTaskError {
  23384. s.Message = &v
  23385. return s
  23386. }
  23387. // Contains the parameters for CancelBundleTask.
  23388. type CancelBundleTaskInput struct {
  23389. _ struct{} `type:"structure"`
  23390. // The ID of the bundle task.
  23391. //
  23392. // BundleId is a required field
  23393. BundleId *string `type:"string" required:"true"`
  23394. // Checks whether you have the required permissions for the action, without
  23395. // actually making the request, and provides an error response. If you have
  23396. // the required permissions, the error response is DryRunOperation. Otherwise,
  23397. // it is UnauthorizedOperation.
  23398. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23399. }
  23400. // String returns the string representation
  23401. func (s CancelBundleTaskInput) String() string {
  23402. return awsutil.Prettify(s)
  23403. }
  23404. // GoString returns the string representation
  23405. func (s CancelBundleTaskInput) GoString() string {
  23406. return s.String()
  23407. }
  23408. // Validate inspects the fields of the type to determine if they are valid.
  23409. func (s *CancelBundleTaskInput) Validate() error {
  23410. invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
  23411. if s.BundleId == nil {
  23412. invalidParams.Add(request.NewErrParamRequired("BundleId"))
  23413. }
  23414. if invalidParams.Len() > 0 {
  23415. return invalidParams
  23416. }
  23417. return nil
  23418. }
  23419. // SetBundleId sets the BundleId field's value.
  23420. func (s *CancelBundleTaskInput) SetBundleId(v string) *CancelBundleTaskInput {
  23421. s.BundleId = &v
  23422. return s
  23423. }
  23424. // SetDryRun sets the DryRun field's value.
  23425. func (s *CancelBundleTaskInput) SetDryRun(v bool) *CancelBundleTaskInput {
  23426. s.DryRun = &v
  23427. return s
  23428. }
  23429. // Contains the output of CancelBundleTask.
  23430. type CancelBundleTaskOutput struct {
  23431. _ struct{} `type:"structure"`
  23432. // Information about the bundle task.
  23433. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  23434. }
  23435. // String returns the string representation
  23436. func (s CancelBundleTaskOutput) String() string {
  23437. return awsutil.Prettify(s)
  23438. }
  23439. // GoString returns the string representation
  23440. func (s CancelBundleTaskOutput) GoString() string {
  23441. return s.String()
  23442. }
  23443. // SetBundleTask sets the BundleTask field's value.
  23444. func (s *CancelBundleTaskOutput) SetBundleTask(v *BundleTask) *CancelBundleTaskOutput {
  23445. s.BundleTask = v
  23446. return s
  23447. }
  23448. // Contains the parameters for CancelConversionTask.
  23449. type CancelConversionTaskInput struct {
  23450. _ struct{} `type:"structure"`
  23451. // The ID of the conversion task.
  23452. //
  23453. // ConversionTaskId is a required field
  23454. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  23455. // Checks whether you have the required permissions for the action, without
  23456. // actually making the request, and provides an error response. If you have
  23457. // the required permissions, the error response is DryRunOperation. Otherwise,
  23458. // it is UnauthorizedOperation.
  23459. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23460. // The reason for canceling the conversion task.
  23461. ReasonMessage *string `locationName:"reasonMessage" type:"string"`
  23462. }
  23463. // String returns the string representation
  23464. func (s CancelConversionTaskInput) String() string {
  23465. return awsutil.Prettify(s)
  23466. }
  23467. // GoString returns the string representation
  23468. func (s CancelConversionTaskInput) GoString() string {
  23469. return s.String()
  23470. }
  23471. // Validate inspects the fields of the type to determine if they are valid.
  23472. func (s *CancelConversionTaskInput) Validate() error {
  23473. invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
  23474. if s.ConversionTaskId == nil {
  23475. invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
  23476. }
  23477. if invalidParams.Len() > 0 {
  23478. return invalidParams
  23479. }
  23480. return nil
  23481. }
  23482. // SetConversionTaskId sets the ConversionTaskId field's value.
  23483. func (s *CancelConversionTaskInput) SetConversionTaskId(v string) *CancelConversionTaskInput {
  23484. s.ConversionTaskId = &v
  23485. return s
  23486. }
  23487. // SetDryRun sets the DryRun field's value.
  23488. func (s *CancelConversionTaskInput) SetDryRun(v bool) *CancelConversionTaskInput {
  23489. s.DryRun = &v
  23490. return s
  23491. }
  23492. // SetReasonMessage sets the ReasonMessage field's value.
  23493. func (s *CancelConversionTaskInput) SetReasonMessage(v string) *CancelConversionTaskInput {
  23494. s.ReasonMessage = &v
  23495. return s
  23496. }
  23497. type CancelConversionTaskOutput struct {
  23498. _ struct{} `type:"structure"`
  23499. }
  23500. // String returns the string representation
  23501. func (s CancelConversionTaskOutput) String() string {
  23502. return awsutil.Prettify(s)
  23503. }
  23504. // GoString returns the string representation
  23505. func (s CancelConversionTaskOutput) GoString() string {
  23506. return s.String()
  23507. }
  23508. // Contains the parameters for CancelExportTask.
  23509. type CancelExportTaskInput struct {
  23510. _ struct{} `type:"structure"`
  23511. // The ID of the export task. This is the ID returned by CreateInstanceExportTask.
  23512. //
  23513. // ExportTaskId is a required field
  23514. ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
  23515. }
  23516. // String returns the string representation
  23517. func (s CancelExportTaskInput) String() string {
  23518. return awsutil.Prettify(s)
  23519. }
  23520. // GoString returns the string representation
  23521. func (s CancelExportTaskInput) GoString() string {
  23522. return s.String()
  23523. }
  23524. // Validate inspects the fields of the type to determine if they are valid.
  23525. func (s *CancelExportTaskInput) Validate() error {
  23526. invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
  23527. if s.ExportTaskId == nil {
  23528. invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
  23529. }
  23530. if invalidParams.Len() > 0 {
  23531. return invalidParams
  23532. }
  23533. return nil
  23534. }
  23535. // SetExportTaskId sets the ExportTaskId field's value.
  23536. func (s *CancelExportTaskInput) SetExportTaskId(v string) *CancelExportTaskInput {
  23537. s.ExportTaskId = &v
  23538. return s
  23539. }
  23540. type CancelExportTaskOutput struct {
  23541. _ struct{} `type:"structure"`
  23542. }
  23543. // String returns the string representation
  23544. func (s CancelExportTaskOutput) String() string {
  23545. return awsutil.Prettify(s)
  23546. }
  23547. // GoString returns the string representation
  23548. func (s CancelExportTaskOutput) GoString() string {
  23549. return s.String()
  23550. }
  23551. // Contains the parameters for CancelImportTask.
  23552. type CancelImportTaskInput struct {
  23553. _ struct{} `type:"structure"`
  23554. // The reason for canceling the task.
  23555. CancelReason *string `type:"string"`
  23556. // Checks whether you have the required permissions for the action, without
  23557. // actually making the request, and provides an error response. If you have
  23558. // the required permissions, the error response is DryRunOperation. Otherwise,
  23559. // it is UnauthorizedOperation.
  23560. DryRun *bool `type:"boolean"`
  23561. // The ID of the import image or import snapshot task to be canceled.
  23562. ImportTaskId *string `type:"string"`
  23563. }
  23564. // String returns the string representation
  23565. func (s CancelImportTaskInput) String() string {
  23566. return awsutil.Prettify(s)
  23567. }
  23568. // GoString returns the string representation
  23569. func (s CancelImportTaskInput) GoString() string {
  23570. return s.String()
  23571. }
  23572. // SetCancelReason sets the CancelReason field's value.
  23573. func (s *CancelImportTaskInput) SetCancelReason(v string) *CancelImportTaskInput {
  23574. s.CancelReason = &v
  23575. return s
  23576. }
  23577. // SetDryRun sets the DryRun field's value.
  23578. func (s *CancelImportTaskInput) SetDryRun(v bool) *CancelImportTaskInput {
  23579. s.DryRun = &v
  23580. return s
  23581. }
  23582. // SetImportTaskId sets the ImportTaskId field's value.
  23583. func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput {
  23584. s.ImportTaskId = &v
  23585. return s
  23586. }
  23587. // Contains the output for CancelImportTask.
  23588. type CancelImportTaskOutput struct {
  23589. _ struct{} `type:"structure"`
  23590. // The ID of the task being canceled.
  23591. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  23592. // The current state of the task being canceled.
  23593. PreviousState *string `locationName:"previousState" type:"string"`
  23594. // The current state of the task being canceled.
  23595. State *string `locationName:"state" type:"string"`
  23596. }
  23597. // String returns the string representation
  23598. func (s CancelImportTaskOutput) String() string {
  23599. return awsutil.Prettify(s)
  23600. }
  23601. // GoString returns the string representation
  23602. func (s CancelImportTaskOutput) GoString() string {
  23603. return s.String()
  23604. }
  23605. // SetImportTaskId sets the ImportTaskId field's value.
  23606. func (s *CancelImportTaskOutput) SetImportTaskId(v string) *CancelImportTaskOutput {
  23607. s.ImportTaskId = &v
  23608. return s
  23609. }
  23610. // SetPreviousState sets the PreviousState field's value.
  23611. func (s *CancelImportTaskOutput) SetPreviousState(v string) *CancelImportTaskOutput {
  23612. s.PreviousState = &v
  23613. return s
  23614. }
  23615. // SetState sets the State field's value.
  23616. func (s *CancelImportTaskOutput) SetState(v string) *CancelImportTaskOutput {
  23617. s.State = &v
  23618. return s
  23619. }
  23620. // Contains the parameters for CancelReservedInstancesListing.
  23621. type CancelReservedInstancesListingInput struct {
  23622. _ struct{} `type:"structure"`
  23623. // The ID of the Reserved Instance listing.
  23624. //
  23625. // ReservedInstancesListingId is a required field
  23626. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
  23627. }
  23628. // String returns the string representation
  23629. func (s CancelReservedInstancesListingInput) String() string {
  23630. return awsutil.Prettify(s)
  23631. }
  23632. // GoString returns the string representation
  23633. func (s CancelReservedInstancesListingInput) GoString() string {
  23634. return s.String()
  23635. }
  23636. // Validate inspects the fields of the type to determine if they are valid.
  23637. func (s *CancelReservedInstancesListingInput) Validate() error {
  23638. invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
  23639. if s.ReservedInstancesListingId == nil {
  23640. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
  23641. }
  23642. if invalidParams.Len() > 0 {
  23643. return invalidParams
  23644. }
  23645. return nil
  23646. }
  23647. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  23648. func (s *CancelReservedInstancesListingInput) SetReservedInstancesListingId(v string) *CancelReservedInstancesListingInput {
  23649. s.ReservedInstancesListingId = &v
  23650. return s
  23651. }
  23652. // Contains the output of CancelReservedInstancesListing.
  23653. type CancelReservedInstancesListingOutput struct {
  23654. _ struct{} `type:"structure"`
  23655. // The Reserved Instance listing.
  23656. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  23657. }
  23658. // String returns the string representation
  23659. func (s CancelReservedInstancesListingOutput) String() string {
  23660. return awsutil.Prettify(s)
  23661. }
  23662. // GoString returns the string representation
  23663. func (s CancelReservedInstancesListingOutput) GoString() string {
  23664. return s.String()
  23665. }
  23666. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  23667. func (s *CancelReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CancelReservedInstancesListingOutput {
  23668. s.ReservedInstancesListings = v
  23669. return s
  23670. }
  23671. // Describes a Spot Fleet error.
  23672. type CancelSpotFleetRequestsError struct {
  23673. _ struct{} `type:"structure"`
  23674. // The error code.
  23675. //
  23676. // Code is a required field
  23677. Code *string `locationName:"code" type:"string" required:"true" enum:"CancelBatchErrorCode"`
  23678. // The description for the error code.
  23679. //
  23680. // Message is a required field
  23681. Message *string `locationName:"message" type:"string" required:"true"`
  23682. }
  23683. // String returns the string representation
  23684. func (s CancelSpotFleetRequestsError) String() string {
  23685. return awsutil.Prettify(s)
  23686. }
  23687. // GoString returns the string representation
  23688. func (s CancelSpotFleetRequestsError) GoString() string {
  23689. return s.String()
  23690. }
  23691. // SetCode sets the Code field's value.
  23692. func (s *CancelSpotFleetRequestsError) SetCode(v string) *CancelSpotFleetRequestsError {
  23693. s.Code = &v
  23694. return s
  23695. }
  23696. // SetMessage sets the Message field's value.
  23697. func (s *CancelSpotFleetRequestsError) SetMessage(v string) *CancelSpotFleetRequestsError {
  23698. s.Message = &v
  23699. return s
  23700. }
  23701. // Describes a Spot Fleet request that was not successfully canceled.
  23702. type CancelSpotFleetRequestsErrorItem struct {
  23703. _ struct{} `type:"structure"`
  23704. // The error.
  23705. //
  23706. // Error is a required field
  23707. Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure" required:"true"`
  23708. // The ID of the Spot Fleet request.
  23709. //
  23710. // SpotFleetRequestId is a required field
  23711. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  23712. }
  23713. // String returns the string representation
  23714. func (s CancelSpotFleetRequestsErrorItem) String() string {
  23715. return awsutil.Prettify(s)
  23716. }
  23717. // GoString returns the string representation
  23718. func (s CancelSpotFleetRequestsErrorItem) GoString() string {
  23719. return s.String()
  23720. }
  23721. // SetError sets the Error field's value.
  23722. func (s *CancelSpotFleetRequestsErrorItem) SetError(v *CancelSpotFleetRequestsError) *CancelSpotFleetRequestsErrorItem {
  23723. s.Error = v
  23724. return s
  23725. }
  23726. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  23727. func (s *CancelSpotFleetRequestsErrorItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsErrorItem {
  23728. s.SpotFleetRequestId = &v
  23729. return s
  23730. }
  23731. // Contains the parameters for CancelSpotFleetRequests.
  23732. type CancelSpotFleetRequestsInput struct {
  23733. _ struct{} `type:"structure"`
  23734. // Checks whether you have the required permissions for the action, without
  23735. // actually making the request, and provides an error response. If you have
  23736. // the required permissions, the error response is DryRunOperation. Otherwise,
  23737. // it is UnauthorizedOperation.
  23738. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23739. // The IDs of the Spot Fleet requests.
  23740. //
  23741. // SpotFleetRequestIds is a required field
  23742. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
  23743. // Indicates whether to terminate instances for a Spot Fleet request if it is
  23744. // canceled successfully.
  23745. //
  23746. // TerminateInstances is a required field
  23747. TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
  23748. }
  23749. // String returns the string representation
  23750. func (s CancelSpotFleetRequestsInput) String() string {
  23751. return awsutil.Prettify(s)
  23752. }
  23753. // GoString returns the string representation
  23754. func (s CancelSpotFleetRequestsInput) GoString() string {
  23755. return s.String()
  23756. }
  23757. // Validate inspects the fields of the type to determine if they are valid.
  23758. func (s *CancelSpotFleetRequestsInput) Validate() error {
  23759. invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
  23760. if s.SpotFleetRequestIds == nil {
  23761. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
  23762. }
  23763. if s.TerminateInstances == nil {
  23764. invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
  23765. }
  23766. if invalidParams.Len() > 0 {
  23767. return invalidParams
  23768. }
  23769. return nil
  23770. }
  23771. // SetDryRun sets the DryRun field's value.
  23772. func (s *CancelSpotFleetRequestsInput) SetDryRun(v bool) *CancelSpotFleetRequestsInput {
  23773. s.DryRun = &v
  23774. return s
  23775. }
  23776. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  23777. func (s *CancelSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *CancelSpotFleetRequestsInput {
  23778. s.SpotFleetRequestIds = v
  23779. return s
  23780. }
  23781. // SetTerminateInstances sets the TerminateInstances field's value.
  23782. func (s *CancelSpotFleetRequestsInput) SetTerminateInstances(v bool) *CancelSpotFleetRequestsInput {
  23783. s.TerminateInstances = &v
  23784. return s
  23785. }
  23786. // Contains the output of CancelSpotFleetRequests.
  23787. type CancelSpotFleetRequestsOutput struct {
  23788. _ struct{} `type:"structure"`
  23789. // Information about the Spot Fleet requests that are successfully canceled.
  23790. SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
  23791. // Information about the Spot Fleet requests that are not successfully canceled.
  23792. UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
  23793. }
  23794. // String returns the string representation
  23795. func (s CancelSpotFleetRequestsOutput) String() string {
  23796. return awsutil.Prettify(s)
  23797. }
  23798. // GoString returns the string representation
  23799. func (s CancelSpotFleetRequestsOutput) GoString() string {
  23800. return s.String()
  23801. }
  23802. // SetSuccessfulFleetRequests sets the SuccessfulFleetRequests field's value.
  23803. func (s *CancelSpotFleetRequestsOutput) SetSuccessfulFleetRequests(v []*CancelSpotFleetRequestsSuccessItem) *CancelSpotFleetRequestsOutput {
  23804. s.SuccessfulFleetRequests = v
  23805. return s
  23806. }
  23807. // SetUnsuccessfulFleetRequests sets the UnsuccessfulFleetRequests field's value.
  23808. func (s *CancelSpotFleetRequestsOutput) SetUnsuccessfulFleetRequests(v []*CancelSpotFleetRequestsErrorItem) *CancelSpotFleetRequestsOutput {
  23809. s.UnsuccessfulFleetRequests = v
  23810. return s
  23811. }
  23812. // Describes a Spot Fleet request that was successfully canceled.
  23813. type CancelSpotFleetRequestsSuccessItem struct {
  23814. _ struct{} `type:"structure"`
  23815. // The current state of the Spot Fleet request.
  23816. //
  23817. // CurrentSpotFleetRequestState is a required field
  23818. CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  23819. // The previous state of the Spot Fleet request.
  23820. //
  23821. // PreviousSpotFleetRequestState is a required field
  23822. PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  23823. // The ID of the Spot Fleet request.
  23824. //
  23825. // SpotFleetRequestId is a required field
  23826. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  23827. }
  23828. // String returns the string representation
  23829. func (s CancelSpotFleetRequestsSuccessItem) String() string {
  23830. return awsutil.Prettify(s)
  23831. }
  23832. // GoString returns the string representation
  23833. func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
  23834. return s.String()
  23835. }
  23836. // SetCurrentSpotFleetRequestState sets the CurrentSpotFleetRequestState field's value.
  23837. func (s *CancelSpotFleetRequestsSuccessItem) SetCurrentSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  23838. s.CurrentSpotFleetRequestState = &v
  23839. return s
  23840. }
  23841. // SetPreviousSpotFleetRequestState sets the PreviousSpotFleetRequestState field's value.
  23842. func (s *CancelSpotFleetRequestsSuccessItem) SetPreviousSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  23843. s.PreviousSpotFleetRequestState = &v
  23844. return s
  23845. }
  23846. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  23847. func (s *CancelSpotFleetRequestsSuccessItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsSuccessItem {
  23848. s.SpotFleetRequestId = &v
  23849. return s
  23850. }
  23851. // Contains the parameters for CancelSpotInstanceRequests.
  23852. type CancelSpotInstanceRequestsInput struct {
  23853. _ struct{} `type:"structure"`
  23854. // Checks whether you have the required permissions for the action, without
  23855. // actually making the request, and provides an error response. If you have
  23856. // the required permissions, the error response is DryRunOperation. Otherwise,
  23857. // it is UnauthorizedOperation.
  23858. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23859. // One or more Spot Instance request IDs.
  23860. //
  23861. // SpotInstanceRequestIds is a required field
  23862. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
  23863. }
  23864. // String returns the string representation
  23865. func (s CancelSpotInstanceRequestsInput) String() string {
  23866. return awsutil.Prettify(s)
  23867. }
  23868. // GoString returns the string representation
  23869. func (s CancelSpotInstanceRequestsInput) GoString() string {
  23870. return s.String()
  23871. }
  23872. // Validate inspects the fields of the type to determine if they are valid.
  23873. func (s *CancelSpotInstanceRequestsInput) Validate() error {
  23874. invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
  23875. if s.SpotInstanceRequestIds == nil {
  23876. invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
  23877. }
  23878. if invalidParams.Len() > 0 {
  23879. return invalidParams
  23880. }
  23881. return nil
  23882. }
  23883. // SetDryRun sets the DryRun field's value.
  23884. func (s *CancelSpotInstanceRequestsInput) SetDryRun(v bool) *CancelSpotInstanceRequestsInput {
  23885. s.DryRun = &v
  23886. return s
  23887. }
  23888. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  23889. func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *CancelSpotInstanceRequestsInput {
  23890. s.SpotInstanceRequestIds = v
  23891. return s
  23892. }
  23893. // Contains the output of CancelSpotInstanceRequests.
  23894. type CancelSpotInstanceRequestsOutput struct {
  23895. _ struct{} `type:"structure"`
  23896. // One or more Spot Instance requests.
  23897. CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  23898. }
  23899. // String returns the string representation
  23900. func (s CancelSpotInstanceRequestsOutput) String() string {
  23901. return awsutil.Prettify(s)
  23902. }
  23903. // GoString returns the string representation
  23904. func (s CancelSpotInstanceRequestsOutput) GoString() string {
  23905. return s.String()
  23906. }
  23907. // SetCancelledSpotInstanceRequests sets the CancelledSpotInstanceRequests field's value.
  23908. func (s *CancelSpotInstanceRequestsOutput) SetCancelledSpotInstanceRequests(v []*CancelledSpotInstanceRequest) *CancelSpotInstanceRequestsOutput {
  23909. s.CancelledSpotInstanceRequests = v
  23910. return s
  23911. }
  23912. // Describes a request to cancel a Spot Instance.
  23913. type CancelledSpotInstanceRequest struct {
  23914. _ struct{} `type:"structure"`
  23915. // The ID of the Spot Instance request.
  23916. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  23917. // The state of the Spot Instance request.
  23918. State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
  23919. }
  23920. // String returns the string representation
  23921. func (s CancelledSpotInstanceRequest) String() string {
  23922. return awsutil.Prettify(s)
  23923. }
  23924. // GoString returns the string representation
  23925. func (s CancelledSpotInstanceRequest) GoString() string {
  23926. return s.String()
  23927. }
  23928. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  23929. func (s *CancelledSpotInstanceRequest) SetSpotInstanceRequestId(v string) *CancelledSpotInstanceRequest {
  23930. s.SpotInstanceRequestId = &v
  23931. return s
  23932. }
  23933. // SetState sets the State field's value.
  23934. func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstanceRequest {
  23935. s.State = &v
  23936. return s
  23937. }
  23938. // Describes an IPv4 CIDR block.
  23939. type CidrBlock struct {
  23940. _ struct{} `type:"structure"`
  23941. // The IPv4 CIDR block.
  23942. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  23943. }
  23944. // String returns the string representation
  23945. func (s CidrBlock) String() string {
  23946. return awsutil.Prettify(s)
  23947. }
  23948. // GoString returns the string representation
  23949. func (s CidrBlock) GoString() string {
  23950. return s.String()
  23951. }
  23952. // SetCidrBlock sets the CidrBlock field's value.
  23953. func (s *CidrBlock) SetCidrBlock(v string) *CidrBlock {
  23954. s.CidrBlock = &v
  23955. return s
  23956. }
  23957. // Describes the ClassicLink DNS support status of a VPC.
  23958. type ClassicLinkDnsSupport struct {
  23959. _ struct{} `type:"structure"`
  23960. // Indicates whether ClassicLink DNS support is enabled for the VPC.
  23961. ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
  23962. // The ID of the VPC.
  23963. VpcId *string `locationName:"vpcId" type:"string"`
  23964. }
  23965. // String returns the string representation
  23966. func (s ClassicLinkDnsSupport) String() string {
  23967. return awsutil.Prettify(s)
  23968. }
  23969. // GoString returns the string representation
  23970. func (s ClassicLinkDnsSupport) GoString() string {
  23971. return s.String()
  23972. }
  23973. // SetClassicLinkDnsSupported sets the ClassicLinkDnsSupported field's value.
  23974. func (s *ClassicLinkDnsSupport) SetClassicLinkDnsSupported(v bool) *ClassicLinkDnsSupport {
  23975. s.ClassicLinkDnsSupported = &v
  23976. return s
  23977. }
  23978. // SetVpcId sets the VpcId field's value.
  23979. func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
  23980. s.VpcId = &v
  23981. return s
  23982. }
  23983. // Describes a linked EC2-Classic instance.
  23984. type ClassicLinkInstance struct {
  23985. _ struct{} `type:"structure"`
  23986. // A list of security groups.
  23987. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  23988. // The ID of the instance.
  23989. InstanceId *string `locationName:"instanceId" type:"string"`
  23990. // Any tags assigned to the instance.
  23991. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  23992. // The ID of the VPC.
  23993. VpcId *string `locationName:"vpcId" type:"string"`
  23994. }
  23995. // String returns the string representation
  23996. func (s ClassicLinkInstance) String() string {
  23997. return awsutil.Prettify(s)
  23998. }
  23999. // GoString returns the string representation
  24000. func (s ClassicLinkInstance) GoString() string {
  24001. return s.String()
  24002. }
  24003. // SetGroups sets the Groups field's value.
  24004. func (s *ClassicLinkInstance) SetGroups(v []*GroupIdentifier) *ClassicLinkInstance {
  24005. s.Groups = v
  24006. return s
  24007. }
  24008. // SetInstanceId sets the InstanceId field's value.
  24009. func (s *ClassicLinkInstance) SetInstanceId(v string) *ClassicLinkInstance {
  24010. s.InstanceId = &v
  24011. return s
  24012. }
  24013. // SetTags sets the Tags field's value.
  24014. func (s *ClassicLinkInstance) SetTags(v []*Tag) *ClassicLinkInstance {
  24015. s.Tags = v
  24016. return s
  24017. }
  24018. // SetVpcId sets the VpcId field's value.
  24019. func (s *ClassicLinkInstance) SetVpcId(v string) *ClassicLinkInstance {
  24020. s.VpcId = &v
  24021. return s
  24022. }
  24023. // Describes a Classic Load Balancer.
  24024. type ClassicLoadBalancer struct {
  24025. _ struct{} `type:"structure"`
  24026. // The name of the load balancer.
  24027. //
  24028. // Name is a required field
  24029. Name *string `locationName:"name" type:"string" required:"true"`
  24030. }
  24031. // String returns the string representation
  24032. func (s ClassicLoadBalancer) String() string {
  24033. return awsutil.Prettify(s)
  24034. }
  24035. // GoString returns the string representation
  24036. func (s ClassicLoadBalancer) GoString() string {
  24037. return s.String()
  24038. }
  24039. // Validate inspects the fields of the type to determine if they are valid.
  24040. func (s *ClassicLoadBalancer) Validate() error {
  24041. invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancer"}
  24042. if s.Name == nil {
  24043. invalidParams.Add(request.NewErrParamRequired("Name"))
  24044. }
  24045. if invalidParams.Len() > 0 {
  24046. return invalidParams
  24047. }
  24048. return nil
  24049. }
  24050. // SetName sets the Name field's value.
  24051. func (s *ClassicLoadBalancer) SetName(v string) *ClassicLoadBalancer {
  24052. s.Name = &v
  24053. return s
  24054. }
  24055. // Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet
  24056. // registers the running Spot Instances with these Classic Load Balancers.
  24057. type ClassicLoadBalancersConfig struct {
  24058. _ struct{} `type:"structure"`
  24059. // One or more Classic Load Balancers.
  24060. //
  24061. // ClassicLoadBalancers is a required field
  24062. ClassicLoadBalancers []*ClassicLoadBalancer `locationName:"classicLoadBalancers" locationNameList:"item" min:"1" type:"list" required:"true"`
  24063. }
  24064. // String returns the string representation
  24065. func (s ClassicLoadBalancersConfig) String() string {
  24066. return awsutil.Prettify(s)
  24067. }
  24068. // GoString returns the string representation
  24069. func (s ClassicLoadBalancersConfig) GoString() string {
  24070. return s.String()
  24071. }
  24072. // Validate inspects the fields of the type to determine if they are valid.
  24073. func (s *ClassicLoadBalancersConfig) Validate() error {
  24074. invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancersConfig"}
  24075. if s.ClassicLoadBalancers == nil {
  24076. invalidParams.Add(request.NewErrParamRequired("ClassicLoadBalancers"))
  24077. }
  24078. if s.ClassicLoadBalancers != nil && len(s.ClassicLoadBalancers) < 1 {
  24079. invalidParams.Add(request.NewErrParamMinLen("ClassicLoadBalancers", 1))
  24080. }
  24081. if s.ClassicLoadBalancers != nil {
  24082. for i, v := range s.ClassicLoadBalancers {
  24083. if v == nil {
  24084. continue
  24085. }
  24086. if err := v.Validate(); err != nil {
  24087. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ClassicLoadBalancers", i), err.(request.ErrInvalidParams))
  24088. }
  24089. }
  24090. }
  24091. if invalidParams.Len() > 0 {
  24092. return invalidParams
  24093. }
  24094. return nil
  24095. }
  24096. // SetClassicLoadBalancers sets the ClassicLoadBalancers field's value.
  24097. func (s *ClassicLoadBalancersConfig) SetClassicLoadBalancers(v []*ClassicLoadBalancer) *ClassicLoadBalancersConfig {
  24098. s.ClassicLoadBalancers = v
  24099. return s
  24100. }
  24101. // Describes the client-specific data.
  24102. type ClientData struct {
  24103. _ struct{} `type:"structure"`
  24104. // A user-defined comment about the disk upload.
  24105. Comment *string `type:"string"`
  24106. // The time that the disk upload ends.
  24107. UploadEnd *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  24108. // The size of the uploaded disk image, in GiB.
  24109. UploadSize *float64 `type:"double"`
  24110. // The time that the disk upload starts.
  24111. UploadStart *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  24112. }
  24113. // String returns the string representation
  24114. func (s ClientData) String() string {
  24115. return awsutil.Prettify(s)
  24116. }
  24117. // GoString returns the string representation
  24118. func (s ClientData) GoString() string {
  24119. return s.String()
  24120. }
  24121. // SetComment sets the Comment field's value.
  24122. func (s *ClientData) SetComment(v string) *ClientData {
  24123. s.Comment = &v
  24124. return s
  24125. }
  24126. // SetUploadEnd sets the UploadEnd field's value.
  24127. func (s *ClientData) SetUploadEnd(v time.Time) *ClientData {
  24128. s.UploadEnd = &v
  24129. return s
  24130. }
  24131. // SetUploadSize sets the UploadSize field's value.
  24132. func (s *ClientData) SetUploadSize(v float64) *ClientData {
  24133. s.UploadSize = &v
  24134. return s
  24135. }
  24136. // SetUploadStart sets the UploadStart field's value.
  24137. func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
  24138. s.UploadStart = &v
  24139. return s
  24140. }
  24141. // Contains the parameters for ConfirmProductInstance.
  24142. type ConfirmProductInstanceInput struct {
  24143. _ struct{} `type:"structure"`
  24144. // Checks whether you have the required permissions for the action, without
  24145. // actually making the request, and provides an error response. If you have
  24146. // the required permissions, the error response is DryRunOperation. Otherwise,
  24147. // it is UnauthorizedOperation.
  24148. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24149. // The ID of the instance.
  24150. //
  24151. // InstanceId is a required field
  24152. InstanceId *string `type:"string" required:"true"`
  24153. // The product code. This must be a product code that you own.
  24154. //
  24155. // ProductCode is a required field
  24156. ProductCode *string `type:"string" required:"true"`
  24157. }
  24158. // String returns the string representation
  24159. func (s ConfirmProductInstanceInput) String() string {
  24160. return awsutil.Prettify(s)
  24161. }
  24162. // GoString returns the string representation
  24163. func (s ConfirmProductInstanceInput) GoString() string {
  24164. return s.String()
  24165. }
  24166. // Validate inspects the fields of the type to determine if they are valid.
  24167. func (s *ConfirmProductInstanceInput) Validate() error {
  24168. invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
  24169. if s.InstanceId == nil {
  24170. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  24171. }
  24172. if s.ProductCode == nil {
  24173. invalidParams.Add(request.NewErrParamRequired("ProductCode"))
  24174. }
  24175. if invalidParams.Len() > 0 {
  24176. return invalidParams
  24177. }
  24178. return nil
  24179. }
  24180. // SetDryRun sets the DryRun field's value.
  24181. func (s *ConfirmProductInstanceInput) SetDryRun(v bool) *ConfirmProductInstanceInput {
  24182. s.DryRun = &v
  24183. return s
  24184. }
  24185. // SetInstanceId sets the InstanceId field's value.
  24186. func (s *ConfirmProductInstanceInput) SetInstanceId(v string) *ConfirmProductInstanceInput {
  24187. s.InstanceId = &v
  24188. return s
  24189. }
  24190. // SetProductCode sets the ProductCode field's value.
  24191. func (s *ConfirmProductInstanceInput) SetProductCode(v string) *ConfirmProductInstanceInput {
  24192. s.ProductCode = &v
  24193. return s
  24194. }
  24195. // Contains the output of ConfirmProductInstance.
  24196. type ConfirmProductInstanceOutput struct {
  24197. _ struct{} `type:"structure"`
  24198. // The AWS account ID of the instance owner. This is only present if the product
  24199. // code is attached to the instance.
  24200. OwnerId *string `locationName:"ownerId" type:"string"`
  24201. // The return value of the request. Returns true if the specified product code
  24202. // is owned by the requester and associated with the specified instance.
  24203. Return *bool `locationName:"return" type:"boolean"`
  24204. }
  24205. // String returns the string representation
  24206. func (s ConfirmProductInstanceOutput) String() string {
  24207. return awsutil.Prettify(s)
  24208. }
  24209. // GoString returns the string representation
  24210. func (s ConfirmProductInstanceOutput) GoString() string {
  24211. return s.String()
  24212. }
  24213. // SetOwnerId sets the OwnerId field's value.
  24214. func (s *ConfirmProductInstanceOutput) SetOwnerId(v string) *ConfirmProductInstanceOutput {
  24215. s.OwnerId = &v
  24216. return s
  24217. }
  24218. // SetReturn sets the Return field's value.
  24219. func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstanceOutput {
  24220. s.Return = &v
  24221. return s
  24222. }
  24223. // Describes a connection notification for a VPC endpoint or VPC endpoint service.
  24224. type ConnectionNotification struct {
  24225. _ struct{} `type:"structure"`
  24226. // The events for the notification. Valid values are Accept, Connect, Delete,
  24227. // and Reject.
  24228. ConnectionEvents []*string `locationName:"connectionEvents" locationNameList:"item" type:"list"`
  24229. // The ARN of the SNS topic for the notification.
  24230. ConnectionNotificationArn *string `locationName:"connectionNotificationArn" type:"string"`
  24231. // The ID of the notification.
  24232. ConnectionNotificationId *string `locationName:"connectionNotificationId" type:"string"`
  24233. // The state of the notification.
  24234. ConnectionNotificationState *string `locationName:"connectionNotificationState" type:"string" enum:"ConnectionNotificationState"`
  24235. // The type of notification.
  24236. ConnectionNotificationType *string `locationName:"connectionNotificationType" type:"string" enum:"ConnectionNotificationType"`
  24237. // The ID of the endpoint service.
  24238. ServiceId *string `locationName:"serviceId" type:"string"`
  24239. // The ID of the VPC endpoint.
  24240. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  24241. }
  24242. // String returns the string representation
  24243. func (s ConnectionNotification) String() string {
  24244. return awsutil.Prettify(s)
  24245. }
  24246. // GoString returns the string representation
  24247. func (s ConnectionNotification) GoString() string {
  24248. return s.String()
  24249. }
  24250. // SetConnectionEvents sets the ConnectionEvents field's value.
  24251. func (s *ConnectionNotification) SetConnectionEvents(v []*string) *ConnectionNotification {
  24252. s.ConnectionEvents = v
  24253. return s
  24254. }
  24255. // SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
  24256. func (s *ConnectionNotification) SetConnectionNotificationArn(v string) *ConnectionNotification {
  24257. s.ConnectionNotificationArn = &v
  24258. return s
  24259. }
  24260. // SetConnectionNotificationId sets the ConnectionNotificationId field's value.
  24261. func (s *ConnectionNotification) SetConnectionNotificationId(v string) *ConnectionNotification {
  24262. s.ConnectionNotificationId = &v
  24263. return s
  24264. }
  24265. // SetConnectionNotificationState sets the ConnectionNotificationState field's value.
  24266. func (s *ConnectionNotification) SetConnectionNotificationState(v string) *ConnectionNotification {
  24267. s.ConnectionNotificationState = &v
  24268. return s
  24269. }
  24270. // SetConnectionNotificationType sets the ConnectionNotificationType field's value.
  24271. func (s *ConnectionNotification) SetConnectionNotificationType(v string) *ConnectionNotification {
  24272. s.ConnectionNotificationType = &v
  24273. return s
  24274. }
  24275. // SetServiceId sets the ServiceId field's value.
  24276. func (s *ConnectionNotification) SetServiceId(v string) *ConnectionNotification {
  24277. s.ServiceId = &v
  24278. return s
  24279. }
  24280. // SetVpcEndpointId sets the VpcEndpointId field's value.
  24281. func (s *ConnectionNotification) SetVpcEndpointId(v string) *ConnectionNotification {
  24282. s.VpcEndpointId = &v
  24283. return s
  24284. }
  24285. // Describes a conversion task.
  24286. type ConversionTask struct {
  24287. _ struct{} `type:"structure"`
  24288. // The ID of the conversion task.
  24289. ConversionTaskId *string `locationName:"conversionTaskId" type:"string"`
  24290. // The time when the task expires. If the upload isn't complete before the expiration
  24291. // time, we automatically cancel the task.
  24292. ExpirationTime *string `locationName:"expirationTime" type:"string"`
  24293. // If the task is for importing an instance, this contains information about
  24294. // the import instance task.
  24295. ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
  24296. // If the task is for importing a volume, this contains information about the
  24297. // import volume task.
  24298. ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
  24299. // The state of the conversion task.
  24300. State *string `locationName:"state" type:"string" enum:"ConversionTaskState"`
  24301. // The status message related to the conversion task.
  24302. StatusMessage *string `locationName:"statusMessage" type:"string"`
  24303. // Any tags assigned to the task.
  24304. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  24305. }
  24306. // String returns the string representation
  24307. func (s ConversionTask) String() string {
  24308. return awsutil.Prettify(s)
  24309. }
  24310. // GoString returns the string representation
  24311. func (s ConversionTask) GoString() string {
  24312. return s.String()
  24313. }
  24314. // SetConversionTaskId sets the ConversionTaskId field's value.
  24315. func (s *ConversionTask) SetConversionTaskId(v string) *ConversionTask {
  24316. s.ConversionTaskId = &v
  24317. return s
  24318. }
  24319. // SetExpirationTime sets the ExpirationTime field's value.
  24320. func (s *ConversionTask) SetExpirationTime(v string) *ConversionTask {
  24321. s.ExpirationTime = &v
  24322. return s
  24323. }
  24324. // SetImportInstance sets the ImportInstance field's value.
  24325. func (s *ConversionTask) SetImportInstance(v *ImportInstanceTaskDetails) *ConversionTask {
  24326. s.ImportInstance = v
  24327. return s
  24328. }
  24329. // SetImportVolume sets the ImportVolume field's value.
  24330. func (s *ConversionTask) SetImportVolume(v *ImportVolumeTaskDetails) *ConversionTask {
  24331. s.ImportVolume = v
  24332. return s
  24333. }
  24334. // SetState sets the State field's value.
  24335. func (s *ConversionTask) SetState(v string) *ConversionTask {
  24336. s.State = &v
  24337. return s
  24338. }
  24339. // SetStatusMessage sets the StatusMessage field's value.
  24340. func (s *ConversionTask) SetStatusMessage(v string) *ConversionTask {
  24341. s.StatusMessage = &v
  24342. return s
  24343. }
  24344. // SetTags sets the Tags field's value.
  24345. func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask {
  24346. s.Tags = v
  24347. return s
  24348. }
  24349. type CopyFpgaImageInput struct {
  24350. _ struct{} `type:"structure"`
  24351. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  24352. // of the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  24353. ClientToken *string `type:"string"`
  24354. // The description for the new AFI.
  24355. Description *string `type:"string"`
  24356. // Checks whether you have the required permissions for the action, without
  24357. // actually making the request, and provides an error response. If you have
  24358. // the required permissions, the error response is DryRunOperation. Otherwise,
  24359. // it is UnauthorizedOperation.
  24360. DryRun *bool `type:"boolean"`
  24361. // The name for the new AFI. The default is the name of the source AFI.
  24362. Name *string `type:"string"`
  24363. // The ID of the source AFI.
  24364. //
  24365. // SourceFpgaImageId is a required field
  24366. SourceFpgaImageId *string `type:"string" required:"true"`
  24367. // The region that contains the source AFI.
  24368. //
  24369. // SourceRegion is a required field
  24370. SourceRegion *string `type:"string" required:"true"`
  24371. }
  24372. // String returns the string representation
  24373. func (s CopyFpgaImageInput) String() string {
  24374. return awsutil.Prettify(s)
  24375. }
  24376. // GoString returns the string representation
  24377. func (s CopyFpgaImageInput) GoString() string {
  24378. return s.String()
  24379. }
  24380. // Validate inspects the fields of the type to determine if they are valid.
  24381. func (s *CopyFpgaImageInput) Validate() error {
  24382. invalidParams := request.ErrInvalidParams{Context: "CopyFpgaImageInput"}
  24383. if s.SourceFpgaImageId == nil {
  24384. invalidParams.Add(request.NewErrParamRequired("SourceFpgaImageId"))
  24385. }
  24386. if s.SourceRegion == nil {
  24387. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  24388. }
  24389. if invalidParams.Len() > 0 {
  24390. return invalidParams
  24391. }
  24392. return nil
  24393. }
  24394. // SetClientToken sets the ClientToken field's value.
  24395. func (s *CopyFpgaImageInput) SetClientToken(v string) *CopyFpgaImageInput {
  24396. s.ClientToken = &v
  24397. return s
  24398. }
  24399. // SetDescription sets the Description field's value.
  24400. func (s *CopyFpgaImageInput) SetDescription(v string) *CopyFpgaImageInput {
  24401. s.Description = &v
  24402. return s
  24403. }
  24404. // SetDryRun sets the DryRun field's value.
  24405. func (s *CopyFpgaImageInput) SetDryRun(v bool) *CopyFpgaImageInput {
  24406. s.DryRun = &v
  24407. return s
  24408. }
  24409. // SetName sets the Name field's value.
  24410. func (s *CopyFpgaImageInput) SetName(v string) *CopyFpgaImageInput {
  24411. s.Name = &v
  24412. return s
  24413. }
  24414. // SetSourceFpgaImageId sets the SourceFpgaImageId field's value.
  24415. func (s *CopyFpgaImageInput) SetSourceFpgaImageId(v string) *CopyFpgaImageInput {
  24416. s.SourceFpgaImageId = &v
  24417. return s
  24418. }
  24419. // SetSourceRegion sets the SourceRegion field's value.
  24420. func (s *CopyFpgaImageInput) SetSourceRegion(v string) *CopyFpgaImageInput {
  24421. s.SourceRegion = &v
  24422. return s
  24423. }
  24424. type CopyFpgaImageOutput struct {
  24425. _ struct{} `type:"structure"`
  24426. // The ID of the new AFI.
  24427. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  24428. }
  24429. // String returns the string representation
  24430. func (s CopyFpgaImageOutput) String() string {
  24431. return awsutil.Prettify(s)
  24432. }
  24433. // GoString returns the string representation
  24434. func (s CopyFpgaImageOutput) GoString() string {
  24435. return s.String()
  24436. }
  24437. // SetFpgaImageId sets the FpgaImageId field's value.
  24438. func (s *CopyFpgaImageOutput) SetFpgaImageId(v string) *CopyFpgaImageOutput {
  24439. s.FpgaImageId = &v
  24440. return s
  24441. }
  24442. // Contains the parameters for CopyImage.
  24443. type CopyImageInput struct {
  24444. _ struct{} `type:"structure"`
  24445. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  24446. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  24447. // in the Amazon Elastic Compute Cloud User Guide.
  24448. ClientToken *string `type:"string"`
  24449. // A description for the new AMI in the destination region.
  24450. Description *string `type:"string"`
  24451. // Checks whether you have the required permissions for the action, without
  24452. // actually making the request, and provides an error response. If you have
  24453. // the required permissions, the error response is DryRunOperation. Otherwise,
  24454. // it is UnauthorizedOperation.
  24455. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24456. // Specifies whether the destination snapshots of the copied image should be
  24457. // encrypted. The default CMK for EBS is used unless a non-default AWS Key Management
  24458. // Service (AWS KMS) CMK is specified with KmsKeyId. For more information, see
  24459. // Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  24460. // in the Amazon Elastic Compute Cloud User Guide.
  24461. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  24462. // An identifier for the AWS Key Management Service (AWS KMS) customer master
  24463. // key (CMK) to use when creating the encrypted volume. This parameter is only
  24464. // required if you want to use a non-default CMK; if this parameter is not specified,
  24465. // the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted
  24466. // flag must also be set.
  24467. //
  24468. // The CMK identifier may be provided in any of the following formats:
  24469. //
  24470. // * Key ID
  24471. //
  24472. // * Key alias, in the form alias/ExampleAlias
  24473. //
  24474. // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
  24475. // by the region of the CMK, the AWS account ID of the CMK owner, the key
  24476. // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  24477. //
  24478. //
  24479. // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
  24480. // followed by the region of the CMK, the AWS account ID of the CMK owner,
  24481. // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  24482. //
  24483. //
  24484. // AWS parses KmsKeyId asynchronously, meaning that the action you call may
  24485. // appear to complete even though you provided an invalid identifier. This action
  24486. // will eventually report failure.
  24487. //
  24488. // The specified CMK must exist in the region that the snapshot is being copied
  24489. // to.
  24490. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  24491. // The name of the new AMI in the destination region.
  24492. //
  24493. // Name is a required field
  24494. Name *string `type:"string" required:"true"`
  24495. // The ID of the AMI to copy.
  24496. //
  24497. // SourceImageId is a required field
  24498. SourceImageId *string `type:"string" required:"true"`
  24499. // The name of the region that contains the AMI to copy.
  24500. //
  24501. // SourceRegion is a required field
  24502. SourceRegion *string `type:"string" required:"true"`
  24503. }
  24504. // String returns the string representation
  24505. func (s CopyImageInput) String() string {
  24506. return awsutil.Prettify(s)
  24507. }
  24508. // GoString returns the string representation
  24509. func (s CopyImageInput) GoString() string {
  24510. return s.String()
  24511. }
  24512. // Validate inspects the fields of the type to determine if they are valid.
  24513. func (s *CopyImageInput) Validate() error {
  24514. invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
  24515. if s.Name == nil {
  24516. invalidParams.Add(request.NewErrParamRequired("Name"))
  24517. }
  24518. if s.SourceImageId == nil {
  24519. invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
  24520. }
  24521. if s.SourceRegion == nil {
  24522. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  24523. }
  24524. if invalidParams.Len() > 0 {
  24525. return invalidParams
  24526. }
  24527. return nil
  24528. }
  24529. // SetClientToken sets the ClientToken field's value.
  24530. func (s *CopyImageInput) SetClientToken(v string) *CopyImageInput {
  24531. s.ClientToken = &v
  24532. return s
  24533. }
  24534. // SetDescription sets the Description field's value.
  24535. func (s *CopyImageInput) SetDescription(v string) *CopyImageInput {
  24536. s.Description = &v
  24537. return s
  24538. }
  24539. // SetDryRun sets the DryRun field's value.
  24540. func (s *CopyImageInput) SetDryRun(v bool) *CopyImageInput {
  24541. s.DryRun = &v
  24542. return s
  24543. }
  24544. // SetEncrypted sets the Encrypted field's value.
  24545. func (s *CopyImageInput) SetEncrypted(v bool) *CopyImageInput {
  24546. s.Encrypted = &v
  24547. return s
  24548. }
  24549. // SetKmsKeyId sets the KmsKeyId field's value.
  24550. func (s *CopyImageInput) SetKmsKeyId(v string) *CopyImageInput {
  24551. s.KmsKeyId = &v
  24552. return s
  24553. }
  24554. // SetName sets the Name field's value.
  24555. func (s *CopyImageInput) SetName(v string) *CopyImageInput {
  24556. s.Name = &v
  24557. return s
  24558. }
  24559. // SetSourceImageId sets the SourceImageId field's value.
  24560. func (s *CopyImageInput) SetSourceImageId(v string) *CopyImageInput {
  24561. s.SourceImageId = &v
  24562. return s
  24563. }
  24564. // SetSourceRegion sets the SourceRegion field's value.
  24565. func (s *CopyImageInput) SetSourceRegion(v string) *CopyImageInput {
  24566. s.SourceRegion = &v
  24567. return s
  24568. }
  24569. // Contains the output of CopyImage.
  24570. type CopyImageOutput struct {
  24571. _ struct{} `type:"structure"`
  24572. // The ID of the new AMI.
  24573. ImageId *string `locationName:"imageId" type:"string"`
  24574. }
  24575. // String returns the string representation
  24576. func (s CopyImageOutput) String() string {
  24577. return awsutil.Prettify(s)
  24578. }
  24579. // GoString returns the string representation
  24580. func (s CopyImageOutput) GoString() string {
  24581. return s.String()
  24582. }
  24583. // SetImageId sets the ImageId field's value.
  24584. func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput {
  24585. s.ImageId = &v
  24586. return s
  24587. }
  24588. // Contains the parameters for CopySnapshot.
  24589. type CopySnapshotInput struct {
  24590. _ struct{} `type:"structure"`
  24591. // A description for the EBS snapshot.
  24592. Description *string `type:"string"`
  24593. // The destination region to use in the PresignedUrl parameter of a snapshot
  24594. // copy operation. This parameter is only valid for specifying the destination
  24595. // region in a PresignedUrl parameter, where it is required.
  24596. //
  24597. // CopySnapshot sends the snapshot copy to the regional endpoint that you send
  24598. // the HTTP request to, such as ec2.us-east-1.amazonaws.com (in the AWS CLI,
  24599. // this is specified with the --region parameter or the default region in your
  24600. // AWS configuration file).
  24601. DestinationRegion *string `locationName:"destinationRegion" type:"string"`
  24602. // Checks whether you have the required permissions for the action, without
  24603. // actually making the request, and provides an error response. If you have
  24604. // the required permissions, the error response is DryRunOperation. Otherwise,
  24605. // it is UnauthorizedOperation.
  24606. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24607. // Specifies whether the destination snapshot should be encrypted. You can encrypt
  24608. // a copy of an unencrypted snapshot using this flag, but you cannot use it
  24609. // to create an unencrypted copy from an encrypted snapshot. Your default CMK
  24610. // for EBS is used unless a non-default AWS Key Management Service (AWS KMS)
  24611. // CMK is specified with KmsKeyId. For more information, see Amazon EBS Encryption
  24612. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) in
  24613. // the Amazon Elastic Compute Cloud User Guide.
  24614. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  24615. // An identifier for the AWS Key Management Service (AWS KMS) customer master
  24616. // key (CMK) to use when creating the encrypted volume. This parameter is only
  24617. // required if you want to use a non-default CMK; if this parameter is not specified,
  24618. // the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted
  24619. // flag must also be set.
  24620. //
  24621. // The CMK identifier may be provided in any of the following formats:
  24622. //
  24623. // * Key ID
  24624. //
  24625. // * Key alias
  24626. //
  24627. // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
  24628. // by the region of the CMK, the AWS account ID of the CMK owner, the key
  24629. // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  24630. //
  24631. //
  24632. // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
  24633. // followed by the region of the CMK, the AWS account ID of the CMK owner,
  24634. // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  24635. //
  24636. //
  24637. // AWS parses KmsKeyId asynchronously, meaning that the action you call may
  24638. // appear to complete even though you provided an invalid identifier. The action
  24639. // will eventually fail.
  24640. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  24641. // When you copy an encrypted source snapshot using the Amazon EC2 Query API,
  24642. // you must supply a pre-signed URL. This parameter is optional for unencrypted
  24643. // snapshots. For more information, see Query Requests (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html).
  24644. //
  24645. // The PresignedUrl should use the snapshot source endpoint, the CopySnapshot
  24646. // action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion
  24647. // parameters. The PresignedUrl must be signed using AWS Signature Version 4.
  24648. // Because EBS snapshots are stored in Amazon S3, the signing algorithm for
  24649. // this parameter uses the same logic that is described in Authenticating Requests
  24650. // by Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
  24651. // in the Amazon Simple Storage Service API Reference. An invalid or improperly
  24652. // signed PresignedUrl will cause the copy operation to fail asynchronously,
  24653. // and the snapshot will move to an error state.
  24654. PresignedUrl *string `locationName:"presignedUrl" type:"string"`
  24655. // The ID of the region that contains the snapshot to be copied.
  24656. //
  24657. // SourceRegion is a required field
  24658. SourceRegion *string `type:"string" required:"true"`
  24659. // The ID of the EBS snapshot to copy.
  24660. //
  24661. // SourceSnapshotId is a required field
  24662. SourceSnapshotId *string `type:"string" required:"true"`
  24663. }
  24664. // String returns the string representation
  24665. func (s CopySnapshotInput) String() string {
  24666. return awsutil.Prettify(s)
  24667. }
  24668. // GoString returns the string representation
  24669. func (s CopySnapshotInput) GoString() string {
  24670. return s.String()
  24671. }
  24672. // Validate inspects the fields of the type to determine if they are valid.
  24673. func (s *CopySnapshotInput) Validate() error {
  24674. invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
  24675. if s.SourceRegion == nil {
  24676. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  24677. }
  24678. if s.SourceSnapshotId == nil {
  24679. invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
  24680. }
  24681. if invalidParams.Len() > 0 {
  24682. return invalidParams
  24683. }
  24684. return nil
  24685. }
  24686. // SetDescription sets the Description field's value.
  24687. func (s *CopySnapshotInput) SetDescription(v string) *CopySnapshotInput {
  24688. s.Description = &v
  24689. return s
  24690. }
  24691. // SetDestinationRegion sets the DestinationRegion field's value.
  24692. func (s *CopySnapshotInput) SetDestinationRegion(v string) *CopySnapshotInput {
  24693. s.DestinationRegion = &v
  24694. return s
  24695. }
  24696. // SetDryRun sets the DryRun field's value.
  24697. func (s *CopySnapshotInput) SetDryRun(v bool) *CopySnapshotInput {
  24698. s.DryRun = &v
  24699. return s
  24700. }
  24701. // SetEncrypted sets the Encrypted field's value.
  24702. func (s *CopySnapshotInput) SetEncrypted(v bool) *CopySnapshotInput {
  24703. s.Encrypted = &v
  24704. return s
  24705. }
  24706. // SetKmsKeyId sets the KmsKeyId field's value.
  24707. func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
  24708. s.KmsKeyId = &v
  24709. return s
  24710. }
  24711. // SetPresignedUrl sets the PresignedUrl field's value.
  24712. func (s *CopySnapshotInput) SetPresignedUrl(v string) *CopySnapshotInput {
  24713. s.PresignedUrl = &v
  24714. return s
  24715. }
  24716. // SetSourceRegion sets the SourceRegion field's value.
  24717. func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
  24718. s.SourceRegion = &v
  24719. return s
  24720. }
  24721. // SetSourceSnapshotId sets the SourceSnapshotId field's value.
  24722. func (s *CopySnapshotInput) SetSourceSnapshotId(v string) *CopySnapshotInput {
  24723. s.SourceSnapshotId = &v
  24724. return s
  24725. }
  24726. // Contains the output of CopySnapshot.
  24727. type CopySnapshotOutput struct {
  24728. _ struct{} `type:"structure"`
  24729. // The ID of the new snapshot.
  24730. SnapshotId *string `locationName:"snapshotId" type:"string"`
  24731. }
  24732. // String returns the string representation
  24733. func (s CopySnapshotOutput) String() string {
  24734. return awsutil.Prettify(s)
  24735. }
  24736. // GoString returns the string representation
  24737. func (s CopySnapshotOutput) GoString() string {
  24738. return s.String()
  24739. }
  24740. // SetSnapshotId sets the SnapshotId field's value.
  24741. func (s *CopySnapshotOutput) SetSnapshotId(v string) *CopySnapshotOutput {
  24742. s.SnapshotId = &v
  24743. return s
  24744. }
  24745. // The CPU options for the instance.
  24746. type CpuOptions struct {
  24747. _ struct{} `type:"structure"`
  24748. // The number of CPU cores for the instance.
  24749. CoreCount *int64 `locationName:"coreCount" type:"integer"`
  24750. // The number of threads per CPU core.
  24751. ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
  24752. }
  24753. // String returns the string representation
  24754. func (s CpuOptions) String() string {
  24755. return awsutil.Prettify(s)
  24756. }
  24757. // GoString returns the string representation
  24758. func (s CpuOptions) GoString() string {
  24759. return s.String()
  24760. }
  24761. // SetCoreCount sets the CoreCount field's value.
  24762. func (s *CpuOptions) SetCoreCount(v int64) *CpuOptions {
  24763. s.CoreCount = &v
  24764. return s
  24765. }
  24766. // SetThreadsPerCore sets the ThreadsPerCore field's value.
  24767. func (s *CpuOptions) SetThreadsPerCore(v int64) *CpuOptions {
  24768. s.ThreadsPerCore = &v
  24769. return s
  24770. }
  24771. // The CPU options for the instance. Both the core count and threads per core
  24772. // must be specified in the request.
  24773. type CpuOptionsRequest struct {
  24774. _ struct{} `type:"structure"`
  24775. // The number of CPU cores for the instance.
  24776. CoreCount *int64 `type:"integer"`
  24777. // The number of threads per CPU core. To disable Intel Hyper-Threading Technology
  24778. // for the instance, specify a value of 1. Otherwise, specify the default value
  24779. // of 2.
  24780. ThreadsPerCore *int64 `type:"integer"`
  24781. }
  24782. // String returns the string representation
  24783. func (s CpuOptionsRequest) String() string {
  24784. return awsutil.Prettify(s)
  24785. }
  24786. // GoString returns the string representation
  24787. func (s CpuOptionsRequest) GoString() string {
  24788. return s.String()
  24789. }
  24790. // SetCoreCount sets the CoreCount field's value.
  24791. func (s *CpuOptionsRequest) SetCoreCount(v int64) *CpuOptionsRequest {
  24792. s.CoreCount = &v
  24793. return s
  24794. }
  24795. // SetThreadsPerCore sets the ThreadsPerCore field's value.
  24796. func (s *CpuOptionsRequest) SetThreadsPerCore(v int64) *CpuOptionsRequest {
  24797. s.ThreadsPerCore = &v
  24798. return s
  24799. }
  24800. // Contains the parameters for CreateCustomerGateway.
  24801. type CreateCustomerGatewayInput struct {
  24802. _ struct{} `type:"structure"`
  24803. // For devices that support BGP, the customer gateway's BGP ASN.
  24804. //
  24805. // Default: 65000
  24806. //
  24807. // BgpAsn is a required field
  24808. BgpAsn *int64 `type:"integer" required:"true"`
  24809. // Checks whether you have the required permissions for the action, without
  24810. // actually making the request, and provides an error response. If you have
  24811. // the required permissions, the error response is DryRunOperation. Otherwise,
  24812. // it is UnauthorizedOperation.
  24813. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24814. // The Internet-routable IP address for the customer gateway's outside interface.
  24815. // The address must be static.
  24816. //
  24817. // PublicIp is a required field
  24818. PublicIp *string `locationName:"IpAddress" type:"string" required:"true"`
  24819. // The type of VPN connection that this customer gateway supports (ipsec.1).
  24820. //
  24821. // Type is a required field
  24822. Type *string `type:"string" required:"true" enum:"GatewayType"`
  24823. }
  24824. // String returns the string representation
  24825. func (s CreateCustomerGatewayInput) String() string {
  24826. return awsutil.Prettify(s)
  24827. }
  24828. // GoString returns the string representation
  24829. func (s CreateCustomerGatewayInput) GoString() string {
  24830. return s.String()
  24831. }
  24832. // Validate inspects the fields of the type to determine if they are valid.
  24833. func (s *CreateCustomerGatewayInput) Validate() error {
  24834. invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
  24835. if s.BgpAsn == nil {
  24836. invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
  24837. }
  24838. if s.PublicIp == nil {
  24839. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  24840. }
  24841. if s.Type == nil {
  24842. invalidParams.Add(request.NewErrParamRequired("Type"))
  24843. }
  24844. if invalidParams.Len() > 0 {
  24845. return invalidParams
  24846. }
  24847. return nil
  24848. }
  24849. // SetBgpAsn sets the BgpAsn field's value.
  24850. func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayInput {
  24851. s.BgpAsn = &v
  24852. return s
  24853. }
  24854. // SetDryRun sets the DryRun field's value.
  24855. func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput {
  24856. s.DryRun = &v
  24857. return s
  24858. }
  24859. // SetPublicIp sets the PublicIp field's value.
  24860. func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput {
  24861. s.PublicIp = &v
  24862. return s
  24863. }
  24864. // SetType sets the Type field's value.
  24865. func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput {
  24866. s.Type = &v
  24867. return s
  24868. }
  24869. // Contains the output of CreateCustomerGateway.
  24870. type CreateCustomerGatewayOutput struct {
  24871. _ struct{} `type:"structure"`
  24872. // Information about the customer gateway.
  24873. CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
  24874. }
  24875. // String returns the string representation
  24876. func (s CreateCustomerGatewayOutput) String() string {
  24877. return awsutil.Prettify(s)
  24878. }
  24879. // GoString returns the string representation
  24880. func (s CreateCustomerGatewayOutput) GoString() string {
  24881. return s.String()
  24882. }
  24883. // SetCustomerGateway sets the CustomerGateway field's value.
  24884. func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *CreateCustomerGatewayOutput {
  24885. s.CustomerGateway = v
  24886. return s
  24887. }
  24888. type CreateDefaultSubnetInput struct {
  24889. _ struct{} `type:"structure"`
  24890. // The Availability Zone in which to create the default subnet.
  24891. //
  24892. // AvailabilityZone is a required field
  24893. AvailabilityZone *string `type:"string" required:"true"`
  24894. // Checks whether you have the required permissions for the action, without
  24895. // actually making the request, and provides an error response. If you have
  24896. // the required permissions, the error response is DryRunOperation. Otherwise,
  24897. // it is UnauthorizedOperation.
  24898. DryRun *bool `type:"boolean"`
  24899. }
  24900. // String returns the string representation
  24901. func (s CreateDefaultSubnetInput) String() string {
  24902. return awsutil.Prettify(s)
  24903. }
  24904. // GoString returns the string representation
  24905. func (s CreateDefaultSubnetInput) GoString() string {
  24906. return s.String()
  24907. }
  24908. // Validate inspects the fields of the type to determine if they are valid.
  24909. func (s *CreateDefaultSubnetInput) Validate() error {
  24910. invalidParams := request.ErrInvalidParams{Context: "CreateDefaultSubnetInput"}
  24911. if s.AvailabilityZone == nil {
  24912. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  24913. }
  24914. if invalidParams.Len() > 0 {
  24915. return invalidParams
  24916. }
  24917. return nil
  24918. }
  24919. // SetAvailabilityZone sets the AvailabilityZone field's value.
  24920. func (s *CreateDefaultSubnetInput) SetAvailabilityZone(v string) *CreateDefaultSubnetInput {
  24921. s.AvailabilityZone = &v
  24922. return s
  24923. }
  24924. // SetDryRun sets the DryRun field's value.
  24925. func (s *CreateDefaultSubnetInput) SetDryRun(v bool) *CreateDefaultSubnetInput {
  24926. s.DryRun = &v
  24927. return s
  24928. }
  24929. type CreateDefaultSubnetOutput struct {
  24930. _ struct{} `type:"structure"`
  24931. // Information about the subnet.
  24932. Subnet *Subnet `locationName:"subnet" type:"structure"`
  24933. }
  24934. // String returns the string representation
  24935. func (s CreateDefaultSubnetOutput) String() string {
  24936. return awsutil.Prettify(s)
  24937. }
  24938. // GoString returns the string representation
  24939. func (s CreateDefaultSubnetOutput) GoString() string {
  24940. return s.String()
  24941. }
  24942. // SetSubnet sets the Subnet field's value.
  24943. func (s *CreateDefaultSubnetOutput) SetSubnet(v *Subnet) *CreateDefaultSubnetOutput {
  24944. s.Subnet = v
  24945. return s
  24946. }
  24947. // Contains the parameters for CreateDefaultVpc.
  24948. type CreateDefaultVpcInput struct {
  24949. _ struct{} `type:"structure"`
  24950. // Checks whether you have the required permissions for the action, without
  24951. // actually making the request, and provides an error response. If you have
  24952. // the required permissions, the error response is DryRunOperation. Otherwise,
  24953. // it is UnauthorizedOperation.
  24954. DryRun *bool `type:"boolean"`
  24955. }
  24956. // String returns the string representation
  24957. func (s CreateDefaultVpcInput) String() string {
  24958. return awsutil.Prettify(s)
  24959. }
  24960. // GoString returns the string representation
  24961. func (s CreateDefaultVpcInput) GoString() string {
  24962. return s.String()
  24963. }
  24964. // SetDryRun sets the DryRun field's value.
  24965. func (s *CreateDefaultVpcInput) SetDryRun(v bool) *CreateDefaultVpcInput {
  24966. s.DryRun = &v
  24967. return s
  24968. }
  24969. // Contains the output of CreateDefaultVpc.
  24970. type CreateDefaultVpcOutput struct {
  24971. _ struct{} `type:"structure"`
  24972. // Information about the VPC.
  24973. Vpc *Vpc `locationName:"vpc" type:"structure"`
  24974. }
  24975. // String returns the string representation
  24976. func (s CreateDefaultVpcOutput) String() string {
  24977. return awsutil.Prettify(s)
  24978. }
  24979. // GoString returns the string representation
  24980. func (s CreateDefaultVpcOutput) GoString() string {
  24981. return s.String()
  24982. }
  24983. // SetVpc sets the Vpc field's value.
  24984. func (s *CreateDefaultVpcOutput) SetVpc(v *Vpc) *CreateDefaultVpcOutput {
  24985. s.Vpc = v
  24986. return s
  24987. }
  24988. // Contains the parameters for CreateDhcpOptions.
  24989. type CreateDhcpOptionsInput struct {
  24990. _ struct{} `type:"structure"`
  24991. // A DHCP configuration option.
  24992. //
  24993. // DhcpConfigurations is a required field
  24994. DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
  24995. // Checks whether you have the required permissions for the action, without
  24996. // actually making the request, and provides an error response. If you have
  24997. // the required permissions, the error response is DryRunOperation. Otherwise,
  24998. // it is UnauthorizedOperation.
  24999. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25000. }
  25001. // String returns the string representation
  25002. func (s CreateDhcpOptionsInput) String() string {
  25003. return awsutil.Prettify(s)
  25004. }
  25005. // GoString returns the string representation
  25006. func (s CreateDhcpOptionsInput) GoString() string {
  25007. return s.String()
  25008. }
  25009. // Validate inspects the fields of the type to determine if they are valid.
  25010. func (s *CreateDhcpOptionsInput) Validate() error {
  25011. invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
  25012. if s.DhcpConfigurations == nil {
  25013. invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
  25014. }
  25015. if invalidParams.Len() > 0 {
  25016. return invalidParams
  25017. }
  25018. return nil
  25019. }
  25020. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  25021. func (s *CreateDhcpOptionsInput) SetDhcpConfigurations(v []*NewDhcpConfiguration) *CreateDhcpOptionsInput {
  25022. s.DhcpConfigurations = v
  25023. return s
  25024. }
  25025. // SetDryRun sets the DryRun field's value.
  25026. func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput {
  25027. s.DryRun = &v
  25028. return s
  25029. }
  25030. // Contains the output of CreateDhcpOptions.
  25031. type CreateDhcpOptionsOutput struct {
  25032. _ struct{} `type:"structure"`
  25033. // A set of DHCP options.
  25034. DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
  25035. }
  25036. // String returns the string representation
  25037. func (s CreateDhcpOptionsOutput) String() string {
  25038. return awsutil.Prettify(s)
  25039. }
  25040. // GoString returns the string representation
  25041. func (s CreateDhcpOptionsOutput) GoString() string {
  25042. return s.String()
  25043. }
  25044. // SetDhcpOptions sets the DhcpOptions field's value.
  25045. func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOptionsOutput {
  25046. s.DhcpOptions = v
  25047. return s
  25048. }
  25049. type CreateEgressOnlyInternetGatewayInput struct {
  25050. _ struct{} `type:"structure"`
  25051. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  25052. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  25053. ClientToken *string `type:"string"`
  25054. // Checks whether you have the required permissions for the action, without
  25055. // actually making the request, and provides an error response. If you have
  25056. // the required permissions, the error response is DryRunOperation. Otherwise,
  25057. // it is UnauthorizedOperation.
  25058. DryRun *bool `type:"boolean"`
  25059. // The ID of the VPC for which to create the egress-only Internet gateway.
  25060. //
  25061. // VpcId is a required field
  25062. VpcId *string `type:"string" required:"true"`
  25063. }
  25064. // String returns the string representation
  25065. func (s CreateEgressOnlyInternetGatewayInput) String() string {
  25066. return awsutil.Prettify(s)
  25067. }
  25068. // GoString returns the string representation
  25069. func (s CreateEgressOnlyInternetGatewayInput) GoString() string {
  25070. return s.String()
  25071. }
  25072. // Validate inspects the fields of the type to determine if they are valid.
  25073. func (s *CreateEgressOnlyInternetGatewayInput) Validate() error {
  25074. invalidParams := request.ErrInvalidParams{Context: "CreateEgressOnlyInternetGatewayInput"}
  25075. if s.VpcId == nil {
  25076. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  25077. }
  25078. if invalidParams.Len() > 0 {
  25079. return invalidParams
  25080. }
  25081. return nil
  25082. }
  25083. // SetClientToken sets the ClientToken field's value.
  25084. func (s *CreateEgressOnlyInternetGatewayInput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayInput {
  25085. s.ClientToken = &v
  25086. return s
  25087. }
  25088. // SetDryRun sets the DryRun field's value.
  25089. func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOnlyInternetGatewayInput {
  25090. s.DryRun = &v
  25091. return s
  25092. }
  25093. // SetVpcId sets the VpcId field's value.
  25094. func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput {
  25095. s.VpcId = &v
  25096. return s
  25097. }
  25098. type CreateEgressOnlyInternetGatewayOutput struct {
  25099. _ struct{} `type:"structure"`
  25100. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  25101. // the request.
  25102. ClientToken *string `locationName:"clientToken" type:"string"`
  25103. // Information about the egress-only Internet gateway.
  25104. EgressOnlyInternetGateway *EgressOnlyInternetGateway `locationName:"egressOnlyInternetGateway" type:"structure"`
  25105. }
  25106. // String returns the string representation
  25107. func (s CreateEgressOnlyInternetGatewayOutput) String() string {
  25108. return awsutil.Prettify(s)
  25109. }
  25110. // GoString returns the string representation
  25111. func (s CreateEgressOnlyInternetGatewayOutput) GoString() string {
  25112. return s.String()
  25113. }
  25114. // SetClientToken sets the ClientToken field's value.
  25115. func (s *CreateEgressOnlyInternetGatewayOutput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayOutput {
  25116. s.ClientToken = &v
  25117. return s
  25118. }
  25119. // SetEgressOnlyInternetGateway sets the EgressOnlyInternetGateway field's value.
  25120. func (s *CreateEgressOnlyInternetGatewayOutput) SetEgressOnlyInternetGateway(v *EgressOnlyInternetGateway) *CreateEgressOnlyInternetGatewayOutput {
  25121. s.EgressOnlyInternetGateway = v
  25122. return s
  25123. }
  25124. type CreateFleetInput struct {
  25125. _ struct{} `type:"structure"`
  25126. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  25127. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  25128. ClientToken *string `type:"string"`
  25129. // Checks whether you have the required permissions for the action, without
  25130. // actually making the request, and provides an error response. If you have
  25131. // the required permissions, the error response is DryRunOperation. Otherwise,
  25132. // it is UnauthorizedOperation.
  25133. DryRun *bool `type:"boolean"`
  25134. // Indicates whether running instances should be terminated if the total target
  25135. // capacity of the EC2 Fleet is decreased below the current size of the EC2
  25136. // Fleet.
  25137. ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
  25138. // The configuration for the EC2 Fleet.
  25139. //
  25140. // LaunchTemplateConfigs is a required field
  25141. LaunchTemplateConfigs []*FleetLaunchTemplateConfigRequest `locationNameList:"item" type:"list" required:"true"`
  25142. // Indicates whether EC2 Fleet should replace unhealthy instances.
  25143. ReplaceUnhealthyInstances *bool `type:"boolean"`
  25144. // Includes SpotAllocationStrategy and SpotInstanceInterruptionBehavior inside
  25145. // this structure.
  25146. SpotOptions *SpotOptionsRequest `type:"structure"`
  25147. // The tags for an EC2 Fleet resource.
  25148. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  25149. // The TotalTargetCapacity, OnDemandTargetCapacity, SpotTargetCapacity, and
  25150. // DefaultCapacityType structure.
  25151. //
  25152. // TargetCapacitySpecification is a required field
  25153. TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
  25154. // Indicates whether running instances should be terminated when the EC2 Fleet
  25155. // expires.
  25156. TerminateInstancesWithExpiration *bool `type:"boolean"`
  25157. // The type of request. Indicates whether the EC2 Fleet only requests the target
  25158. // capacity, or also attempts to maintain it. If you request a certain target
  25159. // capacity, EC2 Fleet only places the required requests. It does not attempt
  25160. // to replenish instances if capacity is diminished, and does not submit requests
  25161. // in alternative capacity pools if capacity is unavailable. To maintain a certain
  25162. // target capacity, EC2 Fleet places the required requests to meet this target
  25163. // capacity. It also automatically replenishes any interrupted Spot Instances.
  25164. // Default: maintain.
  25165. Type *string `type:"string" enum:"FleetType"`
  25166. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  25167. // The default is to start fulfilling the request immediately.
  25168. ValidFrom *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  25169. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  25170. // At this point, no new EC2 Fleet requests are placed or able to fulfill the
  25171. // request. The default end date is 7 days from the current date.
  25172. ValidUntil *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  25173. }
  25174. // String returns the string representation
  25175. func (s CreateFleetInput) String() string {
  25176. return awsutil.Prettify(s)
  25177. }
  25178. // GoString returns the string representation
  25179. func (s CreateFleetInput) GoString() string {
  25180. return s.String()
  25181. }
  25182. // Validate inspects the fields of the type to determine if they are valid.
  25183. func (s *CreateFleetInput) Validate() error {
  25184. invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
  25185. if s.LaunchTemplateConfigs == nil {
  25186. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateConfigs"))
  25187. }
  25188. if s.TargetCapacitySpecification == nil {
  25189. invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
  25190. }
  25191. if s.LaunchTemplateConfigs != nil {
  25192. for i, v := range s.LaunchTemplateConfigs {
  25193. if v == nil {
  25194. continue
  25195. }
  25196. if err := v.Validate(); err != nil {
  25197. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
  25198. }
  25199. }
  25200. }
  25201. if s.TargetCapacitySpecification != nil {
  25202. if err := s.TargetCapacitySpecification.Validate(); err != nil {
  25203. invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
  25204. }
  25205. }
  25206. if invalidParams.Len() > 0 {
  25207. return invalidParams
  25208. }
  25209. return nil
  25210. }
  25211. // SetClientToken sets the ClientToken field's value.
  25212. func (s *CreateFleetInput) SetClientToken(v string) *CreateFleetInput {
  25213. s.ClientToken = &v
  25214. return s
  25215. }
  25216. // SetDryRun sets the DryRun field's value.
  25217. func (s *CreateFleetInput) SetDryRun(v bool) *CreateFleetInput {
  25218. s.DryRun = &v
  25219. return s
  25220. }
  25221. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  25222. func (s *CreateFleetInput) SetExcessCapacityTerminationPolicy(v string) *CreateFleetInput {
  25223. s.ExcessCapacityTerminationPolicy = &v
  25224. return s
  25225. }
  25226. // SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
  25227. func (s *CreateFleetInput) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfigRequest) *CreateFleetInput {
  25228. s.LaunchTemplateConfigs = v
  25229. return s
  25230. }
  25231. // SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
  25232. func (s *CreateFleetInput) SetReplaceUnhealthyInstances(v bool) *CreateFleetInput {
  25233. s.ReplaceUnhealthyInstances = &v
  25234. return s
  25235. }
  25236. // SetSpotOptions sets the SpotOptions field's value.
  25237. func (s *CreateFleetInput) SetSpotOptions(v *SpotOptionsRequest) *CreateFleetInput {
  25238. s.SpotOptions = v
  25239. return s
  25240. }
  25241. // SetTagSpecifications sets the TagSpecifications field's value.
  25242. func (s *CreateFleetInput) SetTagSpecifications(v []*TagSpecification) *CreateFleetInput {
  25243. s.TagSpecifications = v
  25244. return s
  25245. }
  25246. // SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
  25247. func (s *CreateFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *CreateFleetInput {
  25248. s.TargetCapacitySpecification = v
  25249. return s
  25250. }
  25251. // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
  25252. func (s *CreateFleetInput) SetTerminateInstancesWithExpiration(v bool) *CreateFleetInput {
  25253. s.TerminateInstancesWithExpiration = &v
  25254. return s
  25255. }
  25256. // SetType sets the Type field's value.
  25257. func (s *CreateFleetInput) SetType(v string) *CreateFleetInput {
  25258. s.Type = &v
  25259. return s
  25260. }
  25261. // SetValidFrom sets the ValidFrom field's value.
  25262. func (s *CreateFleetInput) SetValidFrom(v time.Time) *CreateFleetInput {
  25263. s.ValidFrom = &v
  25264. return s
  25265. }
  25266. // SetValidUntil sets the ValidUntil field's value.
  25267. func (s *CreateFleetInput) SetValidUntil(v time.Time) *CreateFleetInput {
  25268. s.ValidUntil = &v
  25269. return s
  25270. }
  25271. type CreateFleetOutput struct {
  25272. _ struct{} `type:"structure"`
  25273. // The ID of the EC2 Fleet.
  25274. FleetId *string `locationName:"fleetId" type:"string"`
  25275. }
  25276. // String returns the string representation
  25277. func (s CreateFleetOutput) String() string {
  25278. return awsutil.Prettify(s)
  25279. }
  25280. // GoString returns the string representation
  25281. func (s CreateFleetOutput) GoString() string {
  25282. return s.String()
  25283. }
  25284. // SetFleetId sets the FleetId field's value.
  25285. func (s *CreateFleetOutput) SetFleetId(v string) *CreateFleetOutput {
  25286. s.FleetId = &v
  25287. return s
  25288. }
  25289. // Contains the parameters for CreateFlowLogs.
  25290. type CreateFlowLogsInput struct {
  25291. _ struct{} `type:"structure"`
  25292. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  25293. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  25294. ClientToken *string `type:"string"`
  25295. // The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs
  25296. // log group.
  25297. //
  25298. // DeliverLogsPermissionArn is a required field
  25299. DeliverLogsPermissionArn *string `type:"string" required:"true"`
  25300. // The name of the CloudWatch log group.
  25301. //
  25302. // LogGroupName is a required field
  25303. LogGroupName *string `type:"string" required:"true"`
  25304. // One or more subnet, network interface, or VPC IDs.
  25305. //
  25306. // Constraints: Maximum of 1000 resources
  25307. //
  25308. // ResourceIds is a required field
  25309. ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
  25310. // The type of resource on which to create the flow log.
  25311. //
  25312. // ResourceType is a required field
  25313. ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
  25314. // The type of traffic to log.
  25315. //
  25316. // TrafficType is a required field
  25317. TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
  25318. }
  25319. // String returns the string representation
  25320. func (s CreateFlowLogsInput) String() string {
  25321. return awsutil.Prettify(s)
  25322. }
  25323. // GoString returns the string representation
  25324. func (s CreateFlowLogsInput) GoString() string {
  25325. return s.String()
  25326. }
  25327. // Validate inspects the fields of the type to determine if they are valid.
  25328. func (s *CreateFlowLogsInput) Validate() error {
  25329. invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
  25330. if s.DeliverLogsPermissionArn == nil {
  25331. invalidParams.Add(request.NewErrParamRequired("DeliverLogsPermissionArn"))
  25332. }
  25333. if s.LogGroupName == nil {
  25334. invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
  25335. }
  25336. if s.ResourceIds == nil {
  25337. invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
  25338. }
  25339. if s.ResourceType == nil {
  25340. invalidParams.Add(request.NewErrParamRequired("ResourceType"))
  25341. }
  25342. if s.TrafficType == nil {
  25343. invalidParams.Add(request.NewErrParamRequired("TrafficType"))
  25344. }
  25345. if invalidParams.Len() > 0 {
  25346. return invalidParams
  25347. }
  25348. return nil
  25349. }
  25350. // SetClientToken sets the ClientToken field's value.
  25351. func (s *CreateFlowLogsInput) SetClientToken(v string) *CreateFlowLogsInput {
  25352. s.ClientToken = &v
  25353. return s
  25354. }
  25355. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  25356. func (s *CreateFlowLogsInput) SetDeliverLogsPermissionArn(v string) *CreateFlowLogsInput {
  25357. s.DeliverLogsPermissionArn = &v
  25358. return s
  25359. }
  25360. // SetLogGroupName sets the LogGroupName field's value.
  25361. func (s *CreateFlowLogsInput) SetLogGroupName(v string) *CreateFlowLogsInput {
  25362. s.LogGroupName = &v
  25363. return s
  25364. }
  25365. // SetResourceIds sets the ResourceIds field's value.
  25366. func (s *CreateFlowLogsInput) SetResourceIds(v []*string) *CreateFlowLogsInput {
  25367. s.ResourceIds = v
  25368. return s
  25369. }
  25370. // SetResourceType sets the ResourceType field's value.
  25371. func (s *CreateFlowLogsInput) SetResourceType(v string) *CreateFlowLogsInput {
  25372. s.ResourceType = &v
  25373. return s
  25374. }
  25375. // SetTrafficType sets the TrafficType field's value.
  25376. func (s *CreateFlowLogsInput) SetTrafficType(v string) *CreateFlowLogsInput {
  25377. s.TrafficType = &v
  25378. return s
  25379. }
  25380. // Contains the output of CreateFlowLogs.
  25381. type CreateFlowLogsOutput struct {
  25382. _ struct{} `type:"structure"`
  25383. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  25384. // the request.
  25385. ClientToken *string `locationName:"clientToken" type:"string"`
  25386. // The IDs of the flow logs.
  25387. FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
  25388. // Information about the flow logs that could not be created successfully.
  25389. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  25390. }
  25391. // String returns the string representation
  25392. func (s CreateFlowLogsOutput) String() string {
  25393. return awsutil.Prettify(s)
  25394. }
  25395. // GoString returns the string representation
  25396. func (s CreateFlowLogsOutput) GoString() string {
  25397. return s.String()
  25398. }
  25399. // SetClientToken sets the ClientToken field's value.
  25400. func (s *CreateFlowLogsOutput) SetClientToken(v string) *CreateFlowLogsOutput {
  25401. s.ClientToken = &v
  25402. return s
  25403. }
  25404. // SetFlowLogIds sets the FlowLogIds field's value.
  25405. func (s *CreateFlowLogsOutput) SetFlowLogIds(v []*string) *CreateFlowLogsOutput {
  25406. s.FlowLogIds = v
  25407. return s
  25408. }
  25409. // SetUnsuccessful sets the Unsuccessful field's value.
  25410. func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlowLogsOutput {
  25411. s.Unsuccessful = v
  25412. return s
  25413. }
  25414. type CreateFpgaImageInput struct {
  25415. _ struct{} `type:"structure"`
  25416. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  25417. // of the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  25418. ClientToken *string `type:"string"`
  25419. // A description for the AFI.
  25420. Description *string `type:"string"`
  25421. // Checks whether you have the required permissions for the action, without
  25422. // actually making the request, and provides an error response. If you have
  25423. // the required permissions, the error response is DryRunOperation. Otherwise,
  25424. // it is UnauthorizedOperation.
  25425. DryRun *bool `type:"boolean"`
  25426. // The location of the encrypted design checkpoint in Amazon S3. The input must
  25427. // be a tarball.
  25428. //
  25429. // InputStorageLocation is a required field
  25430. InputStorageLocation *StorageLocation `type:"structure" required:"true"`
  25431. // The location in Amazon S3 for the output logs.
  25432. LogsStorageLocation *StorageLocation `type:"structure"`
  25433. // A name for the AFI.
  25434. Name *string `type:"string"`
  25435. }
  25436. // String returns the string representation
  25437. func (s CreateFpgaImageInput) String() string {
  25438. return awsutil.Prettify(s)
  25439. }
  25440. // GoString returns the string representation
  25441. func (s CreateFpgaImageInput) GoString() string {
  25442. return s.String()
  25443. }
  25444. // Validate inspects the fields of the type to determine if they are valid.
  25445. func (s *CreateFpgaImageInput) Validate() error {
  25446. invalidParams := request.ErrInvalidParams{Context: "CreateFpgaImageInput"}
  25447. if s.InputStorageLocation == nil {
  25448. invalidParams.Add(request.NewErrParamRequired("InputStorageLocation"))
  25449. }
  25450. if invalidParams.Len() > 0 {
  25451. return invalidParams
  25452. }
  25453. return nil
  25454. }
  25455. // SetClientToken sets the ClientToken field's value.
  25456. func (s *CreateFpgaImageInput) SetClientToken(v string) *CreateFpgaImageInput {
  25457. s.ClientToken = &v
  25458. return s
  25459. }
  25460. // SetDescription sets the Description field's value.
  25461. func (s *CreateFpgaImageInput) SetDescription(v string) *CreateFpgaImageInput {
  25462. s.Description = &v
  25463. return s
  25464. }
  25465. // SetDryRun sets the DryRun field's value.
  25466. func (s *CreateFpgaImageInput) SetDryRun(v bool) *CreateFpgaImageInput {
  25467. s.DryRun = &v
  25468. return s
  25469. }
  25470. // SetInputStorageLocation sets the InputStorageLocation field's value.
  25471. func (s *CreateFpgaImageInput) SetInputStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
  25472. s.InputStorageLocation = v
  25473. return s
  25474. }
  25475. // SetLogsStorageLocation sets the LogsStorageLocation field's value.
  25476. func (s *CreateFpgaImageInput) SetLogsStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
  25477. s.LogsStorageLocation = v
  25478. return s
  25479. }
  25480. // SetName sets the Name field's value.
  25481. func (s *CreateFpgaImageInput) SetName(v string) *CreateFpgaImageInput {
  25482. s.Name = &v
  25483. return s
  25484. }
  25485. type CreateFpgaImageOutput struct {
  25486. _ struct{} `type:"structure"`
  25487. // The global FPGA image identifier (AGFI ID).
  25488. FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
  25489. // The FPGA image identifier (AFI ID).
  25490. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  25491. }
  25492. // String returns the string representation
  25493. func (s CreateFpgaImageOutput) String() string {
  25494. return awsutil.Prettify(s)
  25495. }
  25496. // GoString returns the string representation
  25497. func (s CreateFpgaImageOutput) GoString() string {
  25498. return s.String()
  25499. }
  25500. // SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
  25501. func (s *CreateFpgaImageOutput) SetFpgaImageGlobalId(v string) *CreateFpgaImageOutput {
  25502. s.FpgaImageGlobalId = &v
  25503. return s
  25504. }
  25505. // SetFpgaImageId sets the FpgaImageId field's value.
  25506. func (s *CreateFpgaImageOutput) SetFpgaImageId(v string) *CreateFpgaImageOutput {
  25507. s.FpgaImageId = &v
  25508. return s
  25509. }
  25510. // Contains the parameters for CreateImage.
  25511. type CreateImageInput struct {
  25512. _ struct{} `type:"structure"`
  25513. // Information about one or more block device mappings.
  25514. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  25515. // A description for the new image.
  25516. Description *string `locationName:"description" type:"string"`
  25517. // Checks whether you have the required permissions for the action, without
  25518. // actually making the request, and provides an error response. If you have
  25519. // the required permissions, the error response is DryRunOperation. Otherwise,
  25520. // it is UnauthorizedOperation.
  25521. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25522. // The ID of the instance.
  25523. //
  25524. // InstanceId is a required field
  25525. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  25526. // A name for the new image.
  25527. //
  25528. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  25529. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  25530. // at-signs (@), or underscores(_)
  25531. //
  25532. // Name is a required field
  25533. Name *string `locationName:"name" type:"string" required:"true"`
  25534. // By default, Amazon EC2 attempts to shut down and reboot the instance before
  25535. // creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't
  25536. // shut down the instance before creating the image. When this option is used,
  25537. // file system integrity on the created image can't be guaranteed.
  25538. NoReboot *bool `locationName:"noReboot" type:"boolean"`
  25539. }
  25540. // String returns the string representation
  25541. func (s CreateImageInput) String() string {
  25542. return awsutil.Prettify(s)
  25543. }
  25544. // GoString returns the string representation
  25545. func (s CreateImageInput) GoString() string {
  25546. return s.String()
  25547. }
  25548. // Validate inspects the fields of the type to determine if they are valid.
  25549. func (s *CreateImageInput) Validate() error {
  25550. invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
  25551. if s.InstanceId == nil {
  25552. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  25553. }
  25554. if s.Name == nil {
  25555. invalidParams.Add(request.NewErrParamRequired("Name"))
  25556. }
  25557. if invalidParams.Len() > 0 {
  25558. return invalidParams
  25559. }
  25560. return nil
  25561. }
  25562. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  25563. func (s *CreateImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateImageInput {
  25564. s.BlockDeviceMappings = v
  25565. return s
  25566. }
  25567. // SetDescription sets the Description field's value.
  25568. func (s *CreateImageInput) SetDescription(v string) *CreateImageInput {
  25569. s.Description = &v
  25570. return s
  25571. }
  25572. // SetDryRun sets the DryRun field's value.
  25573. func (s *CreateImageInput) SetDryRun(v bool) *CreateImageInput {
  25574. s.DryRun = &v
  25575. return s
  25576. }
  25577. // SetInstanceId sets the InstanceId field's value.
  25578. func (s *CreateImageInput) SetInstanceId(v string) *CreateImageInput {
  25579. s.InstanceId = &v
  25580. return s
  25581. }
  25582. // SetName sets the Name field's value.
  25583. func (s *CreateImageInput) SetName(v string) *CreateImageInput {
  25584. s.Name = &v
  25585. return s
  25586. }
  25587. // SetNoReboot sets the NoReboot field's value.
  25588. func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput {
  25589. s.NoReboot = &v
  25590. return s
  25591. }
  25592. // Contains the output of CreateImage.
  25593. type CreateImageOutput struct {
  25594. _ struct{} `type:"structure"`
  25595. // The ID of the new AMI.
  25596. ImageId *string `locationName:"imageId" type:"string"`
  25597. }
  25598. // String returns the string representation
  25599. func (s CreateImageOutput) String() string {
  25600. return awsutil.Prettify(s)
  25601. }
  25602. // GoString returns the string representation
  25603. func (s CreateImageOutput) GoString() string {
  25604. return s.String()
  25605. }
  25606. // SetImageId sets the ImageId field's value.
  25607. func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput {
  25608. s.ImageId = &v
  25609. return s
  25610. }
  25611. // Contains the parameters for CreateInstanceExportTask.
  25612. type CreateInstanceExportTaskInput struct {
  25613. _ struct{} `type:"structure"`
  25614. // A description for the conversion task or the resource being exported. The
  25615. // maximum length is 255 bytes.
  25616. Description *string `locationName:"description" type:"string"`
  25617. // The format and location for an instance export task.
  25618. ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
  25619. // The ID of the instance.
  25620. //
  25621. // InstanceId is a required field
  25622. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  25623. // The target virtualization environment.
  25624. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  25625. }
  25626. // String returns the string representation
  25627. func (s CreateInstanceExportTaskInput) String() string {
  25628. return awsutil.Prettify(s)
  25629. }
  25630. // GoString returns the string representation
  25631. func (s CreateInstanceExportTaskInput) GoString() string {
  25632. return s.String()
  25633. }
  25634. // Validate inspects the fields of the type to determine if they are valid.
  25635. func (s *CreateInstanceExportTaskInput) Validate() error {
  25636. invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
  25637. if s.InstanceId == nil {
  25638. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  25639. }
  25640. if invalidParams.Len() > 0 {
  25641. return invalidParams
  25642. }
  25643. return nil
  25644. }
  25645. // SetDescription sets the Description field's value.
  25646. func (s *CreateInstanceExportTaskInput) SetDescription(v string) *CreateInstanceExportTaskInput {
  25647. s.Description = &v
  25648. return s
  25649. }
  25650. // SetExportToS3Task sets the ExportToS3Task field's value.
  25651. func (s *CreateInstanceExportTaskInput) SetExportToS3Task(v *ExportToS3TaskSpecification) *CreateInstanceExportTaskInput {
  25652. s.ExportToS3Task = v
  25653. return s
  25654. }
  25655. // SetInstanceId sets the InstanceId field's value.
  25656. func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceExportTaskInput {
  25657. s.InstanceId = &v
  25658. return s
  25659. }
  25660. // SetTargetEnvironment sets the TargetEnvironment field's value.
  25661. func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput {
  25662. s.TargetEnvironment = &v
  25663. return s
  25664. }
  25665. // Contains the output for CreateInstanceExportTask.
  25666. type CreateInstanceExportTaskOutput struct {
  25667. _ struct{} `type:"structure"`
  25668. // Information about the instance export task.
  25669. ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
  25670. }
  25671. // String returns the string representation
  25672. func (s CreateInstanceExportTaskOutput) String() string {
  25673. return awsutil.Prettify(s)
  25674. }
  25675. // GoString returns the string representation
  25676. func (s CreateInstanceExportTaskOutput) GoString() string {
  25677. return s.String()
  25678. }
  25679. // SetExportTask sets the ExportTask field's value.
  25680. func (s *CreateInstanceExportTaskOutput) SetExportTask(v *ExportTask) *CreateInstanceExportTaskOutput {
  25681. s.ExportTask = v
  25682. return s
  25683. }
  25684. // Contains the parameters for CreateInternetGateway.
  25685. type CreateInternetGatewayInput struct {
  25686. _ struct{} `type:"structure"`
  25687. // Checks whether you have the required permissions for the action, without
  25688. // actually making the request, and provides an error response. If you have
  25689. // the required permissions, the error response is DryRunOperation. Otherwise,
  25690. // it is UnauthorizedOperation.
  25691. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25692. }
  25693. // String returns the string representation
  25694. func (s CreateInternetGatewayInput) String() string {
  25695. return awsutil.Prettify(s)
  25696. }
  25697. // GoString returns the string representation
  25698. func (s CreateInternetGatewayInput) GoString() string {
  25699. return s.String()
  25700. }
  25701. // SetDryRun sets the DryRun field's value.
  25702. func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInput {
  25703. s.DryRun = &v
  25704. return s
  25705. }
  25706. // Contains the output of CreateInternetGateway.
  25707. type CreateInternetGatewayOutput struct {
  25708. _ struct{} `type:"structure"`
  25709. // Information about the Internet gateway.
  25710. InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
  25711. }
  25712. // String returns the string representation
  25713. func (s CreateInternetGatewayOutput) String() string {
  25714. return awsutil.Prettify(s)
  25715. }
  25716. // GoString returns the string representation
  25717. func (s CreateInternetGatewayOutput) GoString() string {
  25718. return s.String()
  25719. }
  25720. // SetInternetGateway sets the InternetGateway field's value.
  25721. func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *CreateInternetGatewayOutput {
  25722. s.InternetGateway = v
  25723. return s
  25724. }
  25725. // Contains the parameters for CreateKeyPair.
  25726. type CreateKeyPairInput struct {
  25727. _ struct{} `type:"structure"`
  25728. // Checks whether you have the required permissions for the action, without
  25729. // actually making the request, and provides an error response. If you have
  25730. // the required permissions, the error response is DryRunOperation. Otherwise,
  25731. // it is UnauthorizedOperation.
  25732. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25733. // A unique name for the key pair.
  25734. //
  25735. // Constraints: Up to 255 ASCII characters
  25736. //
  25737. // KeyName is a required field
  25738. KeyName *string `type:"string" required:"true"`
  25739. }
  25740. // String returns the string representation
  25741. func (s CreateKeyPairInput) String() string {
  25742. return awsutil.Prettify(s)
  25743. }
  25744. // GoString returns the string representation
  25745. func (s CreateKeyPairInput) GoString() string {
  25746. return s.String()
  25747. }
  25748. // Validate inspects the fields of the type to determine if they are valid.
  25749. func (s *CreateKeyPairInput) Validate() error {
  25750. invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
  25751. if s.KeyName == nil {
  25752. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  25753. }
  25754. if invalidParams.Len() > 0 {
  25755. return invalidParams
  25756. }
  25757. return nil
  25758. }
  25759. // SetDryRun sets the DryRun field's value.
  25760. func (s *CreateKeyPairInput) SetDryRun(v bool) *CreateKeyPairInput {
  25761. s.DryRun = &v
  25762. return s
  25763. }
  25764. // SetKeyName sets the KeyName field's value.
  25765. func (s *CreateKeyPairInput) SetKeyName(v string) *CreateKeyPairInput {
  25766. s.KeyName = &v
  25767. return s
  25768. }
  25769. // Describes a key pair.
  25770. type CreateKeyPairOutput struct {
  25771. _ struct{} `type:"structure"`
  25772. // The SHA-1 digest of the DER encoded private key.
  25773. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  25774. // An unencrypted PEM encoded RSA private key.
  25775. KeyMaterial *string `locationName:"keyMaterial" type:"string"`
  25776. // The name of the key pair.
  25777. KeyName *string `locationName:"keyName" type:"string"`
  25778. }
  25779. // String returns the string representation
  25780. func (s CreateKeyPairOutput) String() string {
  25781. return awsutil.Prettify(s)
  25782. }
  25783. // GoString returns the string representation
  25784. func (s CreateKeyPairOutput) GoString() string {
  25785. return s.String()
  25786. }
  25787. // SetKeyFingerprint sets the KeyFingerprint field's value.
  25788. func (s *CreateKeyPairOutput) SetKeyFingerprint(v string) *CreateKeyPairOutput {
  25789. s.KeyFingerprint = &v
  25790. return s
  25791. }
  25792. // SetKeyMaterial sets the KeyMaterial field's value.
  25793. func (s *CreateKeyPairOutput) SetKeyMaterial(v string) *CreateKeyPairOutput {
  25794. s.KeyMaterial = &v
  25795. return s
  25796. }
  25797. // SetKeyName sets the KeyName field's value.
  25798. func (s *CreateKeyPairOutput) SetKeyName(v string) *CreateKeyPairOutput {
  25799. s.KeyName = &v
  25800. return s
  25801. }
  25802. type CreateLaunchTemplateInput struct {
  25803. _ struct{} `type:"structure"`
  25804. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  25805. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  25806. ClientToken *string `type:"string"`
  25807. // Checks whether you have the required permissions for the action, without
  25808. // actually making the request, and provides an error response. If you have
  25809. // the required permissions, the error response is DryRunOperation. Otherwise,
  25810. // it is UnauthorizedOperation.
  25811. DryRun *bool `type:"boolean"`
  25812. // The information for the launch template.
  25813. //
  25814. // LaunchTemplateData is a required field
  25815. LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
  25816. // A name for the launch template.
  25817. //
  25818. // LaunchTemplateName is a required field
  25819. LaunchTemplateName *string `min:"3" type:"string" required:"true"`
  25820. // A description for the first version of the launch template.
  25821. VersionDescription *string `type:"string"`
  25822. }
  25823. // String returns the string representation
  25824. func (s CreateLaunchTemplateInput) String() string {
  25825. return awsutil.Prettify(s)
  25826. }
  25827. // GoString returns the string representation
  25828. func (s CreateLaunchTemplateInput) GoString() string {
  25829. return s.String()
  25830. }
  25831. // Validate inspects the fields of the type to determine if they are valid.
  25832. func (s *CreateLaunchTemplateInput) Validate() error {
  25833. invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateInput"}
  25834. if s.LaunchTemplateData == nil {
  25835. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
  25836. }
  25837. if s.LaunchTemplateName == nil {
  25838. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateName"))
  25839. }
  25840. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  25841. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  25842. }
  25843. if s.LaunchTemplateData != nil {
  25844. if err := s.LaunchTemplateData.Validate(); err != nil {
  25845. invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
  25846. }
  25847. }
  25848. if invalidParams.Len() > 0 {
  25849. return invalidParams
  25850. }
  25851. return nil
  25852. }
  25853. // SetClientToken sets the ClientToken field's value.
  25854. func (s *CreateLaunchTemplateInput) SetClientToken(v string) *CreateLaunchTemplateInput {
  25855. s.ClientToken = &v
  25856. return s
  25857. }
  25858. // SetDryRun sets the DryRun field's value.
  25859. func (s *CreateLaunchTemplateInput) SetDryRun(v bool) *CreateLaunchTemplateInput {
  25860. s.DryRun = &v
  25861. return s
  25862. }
  25863. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  25864. func (s *CreateLaunchTemplateInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateInput {
  25865. s.LaunchTemplateData = v
  25866. return s
  25867. }
  25868. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  25869. func (s *CreateLaunchTemplateInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateInput {
  25870. s.LaunchTemplateName = &v
  25871. return s
  25872. }
  25873. // SetVersionDescription sets the VersionDescription field's value.
  25874. func (s *CreateLaunchTemplateInput) SetVersionDescription(v string) *CreateLaunchTemplateInput {
  25875. s.VersionDescription = &v
  25876. return s
  25877. }
  25878. type CreateLaunchTemplateOutput struct {
  25879. _ struct{} `type:"structure"`
  25880. // Information about the launch template.
  25881. LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
  25882. }
  25883. // String returns the string representation
  25884. func (s CreateLaunchTemplateOutput) String() string {
  25885. return awsutil.Prettify(s)
  25886. }
  25887. // GoString returns the string representation
  25888. func (s CreateLaunchTemplateOutput) GoString() string {
  25889. return s.String()
  25890. }
  25891. // SetLaunchTemplate sets the LaunchTemplate field's value.
  25892. func (s *CreateLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *CreateLaunchTemplateOutput {
  25893. s.LaunchTemplate = v
  25894. return s
  25895. }
  25896. type CreateLaunchTemplateVersionInput struct {
  25897. _ struct{} `type:"structure"`
  25898. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  25899. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  25900. ClientToken *string `type:"string"`
  25901. // Checks whether you have the required permissions for the action, without
  25902. // actually making the request, and provides an error response. If you have
  25903. // the required permissions, the error response is DryRunOperation. Otherwise,
  25904. // it is UnauthorizedOperation.
  25905. DryRun *bool `type:"boolean"`
  25906. // The information for the launch template.
  25907. //
  25908. // LaunchTemplateData is a required field
  25909. LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
  25910. // The ID of the launch template. You must specify either the launch template
  25911. // ID or launch template name in the request.
  25912. LaunchTemplateId *string `type:"string"`
  25913. // The name of the launch template. You must specify either the launch template
  25914. // ID or launch template name in the request.
  25915. LaunchTemplateName *string `min:"3" type:"string"`
  25916. // The version number of the launch template version on which to base the new
  25917. // version. The new version inherits the same launch parameters as the source
  25918. // version, except for parameters that you specify in LaunchTemplateData.
  25919. SourceVersion *string `type:"string"`
  25920. // A description for the version of the launch template.
  25921. VersionDescription *string `type:"string"`
  25922. }
  25923. // String returns the string representation
  25924. func (s CreateLaunchTemplateVersionInput) String() string {
  25925. return awsutil.Prettify(s)
  25926. }
  25927. // GoString returns the string representation
  25928. func (s CreateLaunchTemplateVersionInput) GoString() string {
  25929. return s.String()
  25930. }
  25931. // Validate inspects the fields of the type to determine if they are valid.
  25932. func (s *CreateLaunchTemplateVersionInput) Validate() error {
  25933. invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateVersionInput"}
  25934. if s.LaunchTemplateData == nil {
  25935. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
  25936. }
  25937. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  25938. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  25939. }
  25940. if s.LaunchTemplateData != nil {
  25941. if err := s.LaunchTemplateData.Validate(); err != nil {
  25942. invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
  25943. }
  25944. }
  25945. if invalidParams.Len() > 0 {
  25946. return invalidParams
  25947. }
  25948. return nil
  25949. }
  25950. // SetClientToken sets the ClientToken field's value.
  25951. func (s *CreateLaunchTemplateVersionInput) SetClientToken(v string) *CreateLaunchTemplateVersionInput {
  25952. s.ClientToken = &v
  25953. return s
  25954. }
  25955. // SetDryRun sets the DryRun field's value.
  25956. func (s *CreateLaunchTemplateVersionInput) SetDryRun(v bool) *CreateLaunchTemplateVersionInput {
  25957. s.DryRun = &v
  25958. return s
  25959. }
  25960. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  25961. func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateVersionInput {
  25962. s.LaunchTemplateData = v
  25963. return s
  25964. }
  25965. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  25966. func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateId(v string) *CreateLaunchTemplateVersionInput {
  25967. s.LaunchTemplateId = &v
  25968. return s
  25969. }
  25970. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  25971. func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateVersionInput {
  25972. s.LaunchTemplateName = &v
  25973. return s
  25974. }
  25975. // SetSourceVersion sets the SourceVersion field's value.
  25976. func (s *CreateLaunchTemplateVersionInput) SetSourceVersion(v string) *CreateLaunchTemplateVersionInput {
  25977. s.SourceVersion = &v
  25978. return s
  25979. }
  25980. // SetVersionDescription sets the VersionDescription field's value.
  25981. func (s *CreateLaunchTemplateVersionInput) SetVersionDescription(v string) *CreateLaunchTemplateVersionInput {
  25982. s.VersionDescription = &v
  25983. return s
  25984. }
  25985. type CreateLaunchTemplateVersionOutput struct {
  25986. _ struct{} `type:"structure"`
  25987. // Information about the launch template version.
  25988. LaunchTemplateVersion *LaunchTemplateVersion `locationName:"launchTemplateVersion" type:"structure"`
  25989. }
  25990. // String returns the string representation
  25991. func (s CreateLaunchTemplateVersionOutput) String() string {
  25992. return awsutil.Prettify(s)
  25993. }
  25994. // GoString returns the string representation
  25995. func (s CreateLaunchTemplateVersionOutput) GoString() string {
  25996. return s.String()
  25997. }
  25998. // SetLaunchTemplateVersion sets the LaunchTemplateVersion field's value.
  25999. func (s *CreateLaunchTemplateVersionOutput) SetLaunchTemplateVersion(v *LaunchTemplateVersion) *CreateLaunchTemplateVersionOutput {
  26000. s.LaunchTemplateVersion = v
  26001. return s
  26002. }
  26003. // Contains the parameters for CreateNatGateway.
  26004. type CreateNatGatewayInput struct {
  26005. _ struct{} `type:"structure"`
  26006. // The allocation ID of an Elastic IP address to associate with the NAT gateway.
  26007. // If the Elastic IP address is associated with another resource, you must first
  26008. // disassociate it.
  26009. //
  26010. // AllocationId is a required field
  26011. AllocationId *string `type:"string" required:"true"`
  26012. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  26013. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  26014. //
  26015. // Constraint: Maximum 64 ASCII characters.
  26016. ClientToken *string `type:"string"`
  26017. // The subnet in which to create the NAT gateway.
  26018. //
  26019. // SubnetId is a required field
  26020. SubnetId *string `type:"string" required:"true"`
  26021. }
  26022. // String returns the string representation
  26023. func (s CreateNatGatewayInput) String() string {
  26024. return awsutil.Prettify(s)
  26025. }
  26026. // GoString returns the string representation
  26027. func (s CreateNatGatewayInput) GoString() string {
  26028. return s.String()
  26029. }
  26030. // Validate inspects the fields of the type to determine if they are valid.
  26031. func (s *CreateNatGatewayInput) Validate() error {
  26032. invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
  26033. if s.AllocationId == nil {
  26034. invalidParams.Add(request.NewErrParamRequired("AllocationId"))
  26035. }
  26036. if s.SubnetId == nil {
  26037. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  26038. }
  26039. if invalidParams.Len() > 0 {
  26040. return invalidParams
  26041. }
  26042. return nil
  26043. }
  26044. // SetAllocationId sets the AllocationId field's value.
  26045. func (s *CreateNatGatewayInput) SetAllocationId(v string) *CreateNatGatewayInput {
  26046. s.AllocationId = &v
  26047. return s
  26048. }
  26049. // SetClientToken sets the ClientToken field's value.
  26050. func (s *CreateNatGatewayInput) SetClientToken(v string) *CreateNatGatewayInput {
  26051. s.ClientToken = &v
  26052. return s
  26053. }
  26054. // SetSubnetId sets the SubnetId field's value.
  26055. func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput {
  26056. s.SubnetId = &v
  26057. return s
  26058. }
  26059. // Contains the output of CreateNatGateway.
  26060. type CreateNatGatewayOutput struct {
  26061. _ struct{} `type:"structure"`
  26062. // Unique, case-sensitive identifier to ensure the idempotency of the request.
  26063. // Only returned if a client token was provided in the request.
  26064. ClientToken *string `locationName:"clientToken" type:"string"`
  26065. // Information about the NAT gateway.
  26066. NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
  26067. }
  26068. // String returns the string representation
  26069. func (s CreateNatGatewayOutput) String() string {
  26070. return awsutil.Prettify(s)
  26071. }
  26072. // GoString returns the string representation
  26073. func (s CreateNatGatewayOutput) GoString() string {
  26074. return s.String()
  26075. }
  26076. // SetClientToken sets the ClientToken field's value.
  26077. func (s *CreateNatGatewayOutput) SetClientToken(v string) *CreateNatGatewayOutput {
  26078. s.ClientToken = &v
  26079. return s
  26080. }
  26081. // SetNatGateway sets the NatGateway field's value.
  26082. func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayOutput {
  26083. s.NatGateway = v
  26084. return s
  26085. }
  26086. // Contains the parameters for CreateNetworkAclEntry.
  26087. type CreateNetworkAclEntryInput struct {
  26088. _ struct{} `type:"structure"`
  26089. // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  26090. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  26091. // Checks whether you have the required permissions for the action, without
  26092. // actually making the request, and provides an error response. If you have
  26093. // the required permissions, the error response is DryRunOperation. Otherwise,
  26094. // it is UnauthorizedOperation.
  26095. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26096. // Indicates whether this is an egress rule (rule is applied to traffic leaving
  26097. // the subnet).
  26098. //
  26099. // Egress is a required field
  26100. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  26101. // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the
  26102. // ICMP protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.
  26103. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  26104. // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).
  26105. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  26106. // The ID of the network ACL.
  26107. //
  26108. // NetworkAclId is a required field
  26109. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  26110. // TCP or UDP protocols: The range of ports the rule applies to.
  26111. PortRange *PortRange `locationName:"portRange" type:"structure"`
  26112. // The protocol. A value of -1 or all means all protocols. If you specify all,
  26113. // -1, or a protocol number other than 6 (tcp), 17 (udp), or 1 (icmp), traffic
  26114. // on all ports is allowed, regardless of any ports or ICMP types or codes you
  26115. // specify. If you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block,
  26116. // traffic for all ICMP types and codes allowed, regardless of any that you
  26117. // specify. If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block,
  26118. // you must specify an ICMP type and code.
  26119. //
  26120. // Protocol is a required field
  26121. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  26122. // Indicates whether to allow or deny the traffic that matches the rule.
  26123. //
  26124. // RuleAction is a required field
  26125. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  26126. // The rule number for the entry (for example, 100). ACL entries are processed
  26127. // in ascending order by rule number.
  26128. //
  26129. // Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
  26130. // reserved for internal use.
  26131. //
  26132. // RuleNumber is a required field
  26133. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  26134. }
  26135. // String returns the string representation
  26136. func (s CreateNetworkAclEntryInput) String() string {
  26137. return awsutil.Prettify(s)
  26138. }
  26139. // GoString returns the string representation
  26140. func (s CreateNetworkAclEntryInput) GoString() string {
  26141. return s.String()
  26142. }
  26143. // Validate inspects the fields of the type to determine if they are valid.
  26144. func (s *CreateNetworkAclEntryInput) Validate() error {
  26145. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
  26146. if s.Egress == nil {
  26147. invalidParams.Add(request.NewErrParamRequired("Egress"))
  26148. }
  26149. if s.NetworkAclId == nil {
  26150. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  26151. }
  26152. if s.Protocol == nil {
  26153. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  26154. }
  26155. if s.RuleAction == nil {
  26156. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  26157. }
  26158. if s.RuleNumber == nil {
  26159. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  26160. }
  26161. if invalidParams.Len() > 0 {
  26162. return invalidParams
  26163. }
  26164. return nil
  26165. }
  26166. // SetCidrBlock sets the CidrBlock field's value.
  26167. func (s *CreateNetworkAclEntryInput) SetCidrBlock(v string) *CreateNetworkAclEntryInput {
  26168. s.CidrBlock = &v
  26169. return s
  26170. }
  26171. // SetDryRun sets the DryRun field's value.
  26172. func (s *CreateNetworkAclEntryInput) SetDryRun(v bool) *CreateNetworkAclEntryInput {
  26173. s.DryRun = &v
  26174. return s
  26175. }
  26176. // SetEgress sets the Egress field's value.
  26177. func (s *CreateNetworkAclEntryInput) SetEgress(v bool) *CreateNetworkAclEntryInput {
  26178. s.Egress = &v
  26179. return s
  26180. }
  26181. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  26182. func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNetworkAclEntryInput {
  26183. s.IcmpTypeCode = v
  26184. return s
  26185. }
  26186. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  26187. func (s *CreateNetworkAclEntryInput) SetIpv6CidrBlock(v string) *CreateNetworkAclEntryInput {
  26188. s.Ipv6CidrBlock = &v
  26189. return s
  26190. }
  26191. // SetNetworkAclId sets the NetworkAclId field's value.
  26192. func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput {
  26193. s.NetworkAclId = &v
  26194. return s
  26195. }
  26196. // SetPortRange sets the PortRange field's value.
  26197. func (s *CreateNetworkAclEntryInput) SetPortRange(v *PortRange) *CreateNetworkAclEntryInput {
  26198. s.PortRange = v
  26199. return s
  26200. }
  26201. // SetProtocol sets the Protocol field's value.
  26202. func (s *CreateNetworkAclEntryInput) SetProtocol(v string) *CreateNetworkAclEntryInput {
  26203. s.Protocol = &v
  26204. return s
  26205. }
  26206. // SetRuleAction sets the RuleAction field's value.
  26207. func (s *CreateNetworkAclEntryInput) SetRuleAction(v string) *CreateNetworkAclEntryInput {
  26208. s.RuleAction = &v
  26209. return s
  26210. }
  26211. // SetRuleNumber sets the RuleNumber field's value.
  26212. func (s *CreateNetworkAclEntryInput) SetRuleNumber(v int64) *CreateNetworkAclEntryInput {
  26213. s.RuleNumber = &v
  26214. return s
  26215. }
  26216. type CreateNetworkAclEntryOutput struct {
  26217. _ struct{} `type:"structure"`
  26218. }
  26219. // String returns the string representation
  26220. func (s CreateNetworkAclEntryOutput) String() string {
  26221. return awsutil.Prettify(s)
  26222. }
  26223. // GoString returns the string representation
  26224. func (s CreateNetworkAclEntryOutput) GoString() string {
  26225. return s.String()
  26226. }
  26227. // Contains the parameters for CreateNetworkAcl.
  26228. type CreateNetworkAclInput struct {
  26229. _ struct{} `type:"structure"`
  26230. // Checks whether you have the required permissions for the action, without
  26231. // actually making the request, and provides an error response. If you have
  26232. // the required permissions, the error response is DryRunOperation. Otherwise,
  26233. // it is UnauthorizedOperation.
  26234. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26235. // The ID of the VPC.
  26236. //
  26237. // VpcId is a required field
  26238. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  26239. }
  26240. // String returns the string representation
  26241. func (s CreateNetworkAclInput) String() string {
  26242. return awsutil.Prettify(s)
  26243. }
  26244. // GoString returns the string representation
  26245. func (s CreateNetworkAclInput) GoString() string {
  26246. return s.String()
  26247. }
  26248. // Validate inspects the fields of the type to determine if they are valid.
  26249. func (s *CreateNetworkAclInput) Validate() error {
  26250. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
  26251. if s.VpcId == nil {
  26252. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  26253. }
  26254. if invalidParams.Len() > 0 {
  26255. return invalidParams
  26256. }
  26257. return nil
  26258. }
  26259. // SetDryRun sets the DryRun field's value.
  26260. func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput {
  26261. s.DryRun = &v
  26262. return s
  26263. }
  26264. // SetVpcId sets the VpcId field's value.
  26265. func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput {
  26266. s.VpcId = &v
  26267. return s
  26268. }
  26269. // Contains the output of CreateNetworkAcl.
  26270. type CreateNetworkAclOutput struct {
  26271. _ struct{} `type:"structure"`
  26272. // Information about the network ACL.
  26273. NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
  26274. }
  26275. // String returns the string representation
  26276. func (s CreateNetworkAclOutput) String() string {
  26277. return awsutil.Prettify(s)
  26278. }
  26279. // GoString returns the string representation
  26280. func (s CreateNetworkAclOutput) GoString() string {
  26281. return s.String()
  26282. }
  26283. // SetNetworkAcl sets the NetworkAcl field's value.
  26284. func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput {
  26285. s.NetworkAcl = v
  26286. return s
  26287. }
  26288. // Contains the parameters for CreateNetworkInterface.
  26289. type CreateNetworkInterfaceInput struct {
  26290. _ struct{} `type:"structure"`
  26291. // A description for the network interface.
  26292. Description *string `locationName:"description" type:"string"`
  26293. // Checks whether you have the required permissions for the action, without
  26294. // actually making the request, and provides an error response. If you have
  26295. // the required permissions, the error response is DryRunOperation. Otherwise,
  26296. // it is UnauthorizedOperation.
  26297. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26298. // The IDs of one or more security groups.
  26299. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  26300. // The number of IPv6 addresses to assign to a network interface. Amazon EC2
  26301. // automatically selects the IPv6 addresses from the subnet range. You can't
  26302. // use this option if specifying specific IPv6 addresses. If your subnet has
  26303. // the AssignIpv6AddressOnCreation attribute set to true, you can specify 0
  26304. // to override this setting.
  26305. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  26306. // One or more specific IPv6 addresses from the IPv6 CIDR block range of your
  26307. // subnet. You can't use this option if you're specifying a number of IPv6 addresses.
  26308. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
  26309. // The primary private IPv4 address of the network interface. If you don't specify
  26310. // an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR
  26311. // range. If you specify an IP address, you cannot indicate any IP addresses
  26312. // specified in privateIpAddresses as primary (only one IP address can be designated
  26313. // as primary).
  26314. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  26315. // One or more private IPv4 addresses.
  26316. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
  26317. // The number of secondary private IPv4 addresses to assign to a network interface.
  26318. // When you specify a number of secondary IPv4 addresses, Amazon EC2 selects
  26319. // these IP addresses within the subnet's IPv4 CIDR range. You can't specify
  26320. // this option and specify more than one private IP address using privateIpAddresses.
  26321. //
  26322. // The number of IP addresses you can assign to a network interface varies by
  26323. // instance type. For more information, see IP Addresses Per ENI Per Instance
  26324. // Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  26325. // in the Amazon Virtual Private Cloud User Guide.
  26326. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  26327. // The ID of the subnet to associate with the network interface.
  26328. //
  26329. // SubnetId is a required field
  26330. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  26331. }
  26332. // String returns the string representation
  26333. func (s CreateNetworkInterfaceInput) String() string {
  26334. return awsutil.Prettify(s)
  26335. }
  26336. // GoString returns the string representation
  26337. func (s CreateNetworkInterfaceInput) GoString() string {
  26338. return s.String()
  26339. }
  26340. // Validate inspects the fields of the type to determine if they are valid.
  26341. func (s *CreateNetworkInterfaceInput) Validate() error {
  26342. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
  26343. if s.SubnetId == nil {
  26344. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  26345. }
  26346. if s.PrivateIpAddresses != nil {
  26347. for i, v := range s.PrivateIpAddresses {
  26348. if v == nil {
  26349. continue
  26350. }
  26351. if err := v.Validate(); err != nil {
  26352. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  26353. }
  26354. }
  26355. }
  26356. if invalidParams.Len() > 0 {
  26357. return invalidParams
  26358. }
  26359. return nil
  26360. }
  26361. // SetDescription sets the Description field's value.
  26362. func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput {
  26363. s.Description = &v
  26364. return s
  26365. }
  26366. // SetDryRun sets the DryRun field's value.
  26367. func (s *CreateNetworkInterfaceInput) SetDryRun(v bool) *CreateNetworkInterfaceInput {
  26368. s.DryRun = &v
  26369. return s
  26370. }
  26371. // SetGroups sets the Groups field's value.
  26372. func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInterfaceInput {
  26373. s.Groups = v
  26374. return s
  26375. }
  26376. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  26377. func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput {
  26378. s.Ipv6AddressCount = &v
  26379. return s
  26380. }
  26381. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  26382. func (s *CreateNetworkInterfaceInput) SetIpv6Addresses(v []*InstanceIpv6Address) *CreateNetworkInterfaceInput {
  26383. s.Ipv6Addresses = v
  26384. return s
  26385. }
  26386. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  26387. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput {
  26388. s.PrivateIpAddress = &v
  26389. return s
  26390. }
  26391. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  26392. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *CreateNetworkInterfaceInput {
  26393. s.PrivateIpAddresses = v
  26394. return s
  26395. }
  26396. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  26397. func (s *CreateNetworkInterfaceInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNetworkInterfaceInput {
  26398. s.SecondaryPrivateIpAddressCount = &v
  26399. return s
  26400. }
  26401. // SetSubnetId sets the SubnetId field's value.
  26402. func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterfaceInput {
  26403. s.SubnetId = &v
  26404. return s
  26405. }
  26406. // Contains the output of CreateNetworkInterface.
  26407. type CreateNetworkInterfaceOutput struct {
  26408. _ struct{} `type:"structure"`
  26409. // Information about the network interface.
  26410. NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
  26411. }
  26412. // String returns the string representation
  26413. func (s CreateNetworkInterfaceOutput) String() string {
  26414. return awsutil.Prettify(s)
  26415. }
  26416. // GoString returns the string representation
  26417. func (s CreateNetworkInterfaceOutput) GoString() string {
  26418. return s.String()
  26419. }
  26420. // SetNetworkInterface sets the NetworkInterface field's value.
  26421. func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput {
  26422. s.NetworkInterface = v
  26423. return s
  26424. }
  26425. // Contains the parameters for CreateNetworkInterfacePermission.
  26426. type CreateNetworkInterfacePermissionInput struct {
  26427. _ struct{} `type:"structure"`
  26428. // The AWS account ID.
  26429. AwsAccountId *string `type:"string"`
  26430. // The AWS service. Currently not supported.
  26431. AwsService *string `type:"string"`
  26432. // Checks whether you have the required permissions for the action, without
  26433. // actually making the request, and provides an error response. If you have
  26434. // the required permissions, the error response is DryRunOperation. Otherwise,
  26435. // it is UnauthorizedOperation.
  26436. DryRun *bool `type:"boolean"`
  26437. // The ID of the network interface.
  26438. //
  26439. // NetworkInterfaceId is a required field
  26440. NetworkInterfaceId *string `type:"string" required:"true"`
  26441. // The type of permission to grant.
  26442. //
  26443. // Permission is a required field
  26444. Permission *string `type:"string" required:"true" enum:"InterfacePermissionType"`
  26445. }
  26446. // String returns the string representation
  26447. func (s CreateNetworkInterfacePermissionInput) String() string {
  26448. return awsutil.Prettify(s)
  26449. }
  26450. // GoString returns the string representation
  26451. func (s CreateNetworkInterfacePermissionInput) GoString() string {
  26452. return s.String()
  26453. }
  26454. // Validate inspects the fields of the type to determine if they are valid.
  26455. func (s *CreateNetworkInterfacePermissionInput) Validate() error {
  26456. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfacePermissionInput"}
  26457. if s.NetworkInterfaceId == nil {
  26458. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  26459. }
  26460. if s.Permission == nil {
  26461. invalidParams.Add(request.NewErrParamRequired("Permission"))
  26462. }
  26463. if invalidParams.Len() > 0 {
  26464. return invalidParams
  26465. }
  26466. return nil
  26467. }
  26468. // SetAwsAccountId sets the AwsAccountId field's value.
  26469. func (s *CreateNetworkInterfacePermissionInput) SetAwsAccountId(v string) *CreateNetworkInterfacePermissionInput {
  26470. s.AwsAccountId = &v
  26471. return s
  26472. }
  26473. // SetAwsService sets the AwsService field's value.
  26474. func (s *CreateNetworkInterfacePermissionInput) SetAwsService(v string) *CreateNetworkInterfacePermissionInput {
  26475. s.AwsService = &v
  26476. return s
  26477. }
  26478. // SetDryRun sets the DryRun field's value.
  26479. func (s *CreateNetworkInterfacePermissionInput) SetDryRun(v bool) *CreateNetworkInterfacePermissionInput {
  26480. s.DryRun = &v
  26481. return s
  26482. }
  26483. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  26484. func (s *CreateNetworkInterfacePermissionInput) SetNetworkInterfaceId(v string) *CreateNetworkInterfacePermissionInput {
  26485. s.NetworkInterfaceId = &v
  26486. return s
  26487. }
  26488. // SetPermission sets the Permission field's value.
  26489. func (s *CreateNetworkInterfacePermissionInput) SetPermission(v string) *CreateNetworkInterfacePermissionInput {
  26490. s.Permission = &v
  26491. return s
  26492. }
  26493. // Contains the output of CreateNetworkInterfacePermission.
  26494. type CreateNetworkInterfacePermissionOutput struct {
  26495. _ struct{} `type:"structure"`
  26496. // Information about the permission for the network interface.
  26497. InterfacePermission *NetworkInterfacePermission `locationName:"interfacePermission" type:"structure"`
  26498. }
  26499. // String returns the string representation
  26500. func (s CreateNetworkInterfacePermissionOutput) String() string {
  26501. return awsutil.Prettify(s)
  26502. }
  26503. // GoString returns the string representation
  26504. func (s CreateNetworkInterfacePermissionOutput) GoString() string {
  26505. return s.String()
  26506. }
  26507. // SetInterfacePermission sets the InterfacePermission field's value.
  26508. func (s *CreateNetworkInterfacePermissionOutput) SetInterfacePermission(v *NetworkInterfacePermission) *CreateNetworkInterfacePermissionOutput {
  26509. s.InterfacePermission = v
  26510. return s
  26511. }
  26512. // Contains the parameters for CreatePlacementGroup.
  26513. type CreatePlacementGroupInput struct {
  26514. _ struct{} `type:"structure"`
  26515. // Checks whether you have the required permissions for the action, without
  26516. // actually making the request, and provides an error response. If you have
  26517. // the required permissions, the error response is DryRunOperation. Otherwise,
  26518. // it is UnauthorizedOperation.
  26519. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26520. // A name for the placement group. Must be unique within the scope of your account
  26521. // for the region.
  26522. //
  26523. // Constraints: Up to 255 ASCII characters
  26524. //
  26525. // GroupName is a required field
  26526. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  26527. // The placement strategy.
  26528. //
  26529. // Strategy is a required field
  26530. Strategy *string `locationName:"strategy" type:"string" required:"true" enum:"PlacementStrategy"`
  26531. }
  26532. // String returns the string representation
  26533. func (s CreatePlacementGroupInput) String() string {
  26534. return awsutil.Prettify(s)
  26535. }
  26536. // GoString returns the string representation
  26537. func (s CreatePlacementGroupInput) GoString() string {
  26538. return s.String()
  26539. }
  26540. // Validate inspects the fields of the type to determine if they are valid.
  26541. func (s *CreatePlacementGroupInput) Validate() error {
  26542. invalidParams := request.ErrInvalidParams{Context: "CreatePlacementGroupInput"}
  26543. if s.GroupName == nil {
  26544. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  26545. }
  26546. if s.Strategy == nil {
  26547. invalidParams.Add(request.NewErrParamRequired("Strategy"))
  26548. }
  26549. if invalidParams.Len() > 0 {
  26550. return invalidParams
  26551. }
  26552. return nil
  26553. }
  26554. // SetDryRun sets the DryRun field's value.
  26555. func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput {
  26556. s.DryRun = &v
  26557. return s
  26558. }
  26559. // SetGroupName sets the GroupName field's value.
  26560. func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroupInput {
  26561. s.GroupName = &v
  26562. return s
  26563. }
  26564. // SetStrategy sets the Strategy field's value.
  26565. func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput {
  26566. s.Strategy = &v
  26567. return s
  26568. }
  26569. type CreatePlacementGroupOutput struct {
  26570. _ struct{} `type:"structure"`
  26571. }
  26572. // String returns the string representation
  26573. func (s CreatePlacementGroupOutput) String() string {
  26574. return awsutil.Prettify(s)
  26575. }
  26576. // GoString returns the string representation
  26577. func (s CreatePlacementGroupOutput) GoString() string {
  26578. return s.String()
  26579. }
  26580. // Contains the parameters for CreateReservedInstancesListing.
  26581. type CreateReservedInstancesListingInput struct {
  26582. _ struct{} `type:"structure"`
  26583. // Unique, case-sensitive identifier you provide to ensure idempotency of your
  26584. // listings. This helps avoid duplicate listings. For more information, see
  26585. // Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  26586. //
  26587. // ClientToken is a required field
  26588. ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
  26589. // The number of instances that are a part of a Reserved Instance account to
  26590. // be listed in the Reserved Instance Marketplace. This number should be less
  26591. // than or equal to the instance count associated with the Reserved Instance
  26592. // ID specified in this call.
  26593. //
  26594. // InstanceCount is a required field
  26595. InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
  26596. // A list specifying the price of the Standard Reserved Instance for each month
  26597. // remaining in the Reserved Instance term.
  26598. //
  26599. // PriceSchedules is a required field
  26600. PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
  26601. // The ID of the active Standard Reserved Instance.
  26602. //
  26603. // ReservedInstancesId is a required field
  26604. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
  26605. }
  26606. // String returns the string representation
  26607. func (s CreateReservedInstancesListingInput) String() string {
  26608. return awsutil.Prettify(s)
  26609. }
  26610. // GoString returns the string representation
  26611. func (s CreateReservedInstancesListingInput) GoString() string {
  26612. return s.String()
  26613. }
  26614. // Validate inspects the fields of the type to determine if they are valid.
  26615. func (s *CreateReservedInstancesListingInput) Validate() error {
  26616. invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
  26617. if s.ClientToken == nil {
  26618. invalidParams.Add(request.NewErrParamRequired("ClientToken"))
  26619. }
  26620. if s.InstanceCount == nil {
  26621. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  26622. }
  26623. if s.PriceSchedules == nil {
  26624. invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
  26625. }
  26626. if s.ReservedInstancesId == nil {
  26627. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
  26628. }
  26629. if invalidParams.Len() > 0 {
  26630. return invalidParams
  26631. }
  26632. return nil
  26633. }
  26634. // SetClientToken sets the ClientToken field's value.
  26635. func (s *CreateReservedInstancesListingInput) SetClientToken(v string) *CreateReservedInstancesListingInput {
  26636. s.ClientToken = &v
  26637. return s
  26638. }
  26639. // SetInstanceCount sets the InstanceCount field's value.
  26640. func (s *CreateReservedInstancesListingInput) SetInstanceCount(v int64) *CreateReservedInstancesListingInput {
  26641. s.InstanceCount = &v
  26642. return s
  26643. }
  26644. // SetPriceSchedules sets the PriceSchedules field's value.
  26645. func (s *CreateReservedInstancesListingInput) SetPriceSchedules(v []*PriceScheduleSpecification) *CreateReservedInstancesListingInput {
  26646. s.PriceSchedules = v
  26647. return s
  26648. }
  26649. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  26650. func (s *CreateReservedInstancesListingInput) SetReservedInstancesId(v string) *CreateReservedInstancesListingInput {
  26651. s.ReservedInstancesId = &v
  26652. return s
  26653. }
  26654. // Contains the output of CreateReservedInstancesListing.
  26655. type CreateReservedInstancesListingOutput struct {
  26656. _ struct{} `type:"structure"`
  26657. // Information about the Standard Reserved Instance listing.
  26658. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  26659. }
  26660. // String returns the string representation
  26661. func (s CreateReservedInstancesListingOutput) String() string {
  26662. return awsutil.Prettify(s)
  26663. }
  26664. // GoString returns the string representation
  26665. func (s CreateReservedInstancesListingOutput) GoString() string {
  26666. return s.String()
  26667. }
  26668. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  26669. func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CreateReservedInstancesListingOutput {
  26670. s.ReservedInstancesListings = v
  26671. return s
  26672. }
  26673. // Contains the parameters for CreateRoute.
  26674. type CreateRouteInput struct {
  26675. _ struct{} `type:"structure"`
  26676. // The IPv4 CIDR address block used for the destination match. Routing decisions
  26677. // are based on the most specific match.
  26678. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  26679. // The IPv6 CIDR block used for the destination match. Routing decisions are
  26680. // based on the most specific match.
  26681. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  26682. // Checks whether you have the required permissions for the action, without
  26683. // actually making the request, and provides an error response. If you have
  26684. // the required permissions, the error response is DryRunOperation. Otherwise,
  26685. // it is UnauthorizedOperation.
  26686. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26687. // [IPv6 traffic only] The ID of an egress-only Internet gateway.
  26688. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  26689. // The ID of an Internet gateway or virtual private gateway attached to your
  26690. // VPC.
  26691. GatewayId *string `locationName:"gatewayId" type:"string"`
  26692. // The ID of a NAT instance in your VPC. The operation fails if you specify
  26693. // an instance ID unless exactly one network interface is attached.
  26694. InstanceId *string `locationName:"instanceId" type:"string"`
  26695. // [IPv4 traffic only] The ID of a NAT gateway.
  26696. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  26697. // The ID of a network interface.
  26698. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  26699. // The ID of the route table for the route.
  26700. //
  26701. // RouteTableId is a required field
  26702. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  26703. // The ID of a VPC peering connection.
  26704. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  26705. }
  26706. // String returns the string representation
  26707. func (s CreateRouteInput) String() string {
  26708. return awsutil.Prettify(s)
  26709. }
  26710. // GoString returns the string representation
  26711. func (s CreateRouteInput) GoString() string {
  26712. return s.String()
  26713. }
  26714. // Validate inspects the fields of the type to determine if they are valid.
  26715. func (s *CreateRouteInput) Validate() error {
  26716. invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
  26717. if s.RouteTableId == nil {
  26718. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  26719. }
  26720. if invalidParams.Len() > 0 {
  26721. return invalidParams
  26722. }
  26723. return nil
  26724. }
  26725. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  26726. func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput {
  26727. s.DestinationCidrBlock = &v
  26728. return s
  26729. }
  26730. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  26731. func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInput {
  26732. s.DestinationIpv6CidrBlock = &v
  26733. return s
  26734. }
  26735. // SetDryRun sets the DryRun field's value.
  26736. func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput {
  26737. s.DryRun = &v
  26738. return s
  26739. }
  26740. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  26741. func (s *CreateRouteInput) SetEgressOnlyInternetGatewayId(v string) *CreateRouteInput {
  26742. s.EgressOnlyInternetGatewayId = &v
  26743. return s
  26744. }
  26745. // SetGatewayId sets the GatewayId field's value.
  26746. func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput {
  26747. s.GatewayId = &v
  26748. return s
  26749. }
  26750. // SetInstanceId sets the InstanceId field's value.
  26751. func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
  26752. s.InstanceId = &v
  26753. return s
  26754. }
  26755. // SetNatGatewayId sets the NatGatewayId field's value.
  26756. func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
  26757. s.NatGatewayId = &v
  26758. return s
  26759. }
  26760. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  26761. func (s *CreateRouteInput) SetNetworkInterfaceId(v string) *CreateRouteInput {
  26762. s.NetworkInterfaceId = &v
  26763. return s
  26764. }
  26765. // SetRouteTableId sets the RouteTableId field's value.
  26766. func (s *CreateRouteInput) SetRouteTableId(v string) *CreateRouteInput {
  26767. s.RouteTableId = &v
  26768. return s
  26769. }
  26770. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  26771. func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
  26772. s.VpcPeeringConnectionId = &v
  26773. return s
  26774. }
  26775. // Contains the output of CreateRoute.
  26776. type CreateRouteOutput struct {
  26777. _ struct{} `type:"structure"`
  26778. // Returns true if the request succeeds; otherwise, it returns an error.
  26779. Return *bool `locationName:"return" type:"boolean"`
  26780. }
  26781. // String returns the string representation
  26782. func (s CreateRouteOutput) String() string {
  26783. return awsutil.Prettify(s)
  26784. }
  26785. // GoString returns the string representation
  26786. func (s CreateRouteOutput) GoString() string {
  26787. return s.String()
  26788. }
  26789. // SetReturn sets the Return field's value.
  26790. func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput {
  26791. s.Return = &v
  26792. return s
  26793. }
  26794. // Contains the parameters for CreateRouteTable.
  26795. type CreateRouteTableInput struct {
  26796. _ struct{} `type:"structure"`
  26797. // Checks whether you have the required permissions for the action, without
  26798. // actually making the request, and provides an error response. If you have
  26799. // the required permissions, the error response is DryRunOperation. Otherwise,
  26800. // it is UnauthorizedOperation.
  26801. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26802. // The ID of the VPC.
  26803. //
  26804. // VpcId is a required field
  26805. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  26806. }
  26807. // String returns the string representation
  26808. func (s CreateRouteTableInput) String() string {
  26809. return awsutil.Prettify(s)
  26810. }
  26811. // GoString returns the string representation
  26812. func (s CreateRouteTableInput) GoString() string {
  26813. return s.String()
  26814. }
  26815. // Validate inspects the fields of the type to determine if they are valid.
  26816. func (s *CreateRouteTableInput) Validate() error {
  26817. invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
  26818. if s.VpcId == nil {
  26819. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  26820. }
  26821. if invalidParams.Len() > 0 {
  26822. return invalidParams
  26823. }
  26824. return nil
  26825. }
  26826. // SetDryRun sets the DryRun field's value.
  26827. func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
  26828. s.DryRun = &v
  26829. return s
  26830. }
  26831. // SetVpcId sets the VpcId field's value.
  26832. func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
  26833. s.VpcId = &v
  26834. return s
  26835. }
  26836. // Contains the output of CreateRouteTable.
  26837. type CreateRouteTableOutput struct {
  26838. _ struct{} `type:"structure"`
  26839. // Information about the route table.
  26840. RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
  26841. }
  26842. // String returns the string representation
  26843. func (s CreateRouteTableOutput) String() string {
  26844. return awsutil.Prettify(s)
  26845. }
  26846. // GoString returns the string representation
  26847. func (s CreateRouteTableOutput) GoString() string {
  26848. return s.String()
  26849. }
  26850. // SetRouteTable sets the RouteTable field's value.
  26851. func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput {
  26852. s.RouteTable = v
  26853. return s
  26854. }
  26855. // Contains the parameters for CreateSecurityGroup.
  26856. type CreateSecurityGroupInput struct {
  26857. _ struct{} `type:"structure"`
  26858. // A description for the security group. This is informational only.
  26859. //
  26860. // Constraints: Up to 255 characters in length
  26861. //
  26862. // Constraints for EC2-Classic: ASCII characters
  26863. //
  26864. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  26865. //
  26866. // Description is a required field
  26867. Description *string `locationName:"GroupDescription" type:"string" required:"true"`
  26868. // Checks whether you have the required permissions for the action, without
  26869. // actually making the request, and provides an error response. If you have
  26870. // the required permissions, the error response is DryRunOperation. Otherwise,
  26871. // it is UnauthorizedOperation.
  26872. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26873. // The name of the security group.
  26874. //
  26875. // Constraints: Up to 255 characters in length. Cannot start with sg-.
  26876. //
  26877. // Constraints for EC2-Classic: ASCII characters
  26878. //
  26879. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  26880. //
  26881. // GroupName is a required field
  26882. GroupName *string `type:"string" required:"true"`
  26883. // [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
  26884. VpcId *string `type:"string"`
  26885. }
  26886. // String returns the string representation
  26887. func (s CreateSecurityGroupInput) String() string {
  26888. return awsutil.Prettify(s)
  26889. }
  26890. // GoString returns the string representation
  26891. func (s CreateSecurityGroupInput) GoString() string {
  26892. return s.String()
  26893. }
  26894. // Validate inspects the fields of the type to determine if they are valid.
  26895. func (s *CreateSecurityGroupInput) Validate() error {
  26896. invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
  26897. if s.Description == nil {
  26898. invalidParams.Add(request.NewErrParamRequired("Description"))
  26899. }
  26900. if s.GroupName == nil {
  26901. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  26902. }
  26903. if invalidParams.Len() > 0 {
  26904. return invalidParams
  26905. }
  26906. return nil
  26907. }
  26908. // SetDescription sets the Description field's value.
  26909. func (s *CreateSecurityGroupInput) SetDescription(v string) *CreateSecurityGroupInput {
  26910. s.Description = &v
  26911. return s
  26912. }
  26913. // SetDryRun sets the DryRun field's value.
  26914. func (s *CreateSecurityGroupInput) SetDryRun(v bool) *CreateSecurityGroupInput {
  26915. s.DryRun = &v
  26916. return s
  26917. }
  26918. // SetGroupName sets the GroupName field's value.
  26919. func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupInput {
  26920. s.GroupName = &v
  26921. return s
  26922. }
  26923. // SetVpcId sets the VpcId field's value.
  26924. func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput {
  26925. s.VpcId = &v
  26926. return s
  26927. }
  26928. // Contains the output of CreateSecurityGroup.
  26929. type CreateSecurityGroupOutput struct {
  26930. _ struct{} `type:"structure"`
  26931. // The ID of the security group.
  26932. GroupId *string `locationName:"groupId" type:"string"`
  26933. }
  26934. // String returns the string representation
  26935. func (s CreateSecurityGroupOutput) String() string {
  26936. return awsutil.Prettify(s)
  26937. }
  26938. // GoString returns the string representation
  26939. func (s CreateSecurityGroupOutput) GoString() string {
  26940. return s.String()
  26941. }
  26942. // SetGroupId sets the GroupId field's value.
  26943. func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOutput {
  26944. s.GroupId = &v
  26945. return s
  26946. }
  26947. // Contains the parameters for CreateSnapshot.
  26948. type CreateSnapshotInput struct {
  26949. _ struct{} `type:"structure"`
  26950. // A description for the snapshot.
  26951. Description *string `type:"string"`
  26952. // Checks whether you have the required permissions for the action, without
  26953. // actually making the request, and provides an error response. If you have
  26954. // the required permissions, the error response is DryRunOperation. Otherwise,
  26955. // it is UnauthorizedOperation.
  26956. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26957. // The tags to apply to the snapshot during creation.
  26958. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  26959. // The ID of the EBS volume.
  26960. //
  26961. // VolumeId is a required field
  26962. VolumeId *string `type:"string" required:"true"`
  26963. }
  26964. // String returns the string representation
  26965. func (s CreateSnapshotInput) String() string {
  26966. return awsutil.Prettify(s)
  26967. }
  26968. // GoString returns the string representation
  26969. func (s CreateSnapshotInput) GoString() string {
  26970. return s.String()
  26971. }
  26972. // Validate inspects the fields of the type to determine if they are valid.
  26973. func (s *CreateSnapshotInput) Validate() error {
  26974. invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
  26975. if s.VolumeId == nil {
  26976. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  26977. }
  26978. if invalidParams.Len() > 0 {
  26979. return invalidParams
  26980. }
  26981. return nil
  26982. }
  26983. // SetDescription sets the Description field's value.
  26984. func (s *CreateSnapshotInput) SetDescription(v string) *CreateSnapshotInput {
  26985. s.Description = &v
  26986. return s
  26987. }
  26988. // SetDryRun sets the DryRun field's value.
  26989. func (s *CreateSnapshotInput) SetDryRun(v bool) *CreateSnapshotInput {
  26990. s.DryRun = &v
  26991. return s
  26992. }
  26993. // SetTagSpecifications sets the TagSpecifications field's value.
  26994. func (s *CreateSnapshotInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotInput {
  26995. s.TagSpecifications = v
  26996. return s
  26997. }
  26998. // SetVolumeId sets the VolumeId field's value.
  26999. func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput {
  27000. s.VolumeId = &v
  27001. return s
  27002. }
  27003. // Contains the parameters for CreateSpotDatafeedSubscription.
  27004. type CreateSpotDatafeedSubscriptionInput struct {
  27005. _ struct{} `type:"structure"`
  27006. // The Amazon S3 bucket in which to store the Spot Instance data feed.
  27007. //
  27008. // Bucket is a required field
  27009. Bucket *string `locationName:"bucket" type:"string" required:"true"`
  27010. // Checks whether you have the required permissions for the action, without
  27011. // actually making the request, and provides an error response. If you have
  27012. // the required permissions, the error response is DryRunOperation. Otherwise,
  27013. // it is UnauthorizedOperation.
  27014. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27015. // A prefix for the data feed file names.
  27016. Prefix *string `locationName:"prefix" type:"string"`
  27017. }
  27018. // String returns the string representation
  27019. func (s CreateSpotDatafeedSubscriptionInput) String() string {
  27020. return awsutil.Prettify(s)
  27021. }
  27022. // GoString returns the string representation
  27023. func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
  27024. return s.String()
  27025. }
  27026. // Validate inspects the fields of the type to determine if they are valid.
  27027. func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
  27028. invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
  27029. if s.Bucket == nil {
  27030. invalidParams.Add(request.NewErrParamRequired("Bucket"))
  27031. }
  27032. if invalidParams.Len() > 0 {
  27033. return invalidParams
  27034. }
  27035. return nil
  27036. }
  27037. // SetBucket sets the Bucket field's value.
  27038. func (s *CreateSpotDatafeedSubscriptionInput) SetBucket(v string) *CreateSpotDatafeedSubscriptionInput {
  27039. s.Bucket = &v
  27040. return s
  27041. }
  27042. // SetDryRun sets the DryRun field's value.
  27043. func (s *CreateSpotDatafeedSubscriptionInput) SetDryRun(v bool) *CreateSpotDatafeedSubscriptionInput {
  27044. s.DryRun = &v
  27045. return s
  27046. }
  27047. // SetPrefix sets the Prefix field's value.
  27048. func (s *CreateSpotDatafeedSubscriptionInput) SetPrefix(v string) *CreateSpotDatafeedSubscriptionInput {
  27049. s.Prefix = &v
  27050. return s
  27051. }
  27052. // Contains the output of CreateSpotDatafeedSubscription.
  27053. type CreateSpotDatafeedSubscriptionOutput struct {
  27054. _ struct{} `type:"structure"`
  27055. // The Spot Instance data feed subscription.
  27056. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  27057. }
  27058. // String returns the string representation
  27059. func (s CreateSpotDatafeedSubscriptionOutput) String() string {
  27060. return awsutil.Prettify(s)
  27061. }
  27062. // GoString returns the string representation
  27063. func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
  27064. return s.String()
  27065. }
  27066. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  27067. func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *CreateSpotDatafeedSubscriptionOutput {
  27068. s.SpotDatafeedSubscription = v
  27069. return s
  27070. }
  27071. // Contains the parameters for CreateSubnet.
  27072. type CreateSubnetInput struct {
  27073. _ struct{} `type:"structure"`
  27074. // The Availability Zone for the subnet.
  27075. //
  27076. // Default: AWS selects one for you. If you create more than one subnet in your
  27077. // VPC, we may not necessarily select a different zone for each subnet.
  27078. AvailabilityZone *string `type:"string"`
  27079. // The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
  27080. //
  27081. // CidrBlock is a required field
  27082. CidrBlock *string `type:"string" required:"true"`
  27083. // Checks whether you have the required permissions for the action, without
  27084. // actually making the request, and provides an error response. If you have
  27085. // the required permissions, the error response is DryRunOperation. Otherwise,
  27086. // it is UnauthorizedOperation.
  27087. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27088. // The IPv6 network range for the subnet, in CIDR notation. The subnet size
  27089. // must use a /64 prefix length.
  27090. Ipv6CidrBlock *string `type:"string"`
  27091. // The ID of the VPC.
  27092. //
  27093. // VpcId is a required field
  27094. VpcId *string `type:"string" required:"true"`
  27095. }
  27096. // String returns the string representation
  27097. func (s CreateSubnetInput) String() string {
  27098. return awsutil.Prettify(s)
  27099. }
  27100. // GoString returns the string representation
  27101. func (s CreateSubnetInput) GoString() string {
  27102. return s.String()
  27103. }
  27104. // Validate inspects the fields of the type to determine if they are valid.
  27105. func (s *CreateSubnetInput) Validate() error {
  27106. invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
  27107. if s.CidrBlock == nil {
  27108. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  27109. }
  27110. if s.VpcId == nil {
  27111. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  27112. }
  27113. if invalidParams.Len() > 0 {
  27114. return invalidParams
  27115. }
  27116. return nil
  27117. }
  27118. // SetAvailabilityZone sets the AvailabilityZone field's value.
  27119. func (s *CreateSubnetInput) SetAvailabilityZone(v string) *CreateSubnetInput {
  27120. s.AvailabilityZone = &v
  27121. return s
  27122. }
  27123. // SetCidrBlock sets the CidrBlock field's value.
  27124. func (s *CreateSubnetInput) SetCidrBlock(v string) *CreateSubnetInput {
  27125. s.CidrBlock = &v
  27126. return s
  27127. }
  27128. // SetDryRun sets the DryRun field's value.
  27129. func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput {
  27130. s.DryRun = &v
  27131. return s
  27132. }
  27133. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  27134. func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput {
  27135. s.Ipv6CidrBlock = &v
  27136. return s
  27137. }
  27138. // SetVpcId sets the VpcId field's value.
  27139. func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
  27140. s.VpcId = &v
  27141. return s
  27142. }
  27143. // Contains the output of CreateSubnet.
  27144. type CreateSubnetOutput struct {
  27145. _ struct{} `type:"structure"`
  27146. // Information about the subnet.
  27147. Subnet *Subnet `locationName:"subnet" type:"structure"`
  27148. }
  27149. // String returns the string representation
  27150. func (s CreateSubnetOutput) String() string {
  27151. return awsutil.Prettify(s)
  27152. }
  27153. // GoString returns the string representation
  27154. func (s CreateSubnetOutput) GoString() string {
  27155. return s.String()
  27156. }
  27157. // SetSubnet sets the Subnet field's value.
  27158. func (s *CreateSubnetOutput) SetSubnet(v *Subnet) *CreateSubnetOutput {
  27159. s.Subnet = v
  27160. return s
  27161. }
  27162. // Contains the parameters for CreateTags.
  27163. type CreateTagsInput struct {
  27164. _ struct{} `type:"structure"`
  27165. // Checks whether you have the required permissions for the action, without
  27166. // actually making the request, and provides an error response. If you have
  27167. // the required permissions, the error response is DryRunOperation. Otherwise,
  27168. // it is UnauthorizedOperation.
  27169. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27170. // The IDs of one or more resources to tag. For example, ami-1a2b3c4d.
  27171. //
  27172. // Resources is a required field
  27173. Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
  27174. // One or more tags. The value parameter is required, but if you don't want
  27175. // the tag to have a value, specify the parameter with no value, and we set
  27176. // the value to an empty string.
  27177. //
  27178. // Tags is a required field
  27179. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
  27180. }
  27181. // String returns the string representation
  27182. func (s CreateTagsInput) String() string {
  27183. return awsutil.Prettify(s)
  27184. }
  27185. // GoString returns the string representation
  27186. func (s CreateTagsInput) GoString() string {
  27187. return s.String()
  27188. }
  27189. // Validate inspects the fields of the type to determine if they are valid.
  27190. func (s *CreateTagsInput) Validate() error {
  27191. invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
  27192. if s.Resources == nil {
  27193. invalidParams.Add(request.NewErrParamRequired("Resources"))
  27194. }
  27195. if s.Tags == nil {
  27196. invalidParams.Add(request.NewErrParamRequired("Tags"))
  27197. }
  27198. if invalidParams.Len() > 0 {
  27199. return invalidParams
  27200. }
  27201. return nil
  27202. }
  27203. // SetDryRun sets the DryRun field's value.
  27204. func (s *CreateTagsInput) SetDryRun(v bool) *CreateTagsInput {
  27205. s.DryRun = &v
  27206. return s
  27207. }
  27208. // SetResources sets the Resources field's value.
  27209. func (s *CreateTagsInput) SetResources(v []*string) *CreateTagsInput {
  27210. s.Resources = v
  27211. return s
  27212. }
  27213. // SetTags sets the Tags field's value.
  27214. func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
  27215. s.Tags = v
  27216. return s
  27217. }
  27218. type CreateTagsOutput struct {
  27219. _ struct{} `type:"structure"`
  27220. }
  27221. // String returns the string representation
  27222. func (s CreateTagsOutput) String() string {
  27223. return awsutil.Prettify(s)
  27224. }
  27225. // GoString returns the string representation
  27226. func (s CreateTagsOutput) GoString() string {
  27227. return s.String()
  27228. }
  27229. // Contains the parameters for CreateVolume.
  27230. type CreateVolumeInput struct {
  27231. _ struct{} `type:"structure"`
  27232. // The Availability Zone in which to create the volume. Use DescribeAvailabilityZones
  27233. // to list the Availability Zones that are currently available to you.
  27234. //
  27235. // AvailabilityZone is a required field
  27236. AvailabilityZone *string `type:"string" required:"true"`
  27237. // Checks whether you have the required permissions for the action, without
  27238. // actually making the request, and provides an error response. If you have
  27239. // the required permissions, the error response is DryRunOperation. Otherwise,
  27240. // it is UnauthorizedOperation.
  27241. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27242. // Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes
  27243. // may only be attached to instances that support Amazon EBS encryption. Volumes
  27244. // that are created from encrypted snapshots are automatically encrypted. There
  27245. // is no way to create an encrypted volume from an unencrypted snapshot or vice
  27246. // versa. If your AMI uses encrypted volumes, you can only launch it on supported
  27247. // instance types. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  27248. // in the Amazon Elastic Compute Cloud User Guide.
  27249. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  27250. // The number of I/O operations per second (IOPS) to provision for the volume,
  27251. // with a maximum ratio of 50 IOPS/GiB. Range is 100 to 32000 IOPS for volumes
  27252. // in most regions. For exceptions, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
  27253. //
  27254. // This parameter is valid only for Provisioned IOPS SSD (io1) volumes.
  27255. Iops *int64 `type:"integer"`
  27256. // An identifier for the AWS Key Management Service (AWS KMS) customer master
  27257. // key (CMK) to use when creating the encrypted volume. This parameter is only
  27258. // required if you want to use a non-default CMK; if this parameter is not specified,
  27259. // the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted
  27260. // flag must also be set.
  27261. //
  27262. // The CMK identifier may be provided in any of the following formats:
  27263. //
  27264. // * Key ID
  27265. //
  27266. // * Key alias
  27267. //
  27268. // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
  27269. // by the region of the CMK, the AWS account ID of the CMK owner, the key
  27270. // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  27271. //
  27272. //
  27273. // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
  27274. // followed by the region of the CMK, the AWS account ID of the CMK owner,
  27275. // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  27276. //
  27277. //
  27278. // AWS parses KmsKeyId asynchronously, meaning that the action you call may
  27279. // appear to complete even though you provided an invalid identifier. The action
  27280. // will eventually fail.
  27281. KmsKeyId *string `type:"string"`
  27282. // The size of the volume, in GiBs.
  27283. //
  27284. // Constraints: 1-16384 for gp2, 4-16384 for io1, 500-16384 for st1, 500-16384
  27285. // for sc1, and 1-1024 for standard. If you specify a snapshot, the volume size
  27286. // must be equal to or larger than the snapshot size.
  27287. //
  27288. // Default: If you're creating the volume from a snapshot and don't specify
  27289. // a volume size, the default is the snapshot size.
  27290. Size *int64 `type:"integer"`
  27291. // The snapshot from which to create the volume.
  27292. SnapshotId *string `type:"string"`
  27293. // The tags to apply to the volume during creation.
  27294. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  27295. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  27296. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  27297. // for Magnetic volumes.
  27298. //
  27299. // Defaults: If no volume type is specified, the default is standard in us-east-1,
  27300. // eu-west-1, eu-central-1, us-west-2, us-west-1, sa-east-1, ap-northeast-1,
  27301. // ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-south-1, us-gov-west-1,
  27302. // and cn-north-1. In all other regions, EBS defaults to gp2.
  27303. VolumeType *string `type:"string" enum:"VolumeType"`
  27304. }
  27305. // String returns the string representation
  27306. func (s CreateVolumeInput) String() string {
  27307. return awsutil.Prettify(s)
  27308. }
  27309. // GoString returns the string representation
  27310. func (s CreateVolumeInput) GoString() string {
  27311. return s.String()
  27312. }
  27313. // Validate inspects the fields of the type to determine if they are valid.
  27314. func (s *CreateVolumeInput) Validate() error {
  27315. invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
  27316. if s.AvailabilityZone == nil {
  27317. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  27318. }
  27319. if invalidParams.Len() > 0 {
  27320. return invalidParams
  27321. }
  27322. return nil
  27323. }
  27324. // SetAvailabilityZone sets the AvailabilityZone field's value.
  27325. func (s *CreateVolumeInput) SetAvailabilityZone(v string) *CreateVolumeInput {
  27326. s.AvailabilityZone = &v
  27327. return s
  27328. }
  27329. // SetDryRun sets the DryRun field's value.
  27330. func (s *CreateVolumeInput) SetDryRun(v bool) *CreateVolumeInput {
  27331. s.DryRun = &v
  27332. return s
  27333. }
  27334. // SetEncrypted sets the Encrypted field's value.
  27335. func (s *CreateVolumeInput) SetEncrypted(v bool) *CreateVolumeInput {
  27336. s.Encrypted = &v
  27337. return s
  27338. }
  27339. // SetIops sets the Iops field's value.
  27340. func (s *CreateVolumeInput) SetIops(v int64) *CreateVolumeInput {
  27341. s.Iops = &v
  27342. return s
  27343. }
  27344. // SetKmsKeyId sets the KmsKeyId field's value.
  27345. func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
  27346. s.KmsKeyId = &v
  27347. return s
  27348. }
  27349. // SetSize sets the Size field's value.
  27350. func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
  27351. s.Size = &v
  27352. return s
  27353. }
  27354. // SetSnapshotId sets the SnapshotId field's value.
  27355. func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
  27356. s.SnapshotId = &v
  27357. return s
  27358. }
  27359. // SetTagSpecifications sets the TagSpecifications field's value.
  27360. func (s *CreateVolumeInput) SetTagSpecifications(v []*TagSpecification) *CreateVolumeInput {
  27361. s.TagSpecifications = v
  27362. return s
  27363. }
  27364. // SetVolumeType sets the VolumeType field's value.
  27365. func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
  27366. s.VolumeType = &v
  27367. return s
  27368. }
  27369. // Describes the user or group to be added or removed from the permissions for
  27370. // a volume.
  27371. type CreateVolumePermission struct {
  27372. _ struct{} `type:"structure"`
  27373. // The specific group that is to be added or removed from a volume's list of
  27374. // create volume permissions.
  27375. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  27376. // The specific AWS account ID that is to be added or removed from a volume's
  27377. // list of create volume permissions.
  27378. UserId *string `locationName:"userId" type:"string"`
  27379. }
  27380. // String returns the string representation
  27381. func (s CreateVolumePermission) String() string {
  27382. return awsutil.Prettify(s)
  27383. }
  27384. // GoString returns the string representation
  27385. func (s CreateVolumePermission) GoString() string {
  27386. return s.String()
  27387. }
  27388. // SetGroup sets the Group field's value.
  27389. func (s *CreateVolumePermission) SetGroup(v string) *CreateVolumePermission {
  27390. s.Group = &v
  27391. return s
  27392. }
  27393. // SetUserId sets the UserId field's value.
  27394. func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission {
  27395. s.UserId = &v
  27396. return s
  27397. }
  27398. // Describes modifications to the permissions for a volume.
  27399. type CreateVolumePermissionModifications struct {
  27400. _ struct{} `type:"structure"`
  27401. // Adds a specific AWS account ID or group to a volume's list of create volume
  27402. // permissions.
  27403. Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
  27404. // Removes a specific AWS account ID or group from a volume's list of create
  27405. // volume permissions.
  27406. Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
  27407. }
  27408. // String returns the string representation
  27409. func (s CreateVolumePermissionModifications) String() string {
  27410. return awsutil.Prettify(s)
  27411. }
  27412. // GoString returns the string representation
  27413. func (s CreateVolumePermissionModifications) GoString() string {
  27414. return s.String()
  27415. }
  27416. // SetAdd sets the Add field's value.
  27417. func (s *CreateVolumePermissionModifications) SetAdd(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  27418. s.Add = v
  27419. return s
  27420. }
  27421. // SetRemove sets the Remove field's value.
  27422. func (s *CreateVolumePermissionModifications) SetRemove(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  27423. s.Remove = v
  27424. return s
  27425. }
  27426. type CreateVpcEndpointConnectionNotificationInput struct {
  27427. _ struct{} `type:"structure"`
  27428. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  27429. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  27430. ClientToken *string `type:"string"`
  27431. // One or more endpoint events for which to receive notifications. Valid values
  27432. // are Accept, Connect, Delete, and Reject.
  27433. //
  27434. // ConnectionEvents is a required field
  27435. ConnectionEvents []*string `locationNameList:"item" type:"list" required:"true"`
  27436. // The ARN of the SNS topic for the notifications.
  27437. //
  27438. // ConnectionNotificationArn is a required field
  27439. ConnectionNotificationArn *string `type:"string" required:"true"`
  27440. // Checks whether you have the required permissions for the action, without
  27441. // actually making the request, and provides an error response. If you have
  27442. // the required permissions, the error response is DryRunOperation. Otherwise,
  27443. // it is UnauthorizedOperation.
  27444. DryRun *bool `type:"boolean"`
  27445. // The ID of the endpoint service.
  27446. ServiceId *string `type:"string"`
  27447. // The ID of the endpoint.
  27448. VpcEndpointId *string `type:"string"`
  27449. }
  27450. // String returns the string representation
  27451. func (s CreateVpcEndpointConnectionNotificationInput) String() string {
  27452. return awsutil.Prettify(s)
  27453. }
  27454. // GoString returns the string representation
  27455. func (s CreateVpcEndpointConnectionNotificationInput) GoString() string {
  27456. return s.String()
  27457. }
  27458. // Validate inspects the fields of the type to determine if they are valid.
  27459. func (s *CreateVpcEndpointConnectionNotificationInput) Validate() error {
  27460. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointConnectionNotificationInput"}
  27461. if s.ConnectionEvents == nil {
  27462. invalidParams.Add(request.NewErrParamRequired("ConnectionEvents"))
  27463. }
  27464. if s.ConnectionNotificationArn == nil {
  27465. invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationArn"))
  27466. }
  27467. if invalidParams.Len() > 0 {
  27468. return invalidParams
  27469. }
  27470. return nil
  27471. }
  27472. // SetClientToken sets the ClientToken field's value.
  27473. func (s *CreateVpcEndpointConnectionNotificationInput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationInput {
  27474. s.ClientToken = &v
  27475. return s
  27476. }
  27477. // SetConnectionEvents sets the ConnectionEvents field's value.
  27478. func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *CreateVpcEndpointConnectionNotificationInput {
  27479. s.ConnectionEvents = v
  27480. return s
  27481. }
  27482. // SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
  27483. func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *CreateVpcEndpointConnectionNotificationInput {
  27484. s.ConnectionNotificationArn = &v
  27485. return s
  27486. }
  27487. // SetDryRun sets the DryRun field's value.
  27488. func (s *CreateVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *CreateVpcEndpointConnectionNotificationInput {
  27489. s.DryRun = &v
  27490. return s
  27491. }
  27492. // SetServiceId sets the ServiceId field's value.
  27493. func (s *CreateVpcEndpointConnectionNotificationInput) SetServiceId(v string) *CreateVpcEndpointConnectionNotificationInput {
  27494. s.ServiceId = &v
  27495. return s
  27496. }
  27497. // SetVpcEndpointId sets the VpcEndpointId field's value.
  27498. func (s *CreateVpcEndpointConnectionNotificationInput) SetVpcEndpointId(v string) *CreateVpcEndpointConnectionNotificationInput {
  27499. s.VpcEndpointId = &v
  27500. return s
  27501. }
  27502. type CreateVpcEndpointConnectionNotificationOutput struct {
  27503. _ struct{} `type:"structure"`
  27504. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  27505. // the request.
  27506. ClientToken *string `locationName:"clientToken" type:"string"`
  27507. // Information about the notification.
  27508. ConnectionNotification *ConnectionNotification `locationName:"connectionNotification" type:"structure"`
  27509. }
  27510. // String returns the string representation
  27511. func (s CreateVpcEndpointConnectionNotificationOutput) String() string {
  27512. return awsutil.Prettify(s)
  27513. }
  27514. // GoString returns the string representation
  27515. func (s CreateVpcEndpointConnectionNotificationOutput) GoString() string {
  27516. return s.String()
  27517. }
  27518. // SetClientToken sets the ClientToken field's value.
  27519. func (s *CreateVpcEndpointConnectionNotificationOutput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationOutput {
  27520. s.ClientToken = &v
  27521. return s
  27522. }
  27523. // SetConnectionNotification sets the ConnectionNotification field's value.
  27524. func (s *CreateVpcEndpointConnectionNotificationOutput) SetConnectionNotification(v *ConnectionNotification) *CreateVpcEndpointConnectionNotificationOutput {
  27525. s.ConnectionNotification = v
  27526. return s
  27527. }
  27528. // Contains the parameters for CreateVpcEndpoint.
  27529. type CreateVpcEndpointInput struct {
  27530. _ struct{} `type:"structure"`
  27531. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  27532. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  27533. ClientToken *string `type:"string"`
  27534. // Checks whether you have the required permissions for the action, without
  27535. // actually making the request, and provides an error response. If you have
  27536. // the required permissions, the error response is DryRunOperation. Otherwise,
  27537. // it is UnauthorizedOperation.
  27538. DryRun *bool `type:"boolean"`
  27539. // (Gateway endpoint) A policy to attach to the endpoint that controls access
  27540. // to the service. The policy must be in valid JSON format. If this parameter
  27541. // is not specified, we attach a default policy that allows full access to the
  27542. // service.
  27543. PolicyDocument *string `type:"string"`
  27544. // (Interface endpoint) Indicate whether to associate a private hosted zone
  27545. // with the specified VPC. The private hosted zone contains a record set for
  27546. // the default public DNS name for the service for the region (for example,
  27547. // kinesis.us-east-1.amazonaws.com) which resolves to the private IP addresses
  27548. // of the endpoint network interfaces in the VPC. This enables you to make requests
  27549. // to the default public DNS name for the service instead of the public DNS
  27550. // names that are automatically generated by the VPC endpoint service.
  27551. //
  27552. // To use a private hosted zone, you must set the following VPC attributes to
  27553. // true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to
  27554. // set the VPC attributes.
  27555. //
  27556. // Default: true
  27557. PrivateDnsEnabled *bool `type:"boolean"`
  27558. // (Gateway endpoint) One or more route table IDs.
  27559. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  27560. // (Interface endpoint) The ID of one or more security groups to associate with
  27561. // the endpoint network interface.
  27562. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
  27563. // The service name. To get a list of available services, use the DescribeVpcEndpointServices
  27564. // request, or get the name from the service provider.
  27565. //
  27566. // ServiceName is a required field
  27567. ServiceName *string `type:"string" required:"true"`
  27568. // (Interface endpoint) The ID of one or more subnets in which to create an
  27569. // endpoint network interface.
  27570. SubnetIds []*string `locationName:"SubnetId" locationNameList:"item" type:"list"`
  27571. // The type of endpoint.
  27572. //
  27573. // Default: Gateway
  27574. VpcEndpointType *string `type:"string" enum:"VpcEndpointType"`
  27575. // The ID of the VPC in which the endpoint will be used.
  27576. //
  27577. // VpcId is a required field
  27578. VpcId *string `type:"string" required:"true"`
  27579. }
  27580. // String returns the string representation
  27581. func (s CreateVpcEndpointInput) String() string {
  27582. return awsutil.Prettify(s)
  27583. }
  27584. // GoString returns the string representation
  27585. func (s CreateVpcEndpointInput) GoString() string {
  27586. return s.String()
  27587. }
  27588. // Validate inspects the fields of the type to determine if they are valid.
  27589. func (s *CreateVpcEndpointInput) Validate() error {
  27590. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
  27591. if s.ServiceName == nil {
  27592. invalidParams.Add(request.NewErrParamRequired("ServiceName"))
  27593. }
  27594. if s.VpcId == nil {
  27595. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  27596. }
  27597. if invalidParams.Len() > 0 {
  27598. return invalidParams
  27599. }
  27600. return nil
  27601. }
  27602. // SetClientToken sets the ClientToken field's value.
  27603. func (s *CreateVpcEndpointInput) SetClientToken(v string) *CreateVpcEndpointInput {
  27604. s.ClientToken = &v
  27605. return s
  27606. }
  27607. // SetDryRun sets the DryRun field's value.
  27608. func (s *CreateVpcEndpointInput) SetDryRun(v bool) *CreateVpcEndpointInput {
  27609. s.DryRun = &v
  27610. return s
  27611. }
  27612. // SetPolicyDocument sets the PolicyDocument field's value.
  27613. func (s *CreateVpcEndpointInput) SetPolicyDocument(v string) *CreateVpcEndpointInput {
  27614. s.PolicyDocument = &v
  27615. return s
  27616. }
  27617. // SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
  27618. func (s *CreateVpcEndpointInput) SetPrivateDnsEnabled(v bool) *CreateVpcEndpointInput {
  27619. s.PrivateDnsEnabled = &v
  27620. return s
  27621. }
  27622. // SetRouteTableIds sets the RouteTableIds field's value.
  27623. func (s *CreateVpcEndpointInput) SetRouteTableIds(v []*string) *CreateVpcEndpointInput {
  27624. s.RouteTableIds = v
  27625. return s
  27626. }
  27627. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  27628. func (s *CreateVpcEndpointInput) SetSecurityGroupIds(v []*string) *CreateVpcEndpointInput {
  27629. s.SecurityGroupIds = v
  27630. return s
  27631. }
  27632. // SetServiceName sets the ServiceName field's value.
  27633. func (s *CreateVpcEndpointInput) SetServiceName(v string) *CreateVpcEndpointInput {
  27634. s.ServiceName = &v
  27635. return s
  27636. }
  27637. // SetSubnetIds sets the SubnetIds field's value.
  27638. func (s *CreateVpcEndpointInput) SetSubnetIds(v []*string) *CreateVpcEndpointInput {
  27639. s.SubnetIds = v
  27640. return s
  27641. }
  27642. // SetVpcEndpointType sets the VpcEndpointType field's value.
  27643. func (s *CreateVpcEndpointInput) SetVpcEndpointType(v string) *CreateVpcEndpointInput {
  27644. s.VpcEndpointType = &v
  27645. return s
  27646. }
  27647. // SetVpcId sets the VpcId field's value.
  27648. func (s *CreateVpcEndpointInput) SetVpcId(v string) *CreateVpcEndpointInput {
  27649. s.VpcId = &v
  27650. return s
  27651. }
  27652. // Contains the output of CreateVpcEndpoint.
  27653. type CreateVpcEndpointOutput struct {
  27654. _ struct{} `type:"structure"`
  27655. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  27656. // the request.
  27657. ClientToken *string `locationName:"clientToken" type:"string"`
  27658. // Information about the endpoint.
  27659. VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
  27660. }
  27661. // String returns the string representation
  27662. func (s CreateVpcEndpointOutput) String() string {
  27663. return awsutil.Prettify(s)
  27664. }
  27665. // GoString returns the string representation
  27666. func (s CreateVpcEndpointOutput) GoString() string {
  27667. return s.String()
  27668. }
  27669. // SetClientToken sets the ClientToken field's value.
  27670. func (s *CreateVpcEndpointOutput) SetClientToken(v string) *CreateVpcEndpointOutput {
  27671. s.ClientToken = &v
  27672. return s
  27673. }
  27674. // SetVpcEndpoint sets the VpcEndpoint field's value.
  27675. func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpointOutput {
  27676. s.VpcEndpoint = v
  27677. return s
  27678. }
  27679. type CreateVpcEndpointServiceConfigurationInput struct {
  27680. _ struct{} `type:"structure"`
  27681. // Indicate whether requests from service consumers to create an endpoint to
  27682. // your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.
  27683. AcceptanceRequired *bool `type:"boolean"`
  27684. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  27685. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  27686. ClientToken *string `type:"string"`
  27687. // Checks whether you have the required permissions for the action, without
  27688. // actually making the request, and provides an error response. If you have
  27689. // the required permissions, the error response is DryRunOperation. Otherwise,
  27690. // it is UnauthorizedOperation.
  27691. DryRun *bool `type:"boolean"`
  27692. // The Amazon Resource Names (ARNs) of one or more Network Load Balancers for
  27693. // your service.
  27694. //
  27695. // NetworkLoadBalancerArns is a required field
  27696. NetworkLoadBalancerArns []*string `locationName:"NetworkLoadBalancerArn" locationNameList:"item" type:"list" required:"true"`
  27697. }
  27698. // String returns the string representation
  27699. func (s CreateVpcEndpointServiceConfigurationInput) String() string {
  27700. return awsutil.Prettify(s)
  27701. }
  27702. // GoString returns the string representation
  27703. func (s CreateVpcEndpointServiceConfigurationInput) GoString() string {
  27704. return s.String()
  27705. }
  27706. // Validate inspects the fields of the type to determine if they are valid.
  27707. func (s *CreateVpcEndpointServiceConfigurationInput) Validate() error {
  27708. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointServiceConfigurationInput"}
  27709. if s.NetworkLoadBalancerArns == nil {
  27710. invalidParams.Add(request.NewErrParamRequired("NetworkLoadBalancerArns"))
  27711. }
  27712. if invalidParams.Len() > 0 {
  27713. return invalidParams
  27714. }
  27715. return nil
  27716. }
  27717. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  27718. func (s *CreateVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *CreateVpcEndpointServiceConfigurationInput {
  27719. s.AcceptanceRequired = &v
  27720. return s
  27721. }
  27722. // SetClientToken sets the ClientToken field's value.
  27723. func (s *CreateVpcEndpointServiceConfigurationInput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationInput {
  27724. s.ClientToken = &v
  27725. return s
  27726. }
  27727. // SetDryRun sets the DryRun field's value.
  27728. func (s *CreateVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *CreateVpcEndpointServiceConfigurationInput {
  27729. s.DryRun = &v
  27730. return s
  27731. }
  27732. // SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
  27733. func (s *CreateVpcEndpointServiceConfigurationInput) SetNetworkLoadBalancerArns(v []*string) *CreateVpcEndpointServiceConfigurationInput {
  27734. s.NetworkLoadBalancerArns = v
  27735. return s
  27736. }
  27737. type CreateVpcEndpointServiceConfigurationOutput struct {
  27738. _ struct{} `type:"structure"`
  27739. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  27740. // the request.
  27741. ClientToken *string `locationName:"clientToken" type:"string"`
  27742. // Information about the service configuration.
  27743. ServiceConfiguration *ServiceConfiguration `locationName:"serviceConfiguration" type:"structure"`
  27744. }
  27745. // String returns the string representation
  27746. func (s CreateVpcEndpointServiceConfigurationOutput) String() string {
  27747. return awsutil.Prettify(s)
  27748. }
  27749. // GoString returns the string representation
  27750. func (s CreateVpcEndpointServiceConfigurationOutput) GoString() string {
  27751. return s.String()
  27752. }
  27753. // SetClientToken sets the ClientToken field's value.
  27754. func (s *CreateVpcEndpointServiceConfigurationOutput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationOutput {
  27755. s.ClientToken = &v
  27756. return s
  27757. }
  27758. // SetServiceConfiguration sets the ServiceConfiguration field's value.
  27759. func (s *CreateVpcEndpointServiceConfigurationOutput) SetServiceConfiguration(v *ServiceConfiguration) *CreateVpcEndpointServiceConfigurationOutput {
  27760. s.ServiceConfiguration = v
  27761. return s
  27762. }
  27763. // Contains the parameters for CreateVpc.
  27764. type CreateVpcInput struct {
  27765. _ struct{} `type:"structure"`
  27766. // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
  27767. // the VPC. You cannot specify the range of IP addresses, or the size of the
  27768. // CIDR block.
  27769. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
  27770. // The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
  27771. //
  27772. // CidrBlock is a required field
  27773. CidrBlock *string `type:"string" required:"true"`
  27774. // Checks whether you have the required permissions for the action, without
  27775. // actually making the request, and provides an error response. If you have
  27776. // the required permissions, the error response is DryRunOperation. Otherwise,
  27777. // it is UnauthorizedOperation.
  27778. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27779. // The tenancy options for instances launched into the VPC. For default, instances
  27780. // are launched with shared tenancy by default. You can launch instances with
  27781. // any tenancy into a shared tenancy VPC. For dedicated, instances are launched
  27782. // as dedicated tenancy instances by default. You can only launch instances
  27783. // with a tenancy of dedicated or host into a dedicated tenancy VPC.
  27784. //
  27785. // Important: The host value cannot be used with this parameter. Use the default
  27786. // or dedicated values only.
  27787. //
  27788. // Default: default
  27789. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  27790. }
  27791. // String returns the string representation
  27792. func (s CreateVpcInput) String() string {
  27793. return awsutil.Prettify(s)
  27794. }
  27795. // GoString returns the string representation
  27796. func (s CreateVpcInput) GoString() string {
  27797. return s.String()
  27798. }
  27799. // Validate inspects the fields of the type to determine if they are valid.
  27800. func (s *CreateVpcInput) Validate() error {
  27801. invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
  27802. if s.CidrBlock == nil {
  27803. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  27804. }
  27805. if invalidParams.Len() > 0 {
  27806. return invalidParams
  27807. }
  27808. return nil
  27809. }
  27810. // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
  27811. func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput {
  27812. s.AmazonProvidedIpv6CidrBlock = &v
  27813. return s
  27814. }
  27815. // SetCidrBlock sets the CidrBlock field's value.
  27816. func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput {
  27817. s.CidrBlock = &v
  27818. return s
  27819. }
  27820. // SetDryRun sets the DryRun field's value.
  27821. func (s *CreateVpcInput) SetDryRun(v bool) *CreateVpcInput {
  27822. s.DryRun = &v
  27823. return s
  27824. }
  27825. // SetInstanceTenancy sets the InstanceTenancy field's value.
  27826. func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
  27827. s.InstanceTenancy = &v
  27828. return s
  27829. }
  27830. // Contains the output of CreateVpc.
  27831. type CreateVpcOutput struct {
  27832. _ struct{} `type:"structure"`
  27833. // Information about the VPC.
  27834. Vpc *Vpc `locationName:"vpc" type:"structure"`
  27835. }
  27836. // String returns the string representation
  27837. func (s CreateVpcOutput) String() string {
  27838. return awsutil.Prettify(s)
  27839. }
  27840. // GoString returns the string representation
  27841. func (s CreateVpcOutput) GoString() string {
  27842. return s.String()
  27843. }
  27844. // SetVpc sets the Vpc field's value.
  27845. func (s *CreateVpcOutput) SetVpc(v *Vpc) *CreateVpcOutput {
  27846. s.Vpc = v
  27847. return s
  27848. }
  27849. // Contains the parameters for CreateVpcPeeringConnection.
  27850. type CreateVpcPeeringConnectionInput struct {
  27851. _ struct{} `type:"structure"`
  27852. // Checks whether you have the required permissions for the action, without
  27853. // actually making the request, and provides an error response. If you have
  27854. // the required permissions, the error response is DryRunOperation. Otherwise,
  27855. // it is UnauthorizedOperation.
  27856. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27857. // The AWS account ID of the owner of the accepter VPC.
  27858. //
  27859. // Default: Your AWS account ID
  27860. PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
  27861. // The region code for the accepter VPC, if the accepter VPC is located in a
  27862. // region other than the region in which you make the request.
  27863. //
  27864. // Default: The region in which you make the request.
  27865. PeerRegion *string `type:"string"`
  27866. // The ID of the VPC with which you are creating the VPC peering connection.
  27867. // You must specify this parameter in the request.
  27868. PeerVpcId *string `locationName:"peerVpcId" type:"string"`
  27869. // The ID of the requester VPC. You must specify this parameter in the request.
  27870. VpcId *string `locationName:"vpcId" type:"string"`
  27871. }
  27872. // String returns the string representation
  27873. func (s CreateVpcPeeringConnectionInput) String() string {
  27874. return awsutil.Prettify(s)
  27875. }
  27876. // GoString returns the string representation
  27877. func (s CreateVpcPeeringConnectionInput) GoString() string {
  27878. return s.String()
  27879. }
  27880. // SetDryRun sets the DryRun field's value.
  27881. func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput {
  27882. s.DryRun = &v
  27883. return s
  27884. }
  27885. // SetPeerOwnerId sets the PeerOwnerId field's value.
  27886. func (s *CreateVpcPeeringConnectionInput) SetPeerOwnerId(v string) *CreateVpcPeeringConnectionInput {
  27887. s.PeerOwnerId = &v
  27888. return s
  27889. }
  27890. // SetPeerRegion sets the PeerRegion field's value.
  27891. func (s *CreateVpcPeeringConnectionInput) SetPeerRegion(v string) *CreateVpcPeeringConnectionInput {
  27892. s.PeerRegion = &v
  27893. return s
  27894. }
  27895. // SetPeerVpcId sets the PeerVpcId field's value.
  27896. func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
  27897. s.PeerVpcId = &v
  27898. return s
  27899. }
  27900. // SetVpcId sets the VpcId field's value.
  27901. func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
  27902. s.VpcId = &v
  27903. return s
  27904. }
  27905. // Contains the output of CreateVpcPeeringConnection.
  27906. type CreateVpcPeeringConnectionOutput struct {
  27907. _ struct{} `type:"structure"`
  27908. // Information about the VPC peering connection.
  27909. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  27910. }
  27911. // String returns the string representation
  27912. func (s CreateVpcPeeringConnectionOutput) String() string {
  27913. return awsutil.Prettify(s)
  27914. }
  27915. // GoString returns the string representation
  27916. func (s CreateVpcPeeringConnectionOutput) GoString() string {
  27917. return s.String()
  27918. }
  27919. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  27920. func (s *CreateVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *CreateVpcPeeringConnectionOutput {
  27921. s.VpcPeeringConnection = v
  27922. return s
  27923. }
  27924. // Contains the parameters for CreateVpnConnection.
  27925. type CreateVpnConnectionInput struct {
  27926. _ struct{} `type:"structure"`
  27927. // The ID of the customer gateway.
  27928. //
  27929. // CustomerGatewayId is a required field
  27930. CustomerGatewayId *string `type:"string" required:"true"`
  27931. // Checks whether you have the required permissions for the action, without
  27932. // actually making the request, and provides an error response. If you have
  27933. // the required permissions, the error response is DryRunOperation. Otherwise,
  27934. // it is UnauthorizedOperation.
  27935. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27936. // The options for the VPN connection.
  27937. Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
  27938. // The type of VPN connection (ipsec.1).
  27939. //
  27940. // Type is a required field
  27941. Type *string `type:"string" required:"true"`
  27942. // The ID of the virtual private gateway.
  27943. //
  27944. // VpnGatewayId is a required field
  27945. VpnGatewayId *string `type:"string" required:"true"`
  27946. }
  27947. // String returns the string representation
  27948. func (s CreateVpnConnectionInput) String() string {
  27949. return awsutil.Prettify(s)
  27950. }
  27951. // GoString returns the string representation
  27952. func (s CreateVpnConnectionInput) GoString() string {
  27953. return s.String()
  27954. }
  27955. // Validate inspects the fields of the type to determine if they are valid.
  27956. func (s *CreateVpnConnectionInput) Validate() error {
  27957. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
  27958. if s.CustomerGatewayId == nil {
  27959. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  27960. }
  27961. if s.Type == nil {
  27962. invalidParams.Add(request.NewErrParamRequired("Type"))
  27963. }
  27964. if s.VpnGatewayId == nil {
  27965. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  27966. }
  27967. if invalidParams.Len() > 0 {
  27968. return invalidParams
  27969. }
  27970. return nil
  27971. }
  27972. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  27973. func (s *CreateVpnConnectionInput) SetCustomerGatewayId(v string) *CreateVpnConnectionInput {
  27974. s.CustomerGatewayId = &v
  27975. return s
  27976. }
  27977. // SetDryRun sets the DryRun field's value.
  27978. func (s *CreateVpnConnectionInput) SetDryRun(v bool) *CreateVpnConnectionInput {
  27979. s.DryRun = &v
  27980. return s
  27981. }
  27982. // SetOptions sets the Options field's value.
  27983. func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecification) *CreateVpnConnectionInput {
  27984. s.Options = v
  27985. return s
  27986. }
  27987. // SetType sets the Type field's value.
  27988. func (s *CreateVpnConnectionInput) SetType(v string) *CreateVpnConnectionInput {
  27989. s.Type = &v
  27990. return s
  27991. }
  27992. // SetVpnGatewayId sets the VpnGatewayId field's value.
  27993. func (s *CreateVpnConnectionInput) SetVpnGatewayId(v string) *CreateVpnConnectionInput {
  27994. s.VpnGatewayId = &v
  27995. return s
  27996. }
  27997. // Contains the output of CreateVpnConnection.
  27998. type CreateVpnConnectionOutput struct {
  27999. _ struct{} `type:"structure"`
  28000. // Information about the VPN connection.
  28001. VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
  28002. }
  28003. // String returns the string representation
  28004. func (s CreateVpnConnectionOutput) String() string {
  28005. return awsutil.Prettify(s)
  28006. }
  28007. // GoString returns the string representation
  28008. func (s CreateVpnConnectionOutput) GoString() string {
  28009. return s.String()
  28010. }
  28011. // SetVpnConnection sets the VpnConnection field's value.
  28012. func (s *CreateVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *CreateVpnConnectionOutput {
  28013. s.VpnConnection = v
  28014. return s
  28015. }
  28016. // Contains the parameters for CreateVpnConnectionRoute.
  28017. type CreateVpnConnectionRouteInput struct {
  28018. _ struct{} `type:"structure"`
  28019. // The CIDR block associated with the local subnet of the customer network.
  28020. //
  28021. // DestinationCidrBlock is a required field
  28022. DestinationCidrBlock *string `type:"string" required:"true"`
  28023. // The ID of the VPN connection.
  28024. //
  28025. // VpnConnectionId is a required field
  28026. VpnConnectionId *string `type:"string" required:"true"`
  28027. }
  28028. // String returns the string representation
  28029. func (s CreateVpnConnectionRouteInput) String() string {
  28030. return awsutil.Prettify(s)
  28031. }
  28032. // GoString returns the string representation
  28033. func (s CreateVpnConnectionRouteInput) GoString() string {
  28034. return s.String()
  28035. }
  28036. // Validate inspects the fields of the type to determine if they are valid.
  28037. func (s *CreateVpnConnectionRouteInput) Validate() error {
  28038. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
  28039. if s.DestinationCidrBlock == nil {
  28040. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  28041. }
  28042. if s.VpnConnectionId == nil {
  28043. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  28044. }
  28045. if invalidParams.Len() > 0 {
  28046. return invalidParams
  28047. }
  28048. return nil
  28049. }
  28050. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  28051. func (s *CreateVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *CreateVpnConnectionRouteInput {
  28052. s.DestinationCidrBlock = &v
  28053. return s
  28054. }
  28055. // SetVpnConnectionId sets the VpnConnectionId field's value.
  28056. func (s *CreateVpnConnectionRouteInput) SetVpnConnectionId(v string) *CreateVpnConnectionRouteInput {
  28057. s.VpnConnectionId = &v
  28058. return s
  28059. }
  28060. type CreateVpnConnectionRouteOutput struct {
  28061. _ struct{} `type:"structure"`
  28062. }
  28063. // String returns the string representation
  28064. func (s CreateVpnConnectionRouteOutput) String() string {
  28065. return awsutil.Prettify(s)
  28066. }
  28067. // GoString returns the string representation
  28068. func (s CreateVpnConnectionRouteOutput) GoString() string {
  28069. return s.String()
  28070. }
  28071. // Contains the parameters for CreateVpnGateway.
  28072. type CreateVpnGatewayInput struct {
  28073. _ struct{} `type:"structure"`
  28074. // A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
  28075. // If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If
  28076. // you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.
  28077. //
  28078. // Default: 64512
  28079. AmazonSideAsn *int64 `type:"long"`
  28080. // The Availability Zone for the virtual private gateway.
  28081. AvailabilityZone *string `type:"string"`
  28082. // Checks whether you have the required permissions for the action, without
  28083. // actually making the request, and provides an error response. If you have
  28084. // the required permissions, the error response is DryRunOperation. Otherwise,
  28085. // it is UnauthorizedOperation.
  28086. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28087. // The type of VPN connection this virtual private gateway supports.
  28088. //
  28089. // Type is a required field
  28090. Type *string `type:"string" required:"true" enum:"GatewayType"`
  28091. }
  28092. // String returns the string representation
  28093. func (s CreateVpnGatewayInput) String() string {
  28094. return awsutil.Prettify(s)
  28095. }
  28096. // GoString returns the string representation
  28097. func (s CreateVpnGatewayInput) GoString() string {
  28098. return s.String()
  28099. }
  28100. // Validate inspects the fields of the type to determine if they are valid.
  28101. func (s *CreateVpnGatewayInput) Validate() error {
  28102. invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
  28103. if s.Type == nil {
  28104. invalidParams.Add(request.NewErrParamRequired("Type"))
  28105. }
  28106. if invalidParams.Len() > 0 {
  28107. return invalidParams
  28108. }
  28109. return nil
  28110. }
  28111. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  28112. func (s *CreateVpnGatewayInput) SetAmazonSideAsn(v int64) *CreateVpnGatewayInput {
  28113. s.AmazonSideAsn = &v
  28114. return s
  28115. }
  28116. // SetAvailabilityZone sets the AvailabilityZone field's value.
  28117. func (s *CreateVpnGatewayInput) SetAvailabilityZone(v string) *CreateVpnGatewayInput {
  28118. s.AvailabilityZone = &v
  28119. return s
  28120. }
  28121. // SetDryRun sets the DryRun field's value.
  28122. func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput {
  28123. s.DryRun = &v
  28124. return s
  28125. }
  28126. // SetType sets the Type field's value.
  28127. func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput {
  28128. s.Type = &v
  28129. return s
  28130. }
  28131. // Contains the output of CreateVpnGateway.
  28132. type CreateVpnGatewayOutput struct {
  28133. _ struct{} `type:"structure"`
  28134. // Information about the virtual private gateway.
  28135. VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
  28136. }
  28137. // String returns the string representation
  28138. func (s CreateVpnGatewayOutput) String() string {
  28139. return awsutil.Prettify(s)
  28140. }
  28141. // GoString returns the string representation
  28142. func (s CreateVpnGatewayOutput) GoString() string {
  28143. return s.String()
  28144. }
  28145. // SetVpnGateway sets the VpnGateway field's value.
  28146. func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayOutput {
  28147. s.VpnGateway = v
  28148. return s
  28149. }
  28150. // Describes the credit option for CPU usage of a T2 instance.
  28151. type CreditSpecification struct {
  28152. _ struct{} `type:"structure"`
  28153. // The credit option for CPU usage of a T2 instance.
  28154. CpuCredits *string `locationName:"cpuCredits" type:"string"`
  28155. }
  28156. // String returns the string representation
  28157. func (s CreditSpecification) String() string {
  28158. return awsutil.Prettify(s)
  28159. }
  28160. // GoString returns the string representation
  28161. func (s CreditSpecification) GoString() string {
  28162. return s.String()
  28163. }
  28164. // SetCpuCredits sets the CpuCredits field's value.
  28165. func (s *CreditSpecification) SetCpuCredits(v string) *CreditSpecification {
  28166. s.CpuCredits = &v
  28167. return s
  28168. }
  28169. // The credit option for CPU usage of a T2 instance.
  28170. type CreditSpecificationRequest struct {
  28171. _ struct{} `type:"structure"`
  28172. // The credit option for CPU usage of a T2 instance. Valid values are standard
  28173. // and unlimited.
  28174. //
  28175. // CpuCredits is a required field
  28176. CpuCredits *string `type:"string" required:"true"`
  28177. }
  28178. // String returns the string representation
  28179. func (s CreditSpecificationRequest) String() string {
  28180. return awsutil.Prettify(s)
  28181. }
  28182. // GoString returns the string representation
  28183. func (s CreditSpecificationRequest) GoString() string {
  28184. return s.String()
  28185. }
  28186. // Validate inspects the fields of the type to determine if they are valid.
  28187. func (s *CreditSpecificationRequest) Validate() error {
  28188. invalidParams := request.ErrInvalidParams{Context: "CreditSpecificationRequest"}
  28189. if s.CpuCredits == nil {
  28190. invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
  28191. }
  28192. if invalidParams.Len() > 0 {
  28193. return invalidParams
  28194. }
  28195. return nil
  28196. }
  28197. // SetCpuCredits sets the CpuCredits field's value.
  28198. func (s *CreditSpecificationRequest) SetCpuCredits(v string) *CreditSpecificationRequest {
  28199. s.CpuCredits = &v
  28200. return s
  28201. }
  28202. // Describes a customer gateway.
  28203. type CustomerGateway struct {
  28204. _ struct{} `type:"structure"`
  28205. // The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
  28206. // (ASN).
  28207. BgpAsn *string `locationName:"bgpAsn" type:"string"`
  28208. // The ID of the customer gateway.
  28209. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  28210. // The Internet-routable IP address of the customer gateway's outside interface.
  28211. IpAddress *string `locationName:"ipAddress" type:"string"`
  28212. // The current state of the customer gateway (pending | available | deleting
  28213. // | deleted).
  28214. State *string `locationName:"state" type:"string"`
  28215. // Any tags assigned to the customer gateway.
  28216. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  28217. // The type of VPN connection the customer gateway supports (ipsec.1).
  28218. Type *string `locationName:"type" type:"string"`
  28219. }
  28220. // String returns the string representation
  28221. func (s CustomerGateway) String() string {
  28222. return awsutil.Prettify(s)
  28223. }
  28224. // GoString returns the string representation
  28225. func (s CustomerGateway) GoString() string {
  28226. return s.String()
  28227. }
  28228. // SetBgpAsn sets the BgpAsn field's value.
  28229. func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway {
  28230. s.BgpAsn = &v
  28231. return s
  28232. }
  28233. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  28234. func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway {
  28235. s.CustomerGatewayId = &v
  28236. return s
  28237. }
  28238. // SetIpAddress sets the IpAddress field's value.
  28239. func (s *CustomerGateway) SetIpAddress(v string) *CustomerGateway {
  28240. s.IpAddress = &v
  28241. return s
  28242. }
  28243. // SetState sets the State field's value.
  28244. func (s *CustomerGateway) SetState(v string) *CustomerGateway {
  28245. s.State = &v
  28246. return s
  28247. }
  28248. // SetTags sets the Tags field's value.
  28249. func (s *CustomerGateway) SetTags(v []*Tag) *CustomerGateway {
  28250. s.Tags = v
  28251. return s
  28252. }
  28253. // SetType sets the Type field's value.
  28254. func (s *CustomerGateway) SetType(v string) *CustomerGateway {
  28255. s.Type = &v
  28256. return s
  28257. }
  28258. // Contains the parameters for DeleteCustomerGateway.
  28259. type DeleteCustomerGatewayInput struct {
  28260. _ struct{} `type:"structure"`
  28261. // The ID of the customer gateway.
  28262. //
  28263. // CustomerGatewayId is a required field
  28264. CustomerGatewayId *string `type:"string" required:"true"`
  28265. // Checks whether you have the required permissions for the action, without
  28266. // actually making the request, and provides an error response. If you have
  28267. // the required permissions, the error response is DryRunOperation. Otherwise,
  28268. // it is UnauthorizedOperation.
  28269. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28270. }
  28271. // String returns the string representation
  28272. func (s DeleteCustomerGatewayInput) String() string {
  28273. return awsutil.Prettify(s)
  28274. }
  28275. // GoString returns the string representation
  28276. func (s DeleteCustomerGatewayInput) GoString() string {
  28277. return s.String()
  28278. }
  28279. // Validate inspects the fields of the type to determine if they are valid.
  28280. func (s *DeleteCustomerGatewayInput) Validate() error {
  28281. invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
  28282. if s.CustomerGatewayId == nil {
  28283. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  28284. }
  28285. if invalidParams.Len() > 0 {
  28286. return invalidParams
  28287. }
  28288. return nil
  28289. }
  28290. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  28291. func (s *DeleteCustomerGatewayInput) SetCustomerGatewayId(v string) *DeleteCustomerGatewayInput {
  28292. s.CustomerGatewayId = &v
  28293. return s
  28294. }
  28295. // SetDryRun sets the DryRun field's value.
  28296. func (s *DeleteCustomerGatewayInput) SetDryRun(v bool) *DeleteCustomerGatewayInput {
  28297. s.DryRun = &v
  28298. return s
  28299. }
  28300. type DeleteCustomerGatewayOutput struct {
  28301. _ struct{} `type:"structure"`
  28302. }
  28303. // String returns the string representation
  28304. func (s DeleteCustomerGatewayOutput) String() string {
  28305. return awsutil.Prettify(s)
  28306. }
  28307. // GoString returns the string representation
  28308. func (s DeleteCustomerGatewayOutput) GoString() string {
  28309. return s.String()
  28310. }
  28311. // Contains the parameters for DeleteDhcpOptions.
  28312. type DeleteDhcpOptionsInput struct {
  28313. _ struct{} `type:"structure"`
  28314. // The ID of the DHCP options set.
  28315. //
  28316. // DhcpOptionsId is a required field
  28317. DhcpOptionsId *string `type:"string" required:"true"`
  28318. // Checks whether you have the required permissions for the action, without
  28319. // actually making the request, and provides an error response. If you have
  28320. // the required permissions, the error response is DryRunOperation. Otherwise,
  28321. // it is UnauthorizedOperation.
  28322. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28323. }
  28324. // String returns the string representation
  28325. func (s DeleteDhcpOptionsInput) String() string {
  28326. return awsutil.Prettify(s)
  28327. }
  28328. // GoString returns the string representation
  28329. func (s DeleteDhcpOptionsInput) GoString() string {
  28330. return s.String()
  28331. }
  28332. // Validate inspects the fields of the type to determine if they are valid.
  28333. func (s *DeleteDhcpOptionsInput) Validate() error {
  28334. invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
  28335. if s.DhcpOptionsId == nil {
  28336. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  28337. }
  28338. if invalidParams.Len() > 0 {
  28339. return invalidParams
  28340. }
  28341. return nil
  28342. }
  28343. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  28344. func (s *DeleteDhcpOptionsInput) SetDhcpOptionsId(v string) *DeleteDhcpOptionsInput {
  28345. s.DhcpOptionsId = &v
  28346. return s
  28347. }
  28348. // SetDryRun sets the DryRun field's value.
  28349. func (s *DeleteDhcpOptionsInput) SetDryRun(v bool) *DeleteDhcpOptionsInput {
  28350. s.DryRun = &v
  28351. return s
  28352. }
  28353. type DeleteDhcpOptionsOutput struct {
  28354. _ struct{} `type:"structure"`
  28355. }
  28356. // String returns the string representation
  28357. func (s DeleteDhcpOptionsOutput) String() string {
  28358. return awsutil.Prettify(s)
  28359. }
  28360. // GoString returns the string representation
  28361. func (s DeleteDhcpOptionsOutput) GoString() string {
  28362. return s.String()
  28363. }
  28364. type DeleteEgressOnlyInternetGatewayInput struct {
  28365. _ struct{} `type:"structure"`
  28366. // Checks whether you have the required permissions for the action, without
  28367. // actually making the request, and provides an error response. If you have
  28368. // the required permissions, the error response is DryRunOperation. Otherwise,
  28369. // it is UnauthorizedOperation.
  28370. DryRun *bool `type:"boolean"`
  28371. // The ID of the egress-only Internet gateway.
  28372. //
  28373. // EgressOnlyInternetGatewayId is a required field
  28374. EgressOnlyInternetGatewayId *string `type:"string" required:"true"`
  28375. }
  28376. // String returns the string representation
  28377. func (s DeleteEgressOnlyInternetGatewayInput) String() string {
  28378. return awsutil.Prettify(s)
  28379. }
  28380. // GoString returns the string representation
  28381. func (s DeleteEgressOnlyInternetGatewayInput) GoString() string {
  28382. return s.String()
  28383. }
  28384. // Validate inspects the fields of the type to determine if they are valid.
  28385. func (s *DeleteEgressOnlyInternetGatewayInput) Validate() error {
  28386. invalidParams := request.ErrInvalidParams{Context: "DeleteEgressOnlyInternetGatewayInput"}
  28387. if s.EgressOnlyInternetGatewayId == nil {
  28388. invalidParams.Add(request.NewErrParamRequired("EgressOnlyInternetGatewayId"))
  28389. }
  28390. if invalidParams.Len() > 0 {
  28391. return invalidParams
  28392. }
  28393. return nil
  28394. }
  28395. // SetDryRun sets the DryRun field's value.
  28396. func (s *DeleteEgressOnlyInternetGatewayInput) SetDryRun(v bool) *DeleteEgressOnlyInternetGatewayInput {
  28397. s.DryRun = &v
  28398. return s
  28399. }
  28400. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  28401. func (s *DeleteEgressOnlyInternetGatewayInput) SetEgressOnlyInternetGatewayId(v string) *DeleteEgressOnlyInternetGatewayInput {
  28402. s.EgressOnlyInternetGatewayId = &v
  28403. return s
  28404. }
  28405. type DeleteEgressOnlyInternetGatewayOutput struct {
  28406. _ struct{} `type:"structure"`
  28407. // Returns true if the request succeeds; otherwise, it returns an error.
  28408. ReturnCode *bool `locationName:"returnCode" type:"boolean"`
  28409. }
  28410. // String returns the string representation
  28411. func (s DeleteEgressOnlyInternetGatewayOutput) String() string {
  28412. return awsutil.Prettify(s)
  28413. }
  28414. // GoString returns the string representation
  28415. func (s DeleteEgressOnlyInternetGatewayOutput) GoString() string {
  28416. return s.String()
  28417. }
  28418. // SetReturnCode sets the ReturnCode field's value.
  28419. func (s *DeleteEgressOnlyInternetGatewayOutput) SetReturnCode(v bool) *DeleteEgressOnlyInternetGatewayOutput {
  28420. s.ReturnCode = &v
  28421. return s
  28422. }
  28423. // Describes an EC2 Fleet error.
  28424. type DeleteFleetError struct {
  28425. _ struct{} `type:"structure"`
  28426. // The error code.
  28427. Code *string `locationName:"code" type:"string" enum:"DeleteFleetErrorCode"`
  28428. // The description for the error code.
  28429. Message *string `locationName:"message" type:"string"`
  28430. }
  28431. // String returns the string representation
  28432. func (s DeleteFleetError) String() string {
  28433. return awsutil.Prettify(s)
  28434. }
  28435. // GoString returns the string representation
  28436. func (s DeleteFleetError) GoString() string {
  28437. return s.String()
  28438. }
  28439. // SetCode sets the Code field's value.
  28440. func (s *DeleteFleetError) SetCode(v string) *DeleteFleetError {
  28441. s.Code = &v
  28442. return s
  28443. }
  28444. // SetMessage sets the Message field's value.
  28445. func (s *DeleteFleetError) SetMessage(v string) *DeleteFleetError {
  28446. s.Message = &v
  28447. return s
  28448. }
  28449. // Describes an EC2 Fleet that was not successfully deleted.
  28450. type DeleteFleetErrorItem struct {
  28451. _ struct{} `type:"structure"`
  28452. // The error.
  28453. Error *DeleteFleetError `locationName:"error" type:"structure"`
  28454. // The ID of the EC2 Fleet.
  28455. FleetId *string `locationName:"fleetId" type:"string"`
  28456. }
  28457. // String returns the string representation
  28458. func (s DeleteFleetErrorItem) String() string {
  28459. return awsutil.Prettify(s)
  28460. }
  28461. // GoString returns the string representation
  28462. func (s DeleteFleetErrorItem) GoString() string {
  28463. return s.String()
  28464. }
  28465. // SetError sets the Error field's value.
  28466. func (s *DeleteFleetErrorItem) SetError(v *DeleteFleetError) *DeleteFleetErrorItem {
  28467. s.Error = v
  28468. return s
  28469. }
  28470. // SetFleetId sets the FleetId field's value.
  28471. func (s *DeleteFleetErrorItem) SetFleetId(v string) *DeleteFleetErrorItem {
  28472. s.FleetId = &v
  28473. return s
  28474. }
  28475. // Describes an EC2 Fleet that was successfully deleted.
  28476. type DeleteFleetSuccessItem struct {
  28477. _ struct{} `type:"structure"`
  28478. // The current state of the EC2 Fleet.
  28479. CurrentFleetState *string `locationName:"currentFleetState" type:"string" enum:"FleetStateCode"`
  28480. // The ID of the EC2 Fleet.
  28481. FleetId *string `locationName:"fleetId" type:"string"`
  28482. // The previous state of the EC2 Fleet.
  28483. PreviousFleetState *string `locationName:"previousFleetState" type:"string" enum:"FleetStateCode"`
  28484. }
  28485. // String returns the string representation
  28486. func (s DeleteFleetSuccessItem) String() string {
  28487. return awsutil.Prettify(s)
  28488. }
  28489. // GoString returns the string representation
  28490. func (s DeleteFleetSuccessItem) GoString() string {
  28491. return s.String()
  28492. }
  28493. // SetCurrentFleetState sets the CurrentFleetState field's value.
  28494. func (s *DeleteFleetSuccessItem) SetCurrentFleetState(v string) *DeleteFleetSuccessItem {
  28495. s.CurrentFleetState = &v
  28496. return s
  28497. }
  28498. // SetFleetId sets the FleetId field's value.
  28499. func (s *DeleteFleetSuccessItem) SetFleetId(v string) *DeleteFleetSuccessItem {
  28500. s.FleetId = &v
  28501. return s
  28502. }
  28503. // SetPreviousFleetState sets the PreviousFleetState field's value.
  28504. func (s *DeleteFleetSuccessItem) SetPreviousFleetState(v string) *DeleteFleetSuccessItem {
  28505. s.PreviousFleetState = &v
  28506. return s
  28507. }
  28508. type DeleteFleetsInput struct {
  28509. _ struct{} `type:"structure"`
  28510. // Checks whether you have the required permissions for the action, without
  28511. // actually making the request, and provides an error response. If you have
  28512. // the required permissions, the error response is DryRunOperation. Otherwise,
  28513. // it is UnauthorizedOperation.
  28514. DryRun *bool `type:"boolean"`
  28515. // The IDs of the EC2 Fleets.
  28516. //
  28517. // FleetIds is a required field
  28518. FleetIds []*string `locationName:"FleetId" type:"list" required:"true"`
  28519. // Indicates whether to terminate instances for an EC2 Fleet if it is deleted
  28520. // successfully.
  28521. //
  28522. // TerminateInstances is a required field
  28523. TerminateInstances *bool `type:"boolean" required:"true"`
  28524. }
  28525. // String returns the string representation
  28526. func (s DeleteFleetsInput) String() string {
  28527. return awsutil.Prettify(s)
  28528. }
  28529. // GoString returns the string representation
  28530. func (s DeleteFleetsInput) GoString() string {
  28531. return s.String()
  28532. }
  28533. // Validate inspects the fields of the type to determine if they are valid.
  28534. func (s *DeleteFleetsInput) Validate() error {
  28535. invalidParams := request.ErrInvalidParams{Context: "DeleteFleetsInput"}
  28536. if s.FleetIds == nil {
  28537. invalidParams.Add(request.NewErrParamRequired("FleetIds"))
  28538. }
  28539. if s.TerminateInstances == nil {
  28540. invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
  28541. }
  28542. if invalidParams.Len() > 0 {
  28543. return invalidParams
  28544. }
  28545. return nil
  28546. }
  28547. // SetDryRun sets the DryRun field's value.
  28548. func (s *DeleteFleetsInput) SetDryRun(v bool) *DeleteFleetsInput {
  28549. s.DryRun = &v
  28550. return s
  28551. }
  28552. // SetFleetIds sets the FleetIds field's value.
  28553. func (s *DeleteFleetsInput) SetFleetIds(v []*string) *DeleteFleetsInput {
  28554. s.FleetIds = v
  28555. return s
  28556. }
  28557. // SetTerminateInstances sets the TerminateInstances field's value.
  28558. func (s *DeleteFleetsInput) SetTerminateInstances(v bool) *DeleteFleetsInput {
  28559. s.TerminateInstances = &v
  28560. return s
  28561. }
  28562. type DeleteFleetsOutput struct {
  28563. _ struct{} `type:"structure"`
  28564. // Information about the EC2 Fleets that are successfully deleted.
  28565. SuccessfulFleetDeletions []*DeleteFleetSuccessItem `locationName:"successfulFleetDeletionSet" locationNameList:"item" type:"list"`
  28566. // Information about the EC2 Fleets that are not successfully deleted.
  28567. UnsuccessfulFleetDeletions []*DeleteFleetErrorItem `locationName:"unsuccessfulFleetDeletionSet" locationNameList:"item" type:"list"`
  28568. }
  28569. // String returns the string representation
  28570. func (s DeleteFleetsOutput) String() string {
  28571. return awsutil.Prettify(s)
  28572. }
  28573. // GoString returns the string representation
  28574. func (s DeleteFleetsOutput) GoString() string {
  28575. return s.String()
  28576. }
  28577. // SetSuccessfulFleetDeletions sets the SuccessfulFleetDeletions field's value.
  28578. func (s *DeleteFleetsOutput) SetSuccessfulFleetDeletions(v []*DeleteFleetSuccessItem) *DeleteFleetsOutput {
  28579. s.SuccessfulFleetDeletions = v
  28580. return s
  28581. }
  28582. // SetUnsuccessfulFleetDeletions sets the UnsuccessfulFleetDeletions field's value.
  28583. func (s *DeleteFleetsOutput) SetUnsuccessfulFleetDeletions(v []*DeleteFleetErrorItem) *DeleteFleetsOutput {
  28584. s.UnsuccessfulFleetDeletions = v
  28585. return s
  28586. }
  28587. // Contains the parameters for DeleteFlowLogs.
  28588. type DeleteFlowLogsInput struct {
  28589. _ struct{} `type:"structure"`
  28590. // One or more flow log IDs.
  28591. //
  28592. // FlowLogIds is a required field
  28593. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
  28594. }
  28595. // String returns the string representation
  28596. func (s DeleteFlowLogsInput) String() string {
  28597. return awsutil.Prettify(s)
  28598. }
  28599. // GoString returns the string representation
  28600. func (s DeleteFlowLogsInput) GoString() string {
  28601. return s.String()
  28602. }
  28603. // Validate inspects the fields of the type to determine if they are valid.
  28604. func (s *DeleteFlowLogsInput) Validate() error {
  28605. invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
  28606. if s.FlowLogIds == nil {
  28607. invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
  28608. }
  28609. if invalidParams.Len() > 0 {
  28610. return invalidParams
  28611. }
  28612. return nil
  28613. }
  28614. // SetFlowLogIds sets the FlowLogIds field's value.
  28615. func (s *DeleteFlowLogsInput) SetFlowLogIds(v []*string) *DeleteFlowLogsInput {
  28616. s.FlowLogIds = v
  28617. return s
  28618. }
  28619. // Contains the output of DeleteFlowLogs.
  28620. type DeleteFlowLogsOutput struct {
  28621. _ struct{} `type:"structure"`
  28622. // Information about the flow logs that could not be deleted successfully.
  28623. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  28624. }
  28625. // String returns the string representation
  28626. func (s DeleteFlowLogsOutput) String() string {
  28627. return awsutil.Prettify(s)
  28628. }
  28629. // GoString returns the string representation
  28630. func (s DeleteFlowLogsOutput) GoString() string {
  28631. return s.String()
  28632. }
  28633. // SetUnsuccessful sets the Unsuccessful field's value.
  28634. func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlowLogsOutput {
  28635. s.Unsuccessful = v
  28636. return s
  28637. }
  28638. type DeleteFpgaImageInput struct {
  28639. _ struct{} `type:"structure"`
  28640. // Checks whether you have the required permissions for the action, without
  28641. // actually making the request, and provides an error response. If you have
  28642. // the required permissions, the error response is DryRunOperation. Otherwise,
  28643. // it is UnauthorizedOperation.
  28644. DryRun *bool `type:"boolean"`
  28645. // The ID of the AFI.
  28646. //
  28647. // FpgaImageId is a required field
  28648. FpgaImageId *string `type:"string" required:"true"`
  28649. }
  28650. // String returns the string representation
  28651. func (s DeleteFpgaImageInput) String() string {
  28652. return awsutil.Prettify(s)
  28653. }
  28654. // GoString returns the string representation
  28655. func (s DeleteFpgaImageInput) GoString() string {
  28656. return s.String()
  28657. }
  28658. // Validate inspects the fields of the type to determine if they are valid.
  28659. func (s *DeleteFpgaImageInput) Validate() error {
  28660. invalidParams := request.ErrInvalidParams{Context: "DeleteFpgaImageInput"}
  28661. if s.FpgaImageId == nil {
  28662. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  28663. }
  28664. if invalidParams.Len() > 0 {
  28665. return invalidParams
  28666. }
  28667. return nil
  28668. }
  28669. // SetDryRun sets the DryRun field's value.
  28670. func (s *DeleteFpgaImageInput) SetDryRun(v bool) *DeleteFpgaImageInput {
  28671. s.DryRun = &v
  28672. return s
  28673. }
  28674. // SetFpgaImageId sets the FpgaImageId field's value.
  28675. func (s *DeleteFpgaImageInput) SetFpgaImageId(v string) *DeleteFpgaImageInput {
  28676. s.FpgaImageId = &v
  28677. return s
  28678. }
  28679. type DeleteFpgaImageOutput struct {
  28680. _ struct{} `type:"structure"`
  28681. // Is true if the request succeeds, and an error otherwise.
  28682. Return *bool `locationName:"return" type:"boolean"`
  28683. }
  28684. // String returns the string representation
  28685. func (s DeleteFpgaImageOutput) String() string {
  28686. return awsutil.Prettify(s)
  28687. }
  28688. // GoString returns the string representation
  28689. func (s DeleteFpgaImageOutput) GoString() string {
  28690. return s.String()
  28691. }
  28692. // SetReturn sets the Return field's value.
  28693. func (s *DeleteFpgaImageOutput) SetReturn(v bool) *DeleteFpgaImageOutput {
  28694. s.Return = &v
  28695. return s
  28696. }
  28697. // Contains the parameters for DeleteInternetGateway.
  28698. type DeleteInternetGatewayInput struct {
  28699. _ struct{} `type:"structure"`
  28700. // Checks whether you have the required permissions for the action, without
  28701. // actually making the request, and provides an error response. If you have
  28702. // the required permissions, the error response is DryRunOperation. Otherwise,
  28703. // it is UnauthorizedOperation.
  28704. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28705. // The ID of the Internet gateway.
  28706. //
  28707. // InternetGatewayId is a required field
  28708. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  28709. }
  28710. // String returns the string representation
  28711. func (s DeleteInternetGatewayInput) String() string {
  28712. return awsutil.Prettify(s)
  28713. }
  28714. // GoString returns the string representation
  28715. func (s DeleteInternetGatewayInput) GoString() string {
  28716. return s.String()
  28717. }
  28718. // Validate inspects the fields of the type to determine if they are valid.
  28719. func (s *DeleteInternetGatewayInput) Validate() error {
  28720. invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
  28721. if s.InternetGatewayId == nil {
  28722. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  28723. }
  28724. if invalidParams.Len() > 0 {
  28725. return invalidParams
  28726. }
  28727. return nil
  28728. }
  28729. // SetDryRun sets the DryRun field's value.
  28730. func (s *DeleteInternetGatewayInput) SetDryRun(v bool) *DeleteInternetGatewayInput {
  28731. s.DryRun = &v
  28732. return s
  28733. }
  28734. // SetInternetGatewayId sets the InternetGatewayId field's value.
  28735. func (s *DeleteInternetGatewayInput) SetInternetGatewayId(v string) *DeleteInternetGatewayInput {
  28736. s.InternetGatewayId = &v
  28737. return s
  28738. }
  28739. type DeleteInternetGatewayOutput struct {
  28740. _ struct{} `type:"structure"`
  28741. }
  28742. // String returns the string representation
  28743. func (s DeleteInternetGatewayOutput) String() string {
  28744. return awsutil.Prettify(s)
  28745. }
  28746. // GoString returns the string representation
  28747. func (s DeleteInternetGatewayOutput) GoString() string {
  28748. return s.String()
  28749. }
  28750. // Contains the parameters for DeleteKeyPair.
  28751. type DeleteKeyPairInput struct {
  28752. _ struct{} `type:"structure"`
  28753. // Checks whether you have the required permissions for the action, without
  28754. // actually making the request, and provides an error response. If you have
  28755. // the required permissions, the error response is DryRunOperation. Otherwise,
  28756. // it is UnauthorizedOperation.
  28757. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28758. // The name of the key pair.
  28759. //
  28760. // KeyName is a required field
  28761. KeyName *string `type:"string" required:"true"`
  28762. }
  28763. // String returns the string representation
  28764. func (s DeleteKeyPairInput) String() string {
  28765. return awsutil.Prettify(s)
  28766. }
  28767. // GoString returns the string representation
  28768. func (s DeleteKeyPairInput) GoString() string {
  28769. return s.String()
  28770. }
  28771. // Validate inspects the fields of the type to determine if they are valid.
  28772. func (s *DeleteKeyPairInput) Validate() error {
  28773. invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
  28774. if s.KeyName == nil {
  28775. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  28776. }
  28777. if invalidParams.Len() > 0 {
  28778. return invalidParams
  28779. }
  28780. return nil
  28781. }
  28782. // SetDryRun sets the DryRun field's value.
  28783. func (s *DeleteKeyPairInput) SetDryRun(v bool) *DeleteKeyPairInput {
  28784. s.DryRun = &v
  28785. return s
  28786. }
  28787. // SetKeyName sets the KeyName field's value.
  28788. func (s *DeleteKeyPairInput) SetKeyName(v string) *DeleteKeyPairInput {
  28789. s.KeyName = &v
  28790. return s
  28791. }
  28792. type DeleteKeyPairOutput struct {
  28793. _ struct{} `type:"structure"`
  28794. }
  28795. // String returns the string representation
  28796. func (s DeleteKeyPairOutput) String() string {
  28797. return awsutil.Prettify(s)
  28798. }
  28799. // GoString returns the string representation
  28800. func (s DeleteKeyPairOutput) GoString() string {
  28801. return s.String()
  28802. }
  28803. type DeleteLaunchTemplateInput struct {
  28804. _ struct{} `type:"structure"`
  28805. // Checks whether you have the required permissions for the action, without
  28806. // actually making the request, and provides an error response. If you have
  28807. // the required permissions, the error response is DryRunOperation. Otherwise,
  28808. // it is UnauthorizedOperation.
  28809. DryRun *bool `type:"boolean"`
  28810. // The ID of the launch template. You must specify either the launch template
  28811. // ID or launch template name in the request.
  28812. LaunchTemplateId *string `type:"string"`
  28813. // The name of the launch template. You must specify either the launch template
  28814. // ID or launch template name in the request.
  28815. LaunchTemplateName *string `min:"3" type:"string"`
  28816. }
  28817. // String returns the string representation
  28818. func (s DeleteLaunchTemplateInput) String() string {
  28819. return awsutil.Prettify(s)
  28820. }
  28821. // GoString returns the string representation
  28822. func (s DeleteLaunchTemplateInput) GoString() string {
  28823. return s.String()
  28824. }
  28825. // Validate inspects the fields of the type to determine if they are valid.
  28826. func (s *DeleteLaunchTemplateInput) Validate() error {
  28827. invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateInput"}
  28828. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  28829. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  28830. }
  28831. if invalidParams.Len() > 0 {
  28832. return invalidParams
  28833. }
  28834. return nil
  28835. }
  28836. // SetDryRun sets the DryRun field's value.
  28837. func (s *DeleteLaunchTemplateInput) SetDryRun(v bool) *DeleteLaunchTemplateInput {
  28838. s.DryRun = &v
  28839. return s
  28840. }
  28841. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  28842. func (s *DeleteLaunchTemplateInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateInput {
  28843. s.LaunchTemplateId = &v
  28844. return s
  28845. }
  28846. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  28847. func (s *DeleteLaunchTemplateInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateInput {
  28848. s.LaunchTemplateName = &v
  28849. return s
  28850. }
  28851. type DeleteLaunchTemplateOutput struct {
  28852. _ struct{} `type:"structure"`
  28853. // Information about the launch template.
  28854. LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
  28855. }
  28856. // String returns the string representation
  28857. func (s DeleteLaunchTemplateOutput) String() string {
  28858. return awsutil.Prettify(s)
  28859. }
  28860. // GoString returns the string representation
  28861. func (s DeleteLaunchTemplateOutput) GoString() string {
  28862. return s.String()
  28863. }
  28864. // SetLaunchTemplate sets the LaunchTemplate field's value.
  28865. func (s *DeleteLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *DeleteLaunchTemplateOutput {
  28866. s.LaunchTemplate = v
  28867. return s
  28868. }
  28869. type DeleteLaunchTemplateVersionsInput struct {
  28870. _ struct{} `type:"structure"`
  28871. // Checks whether you have the required permissions for the action, without
  28872. // actually making the request, and provides an error response. If you have
  28873. // the required permissions, the error response is DryRunOperation. Otherwise,
  28874. // it is UnauthorizedOperation.
  28875. DryRun *bool `type:"boolean"`
  28876. // The ID of the launch template. You must specify either the launch template
  28877. // ID or launch template name in the request.
  28878. LaunchTemplateId *string `type:"string"`
  28879. // The name of the launch template. You must specify either the launch template
  28880. // ID or launch template name in the request.
  28881. LaunchTemplateName *string `min:"3" type:"string"`
  28882. // The version numbers of one or more launch template versions to delete.
  28883. //
  28884. // Versions is a required field
  28885. Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list" required:"true"`
  28886. }
  28887. // String returns the string representation
  28888. func (s DeleteLaunchTemplateVersionsInput) String() string {
  28889. return awsutil.Prettify(s)
  28890. }
  28891. // GoString returns the string representation
  28892. func (s DeleteLaunchTemplateVersionsInput) GoString() string {
  28893. return s.String()
  28894. }
  28895. // Validate inspects the fields of the type to determine if they are valid.
  28896. func (s *DeleteLaunchTemplateVersionsInput) Validate() error {
  28897. invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateVersionsInput"}
  28898. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  28899. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  28900. }
  28901. if s.Versions == nil {
  28902. invalidParams.Add(request.NewErrParamRequired("Versions"))
  28903. }
  28904. if invalidParams.Len() > 0 {
  28905. return invalidParams
  28906. }
  28907. return nil
  28908. }
  28909. // SetDryRun sets the DryRun field's value.
  28910. func (s *DeleteLaunchTemplateVersionsInput) SetDryRun(v bool) *DeleteLaunchTemplateVersionsInput {
  28911. s.DryRun = &v
  28912. return s
  28913. }
  28914. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  28915. func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsInput {
  28916. s.LaunchTemplateId = &v
  28917. return s
  28918. }
  28919. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  28920. func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsInput {
  28921. s.LaunchTemplateName = &v
  28922. return s
  28923. }
  28924. // SetVersions sets the Versions field's value.
  28925. func (s *DeleteLaunchTemplateVersionsInput) SetVersions(v []*string) *DeleteLaunchTemplateVersionsInput {
  28926. s.Versions = v
  28927. return s
  28928. }
  28929. type DeleteLaunchTemplateVersionsOutput struct {
  28930. _ struct{} `type:"structure"`
  28931. // Information about the launch template versions that were successfully deleted.
  28932. SuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseSuccessItem `locationName:"successfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
  28933. // Information about the launch template versions that could not be deleted.
  28934. UnsuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseErrorItem `locationName:"unsuccessfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
  28935. }
  28936. // String returns the string representation
  28937. func (s DeleteLaunchTemplateVersionsOutput) String() string {
  28938. return awsutil.Prettify(s)
  28939. }
  28940. // GoString returns the string representation
  28941. func (s DeleteLaunchTemplateVersionsOutput) GoString() string {
  28942. return s.String()
  28943. }
  28944. // SetSuccessfullyDeletedLaunchTemplateVersions sets the SuccessfullyDeletedLaunchTemplateVersions field's value.
  28945. func (s *DeleteLaunchTemplateVersionsOutput) SetSuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseSuccessItem) *DeleteLaunchTemplateVersionsOutput {
  28946. s.SuccessfullyDeletedLaunchTemplateVersions = v
  28947. return s
  28948. }
  28949. // SetUnsuccessfullyDeletedLaunchTemplateVersions sets the UnsuccessfullyDeletedLaunchTemplateVersions field's value.
  28950. func (s *DeleteLaunchTemplateVersionsOutput) SetUnsuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseErrorItem) *DeleteLaunchTemplateVersionsOutput {
  28951. s.UnsuccessfullyDeletedLaunchTemplateVersions = v
  28952. return s
  28953. }
  28954. // Describes a launch template version that could not be deleted.
  28955. type DeleteLaunchTemplateVersionsResponseErrorItem struct {
  28956. _ struct{} `type:"structure"`
  28957. // The ID of the launch template.
  28958. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  28959. // The name of the launch template.
  28960. LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
  28961. // Information about the error.
  28962. ResponseError *ResponseError `locationName:"responseError" type:"structure"`
  28963. // The version number of the launch template.
  28964. VersionNumber *int64 `locationName:"versionNumber" type:"long"`
  28965. }
  28966. // String returns the string representation
  28967. func (s DeleteLaunchTemplateVersionsResponseErrorItem) String() string {
  28968. return awsutil.Prettify(s)
  28969. }
  28970. // GoString returns the string representation
  28971. func (s DeleteLaunchTemplateVersionsResponseErrorItem) GoString() string {
  28972. return s.String()
  28973. }
  28974. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  28975. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
  28976. s.LaunchTemplateId = &v
  28977. return s
  28978. }
  28979. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  28980. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
  28981. s.LaunchTemplateName = &v
  28982. return s
  28983. }
  28984. // SetResponseError sets the ResponseError field's value.
  28985. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetResponseError(v *ResponseError) *DeleteLaunchTemplateVersionsResponseErrorItem {
  28986. s.ResponseError = v
  28987. return s
  28988. }
  28989. // SetVersionNumber sets the VersionNumber field's value.
  28990. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseErrorItem {
  28991. s.VersionNumber = &v
  28992. return s
  28993. }
  28994. // Describes a launch template version that was successfully deleted.
  28995. type DeleteLaunchTemplateVersionsResponseSuccessItem struct {
  28996. _ struct{} `type:"structure"`
  28997. // The ID of the launch template.
  28998. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  28999. // The name of the launch template.
  29000. LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
  29001. // The version number of the launch template.
  29002. VersionNumber *int64 `locationName:"versionNumber" type:"long"`
  29003. }
  29004. // String returns the string representation
  29005. func (s DeleteLaunchTemplateVersionsResponseSuccessItem) String() string {
  29006. return awsutil.Prettify(s)
  29007. }
  29008. // GoString returns the string representation
  29009. func (s DeleteLaunchTemplateVersionsResponseSuccessItem) GoString() string {
  29010. return s.String()
  29011. }
  29012. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  29013. func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
  29014. s.LaunchTemplateId = &v
  29015. return s
  29016. }
  29017. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  29018. func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
  29019. s.LaunchTemplateName = &v
  29020. return s
  29021. }
  29022. // SetVersionNumber sets the VersionNumber field's value.
  29023. func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseSuccessItem {
  29024. s.VersionNumber = &v
  29025. return s
  29026. }
  29027. // Contains the parameters for DeleteNatGateway.
  29028. type DeleteNatGatewayInput struct {
  29029. _ struct{} `type:"structure"`
  29030. // The ID of the NAT gateway.
  29031. //
  29032. // NatGatewayId is a required field
  29033. NatGatewayId *string `type:"string" required:"true"`
  29034. }
  29035. // String returns the string representation
  29036. func (s DeleteNatGatewayInput) String() string {
  29037. return awsutil.Prettify(s)
  29038. }
  29039. // GoString returns the string representation
  29040. func (s DeleteNatGatewayInput) GoString() string {
  29041. return s.String()
  29042. }
  29043. // Validate inspects the fields of the type to determine if they are valid.
  29044. func (s *DeleteNatGatewayInput) Validate() error {
  29045. invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
  29046. if s.NatGatewayId == nil {
  29047. invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
  29048. }
  29049. if invalidParams.Len() > 0 {
  29050. return invalidParams
  29051. }
  29052. return nil
  29053. }
  29054. // SetNatGatewayId sets the NatGatewayId field's value.
  29055. func (s *DeleteNatGatewayInput) SetNatGatewayId(v string) *DeleteNatGatewayInput {
  29056. s.NatGatewayId = &v
  29057. return s
  29058. }
  29059. // Contains the output of DeleteNatGateway.
  29060. type DeleteNatGatewayOutput struct {
  29061. _ struct{} `type:"structure"`
  29062. // The ID of the NAT gateway.
  29063. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  29064. }
  29065. // String returns the string representation
  29066. func (s DeleteNatGatewayOutput) String() string {
  29067. return awsutil.Prettify(s)
  29068. }
  29069. // GoString returns the string representation
  29070. func (s DeleteNatGatewayOutput) GoString() string {
  29071. return s.String()
  29072. }
  29073. // SetNatGatewayId sets the NatGatewayId field's value.
  29074. func (s *DeleteNatGatewayOutput) SetNatGatewayId(v string) *DeleteNatGatewayOutput {
  29075. s.NatGatewayId = &v
  29076. return s
  29077. }
  29078. // Contains the parameters for DeleteNetworkAclEntry.
  29079. type DeleteNetworkAclEntryInput struct {
  29080. _ struct{} `type:"structure"`
  29081. // Checks whether you have the required permissions for the action, without
  29082. // actually making the request, and provides an error response. If you have
  29083. // the required permissions, the error response is DryRunOperation. Otherwise,
  29084. // it is UnauthorizedOperation.
  29085. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29086. // Indicates whether the rule is an egress rule.
  29087. //
  29088. // Egress is a required field
  29089. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  29090. // The ID of the network ACL.
  29091. //
  29092. // NetworkAclId is a required field
  29093. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  29094. // The rule number of the entry to delete.
  29095. //
  29096. // RuleNumber is a required field
  29097. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  29098. }
  29099. // String returns the string representation
  29100. func (s DeleteNetworkAclEntryInput) String() string {
  29101. return awsutil.Prettify(s)
  29102. }
  29103. // GoString returns the string representation
  29104. func (s DeleteNetworkAclEntryInput) GoString() string {
  29105. return s.String()
  29106. }
  29107. // Validate inspects the fields of the type to determine if they are valid.
  29108. func (s *DeleteNetworkAclEntryInput) Validate() error {
  29109. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
  29110. if s.Egress == nil {
  29111. invalidParams.Add(request.NewErrParamRequired("Egress"))
  29112. }
  29113. if s.NetworkAclId == nil {
  29114. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  29115. }
  29116. if s.RuleNumber == nil {
  29117. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  29118. }
  29119. if invalidParams.Len() > 0 {
  29120. return invalidParams
  29121. }
  29122. return nil
  29123. }
  29124. // SetDryRun sets the DryRun field's value.
  29125. func (s *DeleteNetworkAclEntryInput) SetDryRun(v bool) *DeleteNetworkAclEntryInput {
  29126. s.DryRun = &v
  29127. return s
  29128. }
  29129. // SetEgress sets the Egress field's value.
  29130. func (s *DeleteNetworkAclEntryInput) SetEgress(v bool) *DeleteNetworkAclEntryInput {
  29131. s.Egress = &v
  29132. return s
  29133. }
  29134. // SetNetworkAclId sets the NetworkAclId field's value.
  29135. func (s *DeleteNetworkAclEntryInput) SetNetworkAclId(v string) *DeleteNetworkAclEntryInput {
  29136. s.NetworkAclId = &v
  29137. return s
  29138. }
  29139. // SetRuleNumber sets the RuleNumber field's value.
  29140. func (s *DeleteNetworkAclEntryInput) SetRuleNumber(v int64) *DeleteNetworkAclEntryInput {
  29141. s.RuleNumber = &v
  29142. return s
  29143. }
  29144. type DeleteNetworkAclEntryOutput struct {
  29145. _ struct{} `type:"structure"`
  29146. }
  29147. // String returns the string representation
  29148. func (s DeleteNetworkAclEntryOutput) String() string {
  29149. return awsutil.Prettify(s)
  29150. }
  29151. // GoString returns the string representation
  29152. func (s DeleteNetworkAclEntryOutput) GoString() string {
  29153. return s.String()
  29154. }
  29155. // Contains the parameters for DeleteNetworkAcl.
  29156. type DeleteNetworkAclInput struct {
  29157. _ struct{} `type:"structure"`
  29158. // Checks whether you have the required permissions for the action, without
  29159. // actually making the request, and provides an error response. If you have
  29160. // the required permissions, the error response is DryRunOperation. Otherwise,
  29161. // it is UnauthorizedOperation.
  29162. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29163. // The ID of the network ACL.
  29164. //
  29165. // NetworkAclId is a required field
  29166. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  29167. }
  29168. // String returns the string representation
  29169. func (s DeleteNetworkAclInput) String() string {
  29170. return awsutil.Prettify(s)
  29171. }
  29172. // GoString returns the string representation
  29173. func (s DeleteNetworkAclInput) GoString() string {
  29174. return s.String()
  29175. }
  29176. // Validate inspects the fields of the type to determine if they are valid.
  29177. func (s *DeleteNetworkAclInput) Validate() error {
  29178. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
  29179. if s.NetworkAclId == nil {
  29180. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  29181. }
  29182. if invalidParams.Len() > 0 {
  29183. return invalidParams
  29184. }
  29185. return nil
  29186. }
  29187. // SetDryRun sets the DryRun field's value.
  29188. func (s *DeleteNetworkAclInput) SetDryRun(v bool) *DeleteNetworkAclInput {
  29189. s.DryRun = &v
  29190. return s
  29191. }
  29192. // SetNetworkAclId sets the NetworkAclId field's value.
  29193. func (s *DeleteNetworkAclInput) SetNetworkAclId(v string) *DeleteNetworkAclInput {
  29194. s.NetworkAclId = &v
  29195. return s
  29196. }
  29197. type DeleteNetworkAclOutput struct {
  29198. _ struct{} `type:"structure"`
  29199. }
  29200. // String returns the string representation
  29201. func (s DeleteNetworkAclOutput) String() string {
  29202. return awsutil.Prettify(s)
  29203. }
  29204. // GoString returns the string representation
  29205. func (s DeleteNetworkAclOutput) GoString() string {
  29206. return s.String()
  29207. }
  29208. // Contains the parameters for DeleteNetworkInterface.
  29209. type DeleteNetworkInterfaceInput struct {
  29210. _ struct{} `type:"structure"`
  29211. // Checks whether you have the required permissions for the action, without
  29212. // actually making the request, and provides an error response. If you have
  29213. // the required permissions, the error response is DryRunOperation. Otherwise,
  29214. // it is UnauthorizedOperation.
  29215. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29216. // The ID of the network interface.
  29217. //
  29218. // NetworkInterfaceId is a required field
  29219. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  29220. }
  29221. // String returns the string representation
  29222. func (s DeleteNetworkInterfaceInput) String() string {
  29223. return awsutil.Prettify(s)
  29224. }
  29225. // GoString returns the string representation
  29226. func (s DeleteNetworkInterfaceInput) GoString() string {
  29227. return s.String()
  29228. }
  29229. // Validate inspects the fields of the type to determine if they are valid.
  29230. func (s *DeleteNetworkInterfaceInput) Validate() error {
  29231. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
  29232. if s.NetworkInterfaceId == nil {
  29233. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  29234. }
  29235. if invalidParams.Len() > 0 {
  29236. return invalidParams
  29237. }
  29238. return nil
  29239. }
  29240. // SetDryRun sets the DryRun field's value.
  29241. func (s *DeleteNetworkInterfaceInput) SetDryRun(v bool) *DeleteNetworkInterfaceInput {
  29242. s.DryRun = &v
  29243. return s
  29244. }
  29245. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  29246. func (s *DeleteNetworkInterfaceInput) SetNetworkInterfaceId(v string) *DeleteNetworkInterfaceInput {
  29247. s.NetworkInterfaceId = &v
  29248. return s
  29249. }
  29250. type DeleteNetworkInterfaceOutput struct {
  29251. _ struct{} `type:"structure"`
  29252. }
  29253. // String returns the string representation
  29254. func (s DeleteNetworkInterfaceOutput) String() string {
  29255. return awsutil.Prettify(s)
  29256. }
  29257. // GoString returns the string representation
  29258. func (s DeleteNetworkInterfaceOutput) GoString() string {
  29259. return s.String()
  29260. }
  29261. // Contains the parameters for DeleteNetworkInterfacePermission.
  29262. type DeleteNetworkInterfacePermissionInput struct {
  29263. _ struct{} `type:"structure"`
  29264. // Checks whether you have the required permissions for the action, without
  29265. // actually making the request, and provides an error response. If you have
  29266. // the required permissions, the error response is DryRunOperation. Otherwise,
  29267. // it is UnauthorizedOperation.
  29268. DryRun *bool `type:"boolean"`
  29269. // Specify true to remove the permission even if the network interface is attached
  29270. // to an instance.
  29271. Force *bool `type:"boolean"`
  29272. // The ID of the network interface permission.
  29273. //
  29274. // NetworkInterfacePermissionId is a required field
  29275. NetworkInterfacePermissionId *string `type:"string" required:"true"`
  29276. }
  29277. // String returns the string representation
  29278. func (s DeleteNetworkInterfacePermissionInput) String() string {
  29279. return awsutil.Prettify(s)
  29280. }
  29281. // GoString returns the string representation
  29282. func (s DeleteNetworkInterfacePermissionInput) GoString() string {
  29283. return s.String()
  29284. }
  29285. // Validate inspects the fields of the type to determine if they are valid.
  29286. func (s *DeleteNetworkInterfacePermissionInput) Validate() error {
  29287. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfacePermissionInput"}
  29288. if s.NetworkInterfacePermissionId == nil {
  29289. invalidParams.Add(request.NewErrParamRequired("NetworkInterfacePermissionId"))
  29290. }
  29291. if invalidParams.Len() > 0 {
  29292. return invalidParams
  29293. }
  29294. return nil
  29295. }
  29296. // SetDryRun sets the DryRun field's value.
  29297. func (s *DeleteNetworkInterfacePermissionInput) SetDryRun(v bool) *DeleteNetworkInterfacePermissionInput {
  29298. s.DryRun = &v
  29299. return s
  29300. }
  29301. // SetForce sets the Force field's value.
  29302. func (s *DeleteNetworkInterfacePermissionInput) SetForce(v bool) *DeleteNetworkInterfacePermissionInput {
  29303. s.Force = &v
  29304. return s
  29305. }
  29306. // SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
  29307. func (s *DeleteNetworkInterfacePermissionInput) SetNetworkInterfacePermissionId(v string) *DeleteNetworkInterfacePermissionInput {
  29308. s.NetworkInterfacePermissionId = &v
  29309. return s
  29310. }
  29311. // Contains the output for DeleteNetworkInterfacePermission.
  29312. type DeleteNetworkInterfacePermissionOutput struct {
  29313. _ struct{} `type:"structure"`
  29314. // Returns true if the request succeeds, otherwise returns an error.
  29315. Return *bool `locationName:"return" type:"boolean"`
  29316. }
  29317. // String returns the string representation
  29318. func (s DeleteNetworkInterfacePermissionOutput) String() string {
  29319. return awsutil.Prettify(s)
  29320. }
  29321. // GoString returns the string representation
  29322. func (s DeleteNetworkInterfacePermissionOutput) GoString() string {
  29323. return s.String()
  29324. }
  29325. // SetReturn sets the Return field's value.
  29326. func (s *DeleteNetworkInterfacePermissionOutput) SetReturn(v bool) *DeleteNetworkInterfacePermissionOutput {
  29327. s.Return = &v
  29328. return s
  29329. }
  29330. // Contains the parameters for DeletePlacementGroup.
  29331. type DeletePlacementGroupInput struct {
  29332. _ struct{} `type:"structure"`
  29333. // Checks whether you have the required permissions for the action, without
  29334. // actually making the request, and provides an error response. If you have
  29335. // the required permissions, the error response is DryRunOperation. Otherwise,
  29336. // it is UnauthorizedOperation.
  29337. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29338. // The name of the placement group.
  29339. //
  29340. // GroupName is a required field
  29341. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  29342. }
  29343. // String returns the string representation
  29344. func (s DeletePlacementGroupInput) String() string {
  29345. return awsutil.Prettify(s)
  29346. }
  29347. // GoString returns the string representation
  29348. func (s DeletePlacementGroupInput) GoString() string {
  29349. return s.String()
  29350. }
  29351. // Validate inspects the fields of the type to determine if they are valid.
  29352. func (s *DeletePlacementGroupInput) Validate() error {
  29353. invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
  29354. if s.GroupName == nil {
  29355. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  29356. }
  29357. if invalidParams.Len() > 0 {
  29358. return invalidParams
  29359. }
  29360. return nil
  29361. }
  29362. // SetDryRun sets the DryRun field's value.
  29363. func (s *DeletePlacementGroupInput) SetDryRun(v bool) *DeletePlacementGroupInput {
  29364. s.DryRun = &v
  29365. return s
  29366. }
  29367. // SetGroupName sets the GroupName field's value.
  29368. func (s *DeletePlacementGroupInput) SetGroupName(v string) *DeletePlacementGroupInput {
  29369. s.GroupName = &v
  29370. return s
  29371. }
  29372. type DeletePlacementGroupOutput struct {
  29373. _ struct{} `type:"structure"`
  29374. }
  29375. // String returns the string representation
  29376. func (s DeletePlacementGroupOutput) String() string {
  29377. return awsutil.Prettify(s)
  29378. }
  29379. // GoString returns the string representation
  29380. func (s DeletePlacementGroupOutput) GoString() string {
  29381. return s.String()
  29382. }
  29383. // Contains the parameters for DeleteRoute.
  29384. type DeleteRouteInput struct {
  29385. _ struct{} `type:"structure"`
  29386. // The IPv4 CIDR range for the route. The value you specify must match the CIDR
  29387. // for the route exactly.
  29388. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  29389. // The IPv6 CIDR range for the route. The value you specify must match the CIDR
  29390. // for the route exactly.
  29391. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  29392. // Checks whether you have the required permissions for the action, without
  29393. // actually making the request, and provides an error response. If you have
  29394. // the required permissions, the error response is DryRunOperation. Otherwise,
  29395. // it is UnauthorizedOperation.
  29396. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29397. // The ID of the route table.
  29398. //
  29399. // RouteTableId is a required field
  29400. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  29401. }
  29402. // String returns the string representation
  29403. func (s DeleteRouteInput) String() string {
  29404. return awsutil.Prettify(s)
  29405. }
  29406. // GoString returns the string representation
  29407. func (s DeleteRouteInput) GoString() string {
  29408. return s.String()
  29409. }
  29410. // Validate inspects the fields of the type to determine if they are valid.
  29411. func (s *DeleteRouteInput) Validate() error {
  29412. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
  29413. if s.RouteTableId == nil {
  29414. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  29415. }
  29416. if invalidParams.Len() > 0 {
  29417. return invalidParams
  29418. }
  29419. return nil
  29420. }
  29421. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  29422. func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput {
  29423. s.DestinationCidrBlock = &v
  29424. return s
  29425. }
  29426. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  29427. func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInput {
  29428. s.DestinationIpv6CidrBlock = &v
  29429. return s
  29430. }
  29431. // SetDryRun sets the DryRun field's value.
  29432. func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput {
  29433. s.DryRun = &v
  29434. return s
  29435. }
  29436. // SetRouteTableId sets the RouteTableId field's value.
  29437. func (s *DeleteRouteInput) SetRouteTableId(v string) *DeleteRouteInput {
  29438. s.RouteTableId = &v
  29439. return s
  29440. }
  29441. type DeleteRouteOutput struct {
  29442. _ struct{} `type:"structure"`
  29443. }
  29444. // String returns the string representation
  29445. func (s DeleteRouteOutput) String() string {
  29446. return awsutil.Prettify(s)
  29447. }
  29448. // GoString returns the string representation
  29449. func (s DeleteRouteOutput) GoString() string {
  29450. return s.String()
  29451. }
  29452. // Contains the parameters for DeleteRouteTable.
  29453. type DeleteRouteTableInput struct {
  29454. _ struct{} `type:"structure"`
  29455. // Checks whether you have the required permissions for the action, without
  29456. // actually making the request, and provides an error response. If you have
  29457. // the required permissions, the error response is DryRunOperation. Otherwise,
  29458. // it is UnauthorizedOperation.
  29459. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29460. // The ID of the route table.
  29461. //
  29462. // RouteTableId is a required field
  29463. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  29464. }
  29465. // String returns the string representation
  29466. func (s DeleteRouteTableInput) String() string {
  29467. return awsutil.Prettify(s)
  29468. }
  29469. // GoString returns the string representation
  29470. func (s DeleteRouteTableInput) GoString() string {
  29471. return s.String()
  29472. }
  29473. // Validate inspects the fields of the type to determine if they are valid.
  29474. func (s *DeleteRouteTableInput) Validate() error {
  29475. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
  29476. if s.RouteTableId == nil {
  29477. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  29478. }
  29479. if invalidParams.Len() > 0 {
  29480. return invalidParams
  29481. }
  29482. return nil
  29483. }
  29484. // SetDryRun sets the DryRun field's value.
  29485. func (s *DeleteRouteTableInput) SetDryRun(v bool) *DeleteRouteTableInput {
  29486. s.DryRun = &v
  29487. return s
  29488. }
  29489. // SetRouteTableId sets the RouteTableId field's value.
  29490. func (s *DeleteRouteTableInput) SetRouteTableId(v string) *DeleteRouteTableInput {
  29491. s.RouteTableId = &v
  29492. return s
  29493. }
  29494. type DeleteRouteTableOutput struct {
  29495. _ struct{} `type:"structure"`
  29496. }
  29497. // String returns the string representation
  29498. func (s DeleteRouteTableOutput) String() string {
  29499. return awsutil.Prettify(s)
  29500. }
  29501. // GoString returns the string representation
  29502. func (s DeleteRouteTableOutput) GoString() string {
  29503. return s.String()
  29504. }
  29505. // Contains the parameters for DeleteSecurityGroup.
  29506. type DeleteSecurityGroupInput struct {
  29507. _ struct{} `type:"structure"`
  29508. // Checks whether you have the required permissions for the action, without
  29509. // actually making the request, and provides an error response. If you have
  29510. // the required permissions, the error response is DryRunOperation. Otherwise,
  29511. // it is UnauthorizedOperation.
  29512. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29513. // The ID of the security group. Required for a nondefault VPC.
  29514. GroupId *string `type:"string"`
  29515. // [EC2-Classic, default VPC] The name of the security group. You can specify
  29516. // either the security group name or the security group ID.
  29517. GroupName *string `type:"string"`
  29518. }
  29519. // String returns the string representation
  29520. func (s DeleteSecurityGroupInput) String() string {
  29521. return awsutil.Prettify(s)
  29522. }
  29523. // GoString returns the string representation
  29524. func (s DeleteSecurityGroupInput) GoString() string {
  29525. return s.String()
  29526. }
  29527. // SetDryRun sets the DryRun field's value.
  29528. func (s *DeleteSecurityGroupInput) SetDryRun(v bool) *DeleteSecurityGroupInput {
  29529. s.DryRun = &v
  29530. return s
  29531. }
  29532. // SetGroupId sets the GroupId field's value.
  29533. func (s *DeleteSecurityGroupInput) SetGroupId(v string) *DeleteSecurityGroupInput {
  29534. s.GroupId = &v
  29535. return s
  29536. }
  29537. // SetGroupName sets the GroupName field's value.
  29538. func (s *DeleteSecurityGroupInput) SetGroupName(v string) *DeleteSecurityGroupInput {
  29539. s.GroupName = &v
  29540. return s
  29541. }
  29542. type DeleteSecurityGroupOutput struct {
  29543. _ struct{} `type:"structure"`
  29544. }
  29545. // String returns the string representation
  29546. func (s DeleteSecurityGroupOutput) String() string {
  29547. return awsutil.Prettify(s)
  29548. }
  29549. // GoString returns the string representation
  29550. func (s DeleteSecurityGroupOutput) GoString() string {
  29551. return s.String()
  29552. }
  29553. // Contains the parameters for DeleteSnapshot.
  29554. type DeleteSnapshotInput struct {
  29555. _ struct{} `type:"structure"`
  29556. // Checks whether you have the required permissions for the action, without
  29557. // actually making the request, and provides an error response. If you have
  29558. // the required permissions, the error response is DryRunOperation. Otherwise,
  29559. // it is UnauthorizedOperation.
  29560. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29561. // The ID of the EBS snapshot.
  29562. //
  29563. // SnapshotId is a required field
  29564. SnapshotId *string `type:"string" required:"true"`
  29565. }
  29566. // String returns the string representation
  29567. func (s DeleteSnapshotInput) String() string {
  29568. return awsutil.Prettify(s)
  29569. }
  29570. // GoString returns the string representation
  29571. func (s DeleteSnapshotInput) GoString() string {
  29572. return s.String()
  29573. }
  29574. // Validate inspects the fields of the type to determine if they are valid.
  29575. func (s *DeleteSnapshotInput) Validate() error {
  29576. invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
  29577. if s.SnapshotId == nil {
  29578. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  29579. }
  29580. if invalidParams.Len() > 0 {
  29581. return invalidParams
  29582. }
  29583. return nil
  29584. }
  29585. // SetDryRun sets the DryRun field's value.
  29586. func (s *DeleteSnapshotInput) SetDryRun(v bool) *DeleteSnapshotInput {
  29587. s.DryRun = &v
  29588. return s
  29589. }
  29590. // SetSnapshotId sets the SnapshotId field's value.
  29591. func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
  29592. s.SnapshotId = &v
  29593. return s
  29594. }
  29595. type DeleteSnapshotOutput struct {
  29596. _ struct{} `type:"structure"`
  29597. }
  29598. // String returns the string representation
  29599. func (s DeleteSnapshotOutput) String() string {
  29600. return awsutil.Prettify(s)
  29601. }
  29602. // GoString returns the string representation
  29603. func (s DeleteSnapshotOutput) GoString() string {
  29604. return s.String()
  29605. }
  29606. // Contains the parameters for DeleteSpotDatafeedSubscription.
  29607. type DeleteSpotDatafeedSubscriptionInput struct {
  29608. _ struct{} `type:"structure"`
  29609. // Checks whether you have the required permissions for the action, without
  29610. // actually making the request, and provides an error response. If you have
  29611. // the required permissions, the error response is DryRunOperation. Otherwise,
  29612. // it is UnauthorizedOperation.
  29613. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29614. }
  29615. // String returns the string representation
  29616. func (s DeleteSpotDatafeedSubscriptionInput) String() string {
  29617. return awsutil.Prettify(s)
  29618. }
  29619. // GoString returns the string representation
  29620. func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
  29621. return s.String()
  29622. }
  29623. // SetDryRun sets the DryRun field's value.
  29624. func (s *DeleteSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DeleteSpotDatafeedSubscriptionInput {
  29625. s.DryRun = &v
  29626. return s
  29627. }
  29628. type DeleteSpotDatafeedSubscriptionOutput struct {
  29629. _ struct{} `type:"structure"`
  29630. }
  29631. // String returns the string representation
  29632. func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
  29633. return awsutil.Prettify(s)
  29634. }
  29635. // GoString returns the string representation
  29636. func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
  29637. return s.String()
  29638. }
  29639. // Contains the parameters for DeleteSubnet.
  29640. type DeleteSubnetInput struct {
  29641. _ struct{} `type:"structure"`
  29642. // Checks whether you have the required permissions for the action, without
  29643. // actually making the request, and provides an error response. If you have
  29644. // the required permissions, the error response is DryRunOperation. Otherwise,
  29645. // it is UnauthorizedOperation.
  29646. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29647. // The ID of the subnet.
  29648. //
  29649. // SubnetId is a required field
  29650. SubnetId *string `type:"string" required:"true"`
  29651. }
  29652. // String returns the string representation
  29653. func (s DeleteSubnetInput) String() string {
  29654. return awsutil.Prettify(s)
  29655. }
  29656. // GoString returns the string representation
  29657. func (s DeleteSubnetInput) GoString() string {
  29658. return s.String()
  29659. }
  29660. // Validate inspects the fields of the type to determine if they are valid.
  29661. func (s *DeleteSubnetInput) Validate() error {
  29662. invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
  29663. if s.SubnetId == nil {
  29664. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  29665. }
  29666. if invalidParams.Len() > 0 {
  29667. return invalidParams
  29668. }
  29669. return nil
  29670. }
  29671. // SetDryRun sets the DryRun field's value.
  29672. func (s *DeleteSubnetInput) SetDryRun(v bool) *DeleteSubnetInput {
  29673. s.DryRun = &v
  29674. return s
  29675. }
  29676. // SetSubnetId sets the SubnetId field's value.
  29677. func (s *DeleteSubnetInput) SetSubnetId(v string) *DeleteSubnetInput {
  29678. s.SubnetId = &v
  29679. return s
  29680. }
  29681. type DeleteSubnetOutput struct {
  29682. _ struct{} `type:"structure"`
  29683. }
  29684. // String returns the string representation
  29685. func (s DeleteSubnetOutput) String() string {
  29686. return awsutil.Prettify(s)
  29687. }
  29688. // GoString returns the string representation
  29689. func (s DeleteSubnetOutput) GoString() string {
  29690. return s.String()
  29691. }
  29692. // Contains the parameters for DeleteTags.
  29693. type DeleteTagsInput struct {
  29694. _ struct{} `type:"structure"`
  29695. // Checks whether you have the required permissions for the action, without
  29696. // actually making the request, and provides an error response. If you have
  29697. // the required permissions, the error response is DryRunOperation. Otherwise,
  29698. // it is UnauthorizedOperation.
  29699. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29700. // The IDs of one or more resources.
  29701. //
  29702. // Resources is a required field
  29703. Resources []*string `locationName:"resourceId" type:"list" required:"true"`
  29704. // One or more tags to delete. Specify a tag key and an optional tag value to
  29705. // delete specific tags. If you specify a tag key without a tag value, we delete
  29706. // any tag with this key regardless of its value. If you specify a tag key with
  29707. // an empty string as the tag value, we delete the tag only if its value is
  29708. // an empty string.
  29709. //
  29710. // If you omit this parameter, we delete all user-defined tags for the specified
  29711. // resources. We do not delete AWS-generated tags (tags that have the aws: prefix).
  29712. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  29713. }
  29714. // String returns the string representation
  29715. func (s DeleteTagsInput) String() string {
  29716. return awsutil.Prettify(s)
  29717. }
  29718. // GoString returns the string representation
  29719. func (s DeleteTagsInput) GoString() string {
  29720. return s.String()
  29721. }
  29722. // Validate inspects the fields of the type to determine if they are valid.
  29723. func (s *DeleteTagsInput) Validate() error {
  29724. invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
  29725. if s.Resources == nil {
  29726. invalidParams.Add(request.NewErrParamRequired("Resources"))
  29727. }
  29728. if invalidParams.Len() > 0 {
  29729. return invalidParams
  29730. }
  29731. return nil
  29732. }
  29733. // SetDryRun sets the DryRun field's value.
  29734. func (s *DeleteTagsInput) SetDryRun(v bool) *DeleteTagsInput {
  29735. s.DryRun = &v
  29736. return s
  29737. }
  29738. // SetResources sets the Resources field's value.
  29739. func (s *DeleteTagsInput) SetResources(v []*string) *DeleteTagsInput {
  29740. s.Resources = v
  29741. return s
  29742. }
  29743. // SetTags sets the Tags field's value.
  29744. func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
  29745. s.Tags = v
  29746. return s
  29747. }
  29748. type DeleteTagsOutput struct {
  29749. _ struct{} `type:"structure"`
  29750. }
  29751. // String returns the string representation
  29752. func (s DeleteTagsOutput) String() string {
  29753. return awsutil.Prettify(s)
  29754. }
  29755. // GoString returns the string representation
  29756. func (s DeleteTagsOutput) GoString() string {
  29757. return s.String()
  29758. }
  29759. // Contains the parameters for DeleteVolume.
  29760. type DeleteVolumeInput struct {
  29761. _ struct{} `type:"structure"`
  29762. // Checks whether you have the required permissions for the action, without
  29763. // actually making the request, and provides an error response. If you have
  29764. // the required permissions, the error response is DryRunOperation. Otherwise,
  29765. // it is UnauthorizedOperation.
  29766. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29767. // The ID of the volume.
  29768. //
  29769. // VolumeId is a required field
  29770. VolumeId *string `type:"string" required:"true"`
  29771. }
  29772. // String returns the string representation
  29773. func (s DeleteVolumeInput) String() string {
  29774. return awsutil.Prettify(s)
  29775. }
  29776. // GoString returns the string representation
  29777. func (s DeleteVolumeInput) GoString() string {
  29778. return s.String()
  29779. }
  29780. // Validate inspects the fields of the type to determine if they are valid.
  29781. func (s *DeleteVolumeInput) Validate() error {
  29782. invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
  29783. if s.VolumeId == nil {
  29784. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  29785. }
  29786. if invalidParams.Len() > 0 {
  29787. return invalidParams
  29788. }
  29789. return nil
  29790. }
  29791. // SetDryRun sets the DryRun field's value.
  29792. func (s *DeleteVolumeInput) SetDryRun(v bool) *DeleteVolumeInput {
  29793. s.DryRun = &v
  29794. return s
  29795. }
  29796. // SetVolumeId sets the VolumeId field's value.
  29797. func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
  29798. s.VolumeId = &v
  29799. return s
  29800. }
  29801. type DeleteVolumeOutput struct {
  29802. _ struct{} `type:"structure"`
  29803. }
  29804. // String returns the string representation
  29805. func (s DeleteVolumeOutput) String() string {
  29806. return awsutil.Prettify(s)
  29807. }
  29808. // GoString returns the string representation
  29809. func (s DeleteVolumeOutput) GoString() string {
  29810. return s.String()
  29811. }
  29812. type DeleteVpcEndpointConnectionNotificationsInput struct {
  29813. _ struct{} `type:"structure"`
  29814. // One or more notification IDs.
  29815. //
  29816. // ConnectionNotificationIds is a required field
  29817. ConnectionNotificationIds []*string `locationName:"ConnectionNotificationId" locationNameList:"item" type:"list" required:"true"`
  29818. // Checks whether you have the required permissions for the action, without
  29819. // actually making the request, and provides an error response. If you have
  29820. // the required permissions, the error response is DryRunOperation. Otherwise,
  29821. // it is UnauthorizedOperation.
  29822. DryRun *bool `type:"boolean"`
  29823. }
  29824. // String returns the string representation
  29825. func (s DeleteVpcEndpointConnectionNotificationsInput) String() string {
  29826. return awsutil.Prettify(s)
  29827. }
  29828. // GoString returns the string representation
  29829. func (s DeleteVpcEndpointConnectionNotificationsInput) GoString() string {
  29830. return s.String()
  29831. }
  29832. // Validate inspects the fields of the type to determine if they are valid.
  29833. func (s *DeleteVpcEndpointConnectionNotificationsInput) Validate() error {
  29834. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointConnectionNotificationsInput"}
  29835. if s.ConnectionNotificationIds == nil {
  29836. invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationIds"))
  29837. }
  29838. if invalidParams.Len() > 0 {
  29839. return invalidParams
  29840. }
  29841. return nil
  29842. }
  29843. // SetConnectionNotificationIds sets the ConnectionNotificationIds field's value.
  29844. func (s *DeleteVpcEndpointConnectionNotificationsInput) SetConnectionNotificationIds(v []*string) *DeleteVpcEndpointConnectionNotificationsInput {
  29845. s.ConnectionNotificationIds = v
  29846. return s
  29847. }
  29848. // SetDryRun sets the DryRun field's value.
  29849. func (s *DeleteVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DeleteVpcEndpointConnectionNotificationsInput {
  29850. s.DryRun = &v
  29851. return s
  29852. }
  29853. type DeleteVpcEndpointConnectionNotificationsOutput struct {
  29854. _ struct{} `type:"structure"`
  29855. // Information about the notifications that could not be deleted successfully.
  29856. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  29857. }
  29858. // String returns the string representation
  29859. func (s DeleteVpcEndpointConnectionNotificationsOutput) String() string {
  29860. return awsutil.Prettify(s)
  29861. }
  29862. // GoString returns the string representation
  29863. func (s DeleteVpcEndpointConnectionNotificationsOutput) GoString() string {
  29864. return s.String()
  29865. }
  29866. // SetUnsuccessful sets the Unsuccessful field's value.
  29867. func (s *DeleteVpcEndpointConnectionNotificationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointConnectionNotificationsOutput {
  29868. s.Unsuccessful = v
  29869. return s
  29870. }
  29871. type DeleteVpcEndpointServiceConfigurationsInput struct {
  29872. _ struct{} `type:"structure"`
  29873. // Checks whether you have the required permissions for the action, without
  29874. // actually making the request, and provides an error response. If you have
  29875. // the required permissions, the error response is DryRunOperation. Otherwise,
  29876. // it is UnauthorizedOperation.
  29877. DryRun *bool `type:"boolean"`
  29878. // The IDs of one or more services.
  29879. //
  29880. // ServiceIds is a required field
  29881. ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list" required:"true"`
  29882. }
  29883. // String returns the string representation
  29884. func (s DeleteVpcEndpointServiceConfigurationsInput) String() string {
  29885. return awsutil.Prettify(s)
  29886. }
  29887. // GoString returns the string representation
  29888. func (s DeleteVpcEndpointServiceConfigurationsInput) GoString() string {
  29889. return s.String()
  29890. }
  29891. // Validate inspects the fields of the type to determine if they are valid.
  29892. func (s *DeleteVpcEndpointServiceConfigurationsInput) Validate() error {
  29893. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointServiceConfigurationsInput"}
  29894. if s.ServiceIds == nil {
  29895. invalidParams.Add(request.NewErrParamRequired("ServiceIds"))
  29896. }
  29897. if invalidParams.Len() > 0 {
  29898. return invalidParams
  29899. }
  29900. return nil
  29901. }
  29902. // SetDryRun sets the DryRun field's value.
  29903. func (s *DeleteVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DeleteVpcEndpointServiceConfigurationsInput {
  29904. s.DryRun = &v
  29905. return s
  29906. }
  29907. // SetServiceIds sets the ServiceIds field's value.
  29908. func (s *DeleteVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DeleteVpcEndpointServiceConfigurationsInput {
  29909. s.ServiceIds = v
  29910. return s
  29911. }
  29912. type DeleteVpcEndpointServiceConfigurationsOutput struct {
  29913. _ struct{} `type:"structure"`
  29914. // Information about the service configurations that were not deleted, if applicable.
  29915. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  29916. }
  29917. // String returns the string representation
  29918. func (s DeleteVpcEndpointServiceConfigurationsOutput) String() string {
  29919. return awsutil.Prettify(s)
  29920. }
  29921. // GoString returns the string representation
  29922. func (s DeleteVpcEndpointServiceConfigurationsOutput) GoString() string {
  29923. return s.String()
  29924. }
  29925. // SetUnsuccessful sets the Unsuccessful field's value.
  29926. func (s *DeleteVpcEndpointServiceConfigurationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointServiceConfigurationsOutput {
  29927. s.Unsuccessful = v
  29928. return s
  29929. }
  29930. // Contains the parameters for DeleteVpcEndpoints.
  29931. type DeleteVpcEndpointsInput struct {
  29932. _ struct{} `type:"structure"`
  29933. // Checks whether you have the required permissions for the action, without
  29934. // actually making the request, and provides an error response. If you have
  29935. // the required permissions, the error response is DryRunOperation. Otherwise,
  29936. // it is UnauthorizedOperation.
  29937. DryRun *bool `type:"boolean"`
  29938. // One or more VPC endpoint IDs.
  29939. //
  29940. // VpcEndpointIds is a required field
  29941. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  29942. }
  29943. // String returns the string representation
  29944. func (s DeleteVpcEndpointsInput) String() string {
  29945. return awsutil.Prettify(s)
  29946. }
  29947. // GoString returns the string representation
  29948. func (s DeleteVpcEndpointsInput) GoString() string {
  29949. return s.String()
  29950. }
  29951. // Validate inspects the fields of the type to determine if they are valid.
  29952. func (s *DeleteVpcEndpointsInput) Validate() error {
  29953. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
  29954. if s.VpcEndpointIds == nil {
  29955. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  29956. }
  29957. if invalidParams.Len() > 0 {
  29958. return invalidParams
  29959. }
  29960. return nil
  29961. }
  29962. // SetDryRun sets the DryRun field's value.
  29963. func (s *DeleteVpcEndpointsInput) SetDryRun(v bool) *DeleteVpcEndpointsInput {
  29964. s.DryRun = &v
  29965. return s
  29966. }
  29967. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  29968. func (s *DeleteVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DeleteVpcEndpointsInput {
  29969. s.VpcEndpointIds = v
  29970. return s
  29971. }
  29972. // Contains the output of DeleteVpcEndpoints.
  29973. type DeleteVpcEndpointsOutput struct {
  29974. _ struct{} `type:"structure"`
  29975. // Information about the VPC endpoints that were not successfully deleted.
  29976. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  29977. }
  29978. // String returns the string representation
  29979. func (s DeleteVpcEndpointsOutput) String() string {
  29980. return awsutil.Prettify(s)
  29981. }
  29982. // GoString returns the string representation
  29983. func (s DeleteVpcEndpointsOutput) GoString() string {
  29984. return s.String()
  29985. }
  29986. // SetUnsuccessful sets the Unsuccessful field's value.
  29987. func (s *DeleteVpcEndpointsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointsOutput {
  29988. s.Unsuccessful = v
  29989. return s
  29990. }
  29991. // Contains the parameters for DeleteVpc.
  29992. type DeleteVpcInput struct {
  29993. _ struct{} `type:"structure"`
  29994. // Checks whether you have the required permissions for the action, without
  29995. // actually making the request, and provides an error response. If you have
  29996. // the required permissions, the error response is DryRunOperation. Otherwise,
  29997. // it is UnauthorizedOperation.
  29998. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29999. // The ID of the VPC.
  30000. //
  30001. // VpcId is a required field
  30002. VpcId *string `type:"string" required:"true"`
  30003. }
  30004. // String returns the string representation
  30005. func (s DeleteVpcInput) String() string {
  30006. return awsutil.Prettify(s)
  30007. }
  30008. // GoString returns the string representation
  30009. func (s DeleteVpcInput) GoString() string {
  30010. return s.String()
  30011. }
  30012. // Validate inspects the fields of the type to determine if they are valid.
  30013. func (s *DeleteVpcInput) Validate() error {
  30014. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
  30015. if s.VpcId == nil {
  30016. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  30017. }
  30018. if invalidParams.Len() > 0 {
  30019. return invalidParams
  30020. }
  30021. return nil
  30022. }
  30023. // SetDryRun sets the DryRun field's value.
  30024. func (s *DeleteVpcInput) SetDryRun(v bool) *DeleteVpcInput {
  30025. s.DryRun = &v
  30026. return s
  30027. }
  30028. // SetVpcId sets the VpcId field's value.
  30029. func (s *DeleteVpcInput) SetVpcId(v string) *DeleteVpcInput {
  30030. s.VpcId = &v
  30031. return s
  30032. }
  30033. type DeleteVpcOutput struct {
  30034. _ struct{} `type:"structure"`
  30035. }
  30036. // String returns the string representation
  30037. func (s DeleteVpcOutput) String() string {
  30038. return awsutil.Prettify(s)
  30039. }
  30040. // GoString returns the string representation
  30041. func (s DeleteVpcOutput) GoString() string {
  30042. return s.String()
  30043. }
  30044. // Contains the parameters for DeleteVpcPeeringConnection.
  30045. type DeleteVpcPeeringConnectionInput struct {
  30046. _ struct{} `type:"structure"`
  30047. // Checks whether you have the required permissions for the action, without
  30048. // actually making the request, and provides an error response. If you have
  30049. // the required permissions, the error response is DryRunOperation. Otherwise,
  30050. // it is UnauthorizedOperation.
  30051. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30052. // The ID of the VPC peering connection.
  30053. //
  30054. // VpcPeeringConnectionId is a required field
  30055. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  30056. }
  30057. // String returns the string representation
  30058. func (s DeleteVpcPeeringConnectionInput) String() string {
  30059. return awsutil.Prettify(s)
  30060. }
  30061. // GoString returns the string representation
  30062. func (s DeleteVpcPeeringConnectionInput) GoString() string {
  30063. return s.String()
  30064. }
  30065. // Validate inspects the fields of the type to determine if they are valid.
  30066. func (s *DeleteVpcPeeringConnectionInput) Validate() error {
  30067. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
  30068. if s.VpcPeeringConnectionId == nil {
  30069. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  30070. }
  30071. if invalidParams.Len() > 0 {
  30072. return invalidParams
  30073. }
  30074. return nil
  30075. }
  30076. // SetDryRun sets the DryRun field's value.
  30077. func (s *DeleteVpcPeeringConnectionInput) SetDryRun(v bool) *DeleteVpcPeeringConnectionInput {
  30078. s.DryRun = &v
  30079. return s
  30080. }
  30081. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  30082. func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
  30083. s.VpcPeeringConnectionId = &v
  30084. return s
  30085. }
  30086. // Contains the output of DeleteVpcPeeringConnection.
  30087. type DeleteVpcPeeringConnectionOutput struct {
  30088. _ struct{} `type:"structure"`
  30089. // Returns true if the request succeeds; otherwise, it returns an error.
  30090. Return *bool `locationName:"return" type:"boolean"`
  30091. }
  30092. // String returns the string representation
  30093. func (s DeleteVpcPeeringConnectionOutput) String() string {
  30094. return awsutil.Prettify(s)
  30095. }
  30096. // GoString returns the string representation
  30097. func (s DeleteVpcPeeringConnectionOutput) GoString() string {
  30098. return s.String()
  30099. }
  30100. // SetReturn sets the Return field's value.
  30101. func (s *DeleteVpcPeeringConnectionOutput) SetReturn(v bool) *DeleteVpcPeeringConnectionOutput {
  30102. s.Return = &v
  30103. return s
  30104. }
  30105. // Contains the parameters for DeleteVpnConnection.
  30106. type DeleteVpnConnectionInput struct {
  30107. _ struct{} `type:"structure"`
  30108. // Checks whether you have the required permissions for the action, without
  30109. // actually making the request, and provides an error response. If you have
  30110. // the required permissions, the error response is DryRunOperation. Otherwise,
  30111. // it is UnauthorizedOperation.
  30112. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30113. // The ID of the VPN connection.
  30114. //
  30115. // VpnConnectionId is a required field
  30116. VpnConnectionId *string `type:"string" required:"true"`
  30117. }
  30118. // String returns the string representation
  30119. func (s DeleteVpnConnectionInput) String() string {
  30120. return awsutil.Prettify(s)
  30121. }
  30122. // GoString returns the string representation
  30123. func (s DeleteVpnConnectionInput) GoString() string {
  30124. return s.String()
  30125. }
  30126. // Validate inspects the fields of the type to determine if they are valid.
  30127. func (s *DeleteVpnConnectionInput) Validate() error {
  30128. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
  30129. if s.VpnConnectionId == nil {
  30130. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  30131. }
  30132. if invalidParams.Len() > 0 {
  30133. return invalidParams
  30134. }
  30135. return nil
  30136. }
  30137. // SetDryRun sets the DryRun field's value.
  30138. func (s *DeleteVpnConnectionInput) SetDryRun(v bool) *DeleteVpnConnectionInput {
  30139. s.DryRun = &v
  30140. return s
  30141. }
  30142. // SetVpnConnectionId sets the VpnConnectionId field's value.
  30143. func (s *DeleteVpnConnectionInput) SetVpnConnectionId(v string) *DeleteVpnConnectionInput {
  30144. s.VpnConnectionId = &v
  30145. return s
  30146. }
  30147. type DeleteVpnConnectionOutput struct {
  30148. _ struct{} `type:"structure"`
  30149. }
  30150. // String returns the string representation
  30151. func (s DeleteVpnConnectionOutput) String() string {
  30152. return awsutil.Prettify(s)
  30153. }
  30154. // GoString returns the string representation
  30155. func (s DeleteVpnConnectionOutput) GoString() string {
  30156. return s.String()
  30157. }
  30158. // Contains the parameters for DeleteVpnConnectionRoute.
  30159. type DeleteVpnConnectionRouteInput struct {
  30160. _ struct{} `type:"structure"`
  30161. // The CIDR block associated with the local subnet of the customer network.
  30162. //
  30163. // DestinationCidrBlock is a required field
  30164. DestinationCidrBlock *string `type:"string" required:"true"`
  30165. // The ID of the VPN connection.
  30166. //
  30167. // VpnConnectionId is a required field
  30168. VpnConnectionId *string `type:"string" required:"true"`
  30169. }
  30170. // String returns the string representation
  30171. func (s DeleteVpnConnectionRouteInput) String() string {
  30172. return awsutil.Prettify(s)
  30173. }
  30174. // GoString returns the string representation
  30175. func (s DeleteVpnConnectionRouteInput) GoString() string {
  30176. return s.String()
  30177. }
  30178. // Validate inspects the fields of the type to determine if they are valid.
  30179. func (s *DeleteVpnConnectionRouteInput) Validate() error {
  30180. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
  30181. if s.DestinationCidrBlock == nil {
  30182. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  30183. }
  30184. if s.VpnConnectionId == nil {
  30185. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  30186. }
  30187. if invalidParams.Len() > 0 {
  30188. return invalidParams
  30189. }
  30190. return nil
  30191. }
  30192. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  30193. func (s *DeleteVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *DeleteVpnConnectionRouteInput {
  30194. s.DestinationCidrBlock = &v
  30195. return s
  30196. }
  30197. // SetVpnConnectionId sets the VpnConnectionId field's value.
  30198. func (s *DeleteVpnConnectionRouteInput) SetVpnConnectionId(v string) *DeleteVpnConnectionRouteInput {
  30199. s.VpnConnectionId = &v
  30200. return s
  30201. }
  30202. type DeleteVpnConnectionRouteOutput struct {
  30203. _ struct{} `type:"structure"`
  30204. }
  30205. // String returns the string representation
  30206. func (s DeleteVpnConnectionRouteOutput) String() string {
  30207. return awsutil.Prettify(s)
  30208. }
  30209. // GoString returns the string representation
  30210. func (s DeleteVpnConnectionRouteOutput) GoString() string {
  30211. return s.String()
  30212. }
  30213. // Contains the parameters for DeleteVpnGateway.
  30214. type DeleteVpnGatewayInput struct {
  30215. _ struct{} `type:"structure"`
  30216. // Checks whether you have the required permissions for the action, without
  30217. // actually making the request, and provides an error response. If you have
  30218. // the required permissions, the error response is DryRunOperation. Otherwise,
  30219. // it is UnauthorizedOperation.
  30220. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30221. // The ID of the virtual private gateway.
  30222. //
  30223. // VpnGatewayId is a required field
  30224. VpnGatewayId *string `type:"string" required:"true"`
  30225. }
  30226. // String returns the string representation
  30227. func (s DeleteVpnGatewayInput) String() string {
  30228. return awsutil.Prettify(s)
  30229. }
  30230. // GoString returns the string representation
  30231. func (s DeleteVpnGatewayInput) GoString() string {
  30232. return s.String()
  30233. }
  30234. // Validate inspects the fields of the type to determine if they are valid.
  30235. func (s *DeleteVpnGatewayInput) Validate() error {
  30236. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
  30237. if s.VpnGatewayId == nil {
  30238. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  30239. }
  30240. if invalidParams.Len() > 0 {
  30241. return invalidParams
  30242. }
  30243. return nil
  30244. }
  30245. // SetDryRun sets the DryRun field's value.
  30246. func (s *DeleteVpnGatewayInput) SetDryRun(v bool) *DeleteVpnGatewayInput {
  30247. s.DryRun = &v
  30248. return s
  30249. }
  30250. // SetVpnGatewayId sets the VpnGatewayId field's value.
  30251. func (s *DeleteVpnGatewayInput) SetVpnGatewayId(v string) *DeleteVpnGatewayInput {
  30252. s.VpnGatewayId = &v
  30253. return s
  30254. }
  30255. type DeleteVpnGatewayOutput struct {
  30256. _ struct{} `type:"structure"`
  30257. }
  30258. // String returns the string representation
  30259. func (s DeleteVpnGatewayOutput) String() string {
  30260. return awsutil.Prettify(s)
  30261. }
  30262. // GoString returns the string representation
  30263. func (s DeleteVpnGatewayOutput) GoString() string {
  30264. return s.String()
  30265. }
  30266. // Contains the parameters for DeregisterImage.
  30267. type DeregisterImageInput struct {
  30268. _ struct{} `type:"structure"`
  30269. // Checks whether you have the required permissions for the action, without
  30270. // actually making the request, and provides an error response. If you have
  30271. // the required permissions, the error response is DryRunOperation. Otherwise,
  30272. // it is UnauthorizedOperation.
  30273. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30274. // The ID of the AMI.
  30275. //
  30276. // ImageId is a required field
  30277. ImageId *string `type:"string" required:"true"`
  30278. }
  30279. // String returns the string representation
  30280. func (s DeregisterImageInput) String() string {
  30281. return awsutil.Prettify(s)
  30282. }
  30283. // GoString returns the string representation
  30284. func (s DeregisterImageInput) GoString() string {
  30285. return s.String()
  30286. }
  30287. // Validate inspects the fields of the type to determine if they are valid.
  30288. func (s *DeregisterImageInput) Validate() error {
  30289. invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
  30290. if s.ImageId == nil {
  30291. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  30292. }
  30293. if invalidParams.Len() > 0 {
  30294. return invalidParams
  30295. }
  30296. return nil
  30297. }
  30298. // SetDryRun sets the DryRun field's value.
  30299. func (s *DeregisterImageInput) SetDryRun(v bool) *DeregisterImageInput {
  30300. s.DryRun = &v
  30301. return s
  30302. }
  30303. // SetImageId sets the ImageId field's value.
  30304. func (s *DeregisterImageInput) SetImageId(v string) *DeregisterImageInput {
  30305. s.ImageId = &v
  30306. return s
  30307. }
  30308. type DeregisterImageOutput struct {
  30309. _ struct{} `type:"structure"`
  30310. }
  30311. // String returns the string representation
  30312. func (s DeregisterImageOutput) String() string {
  30313. return awsutil.Prettify(s)
  30314. }
  30315. // GoString returns the string representation
  30316. func (s DeregisterImageOutput) GoString() string {
  30317. return s.String()
  30318. }
  30319. // Contains the parameters for DescribeAccountAttributes.
  30320. type DescribeAccountAttributesInput struct {
  30321. _ struct{} `type:"structure"`
  30322. // One or more account attribute names.
  30323. AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
  30324. // Checks whether you have the required permissions for the action, without
  30325. // actually making the request, and provides an error response. If you have
  30326. // the required permissions, the error response is DryRunOperation. Otherwise,
  30327. // it is UnauthorizedOperation.
  30328. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30329. }
  30330. // String returns the string representation
  30331. func (s DescribeAccountAttributesInput) String() string {
  30332. return awsutil.Prettify(s)
  30333. }
  30334. // GoString returns the string representation
  30335. func (s DescribeAccountAttributesInput) GoString() string {
  30336. return s.String()
  30337. }
  30338. // SetAttributeNames sets the AttributeNames field's value.
  30339. func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
  30340. s.AttributeNames = v
  30341. return s
  30342. }
  30343. // SetDryRun sets the DryRun field's value.
  30344. func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttributesInput {
  30345. s.DryRun = &v
  30346. return s
  30347. }
  30348. // Contains the output of DescribeAccountAttributes.
  30349. type DescribeAccountAttributesOutput struct {
  30350. _ struct{} `type:"structure"`
  30351. // Information about one or more account attributes.
  30352. AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
  30353. }
  30354. // String returns the string representation
  30355. func (s DescribeAccountAttributesOutput) String() string {
  30356. return awsutil.Prettify(s)
  30357. }
  30358. // GoString returns the string representation
  30359. func (s DescribeAccountAttributesOutput) GoString() string {
  30360. return s.String()
  30361. }
  30362. // SetAccountAttributes sets the AccountAttributes field's value.
  30363. func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
  30364. s.AccountAttributes = v
  30365. return s
  30366. }
  30367. // Contains the parameters for DescribeAddresses.
  30368. type DescribeAddressesInput struct {
  30369. _ struct{} `type:"structure"`
  30370. // [EC2-VPC] One or more allocation IDs.
  30371. //
  30372. // Default: Describes all your Elastic IP addresses.
  30373. AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
  30374. // Checks whether you have the required permissions for the action, without
  30375. // actually making the request, and provides an error response. If you have
  30376. // the required permissions, the error response is DryRunOperation. Otherwise,
  30377. // it is UnauthorizedOperation.
  30378. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30379. // One or more filters. Filter names and values are case-sensitive.
  30380. //
  30381. // * allocation-id - [EC2-VPC] The allocation ID for the address.
  30382. //
  30383. // * association-id - [EC2-VPC] The association ID for the address.
  30384. //
  30385. // * domain - Indicates whether the address is for use in EC2-Classic (standard)
  30386. // or in a VPC (vpc).
  30387. //
  30388. // * instance-id - The ID of the instance the address is associated with,
  30389. // if any.
  30390. //
  30391. // * network-interface-id - [EC2-VPC] The ID of the network interface that
  30392. // the address is associated with, if any.
  30393. //
  30394. // * network-interface-owner-id - The AWS account ID of the owner.
  30395. //
  30396. // * private-ip-address - [EC2-VPC] The private IP address associated with
  30397. // the Elastic IP address.
  30398. //
  30399. // * public-ip - The Elastic IP address.
  30400. //
  30401. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  30402. // Specify the key of the tag in the filter name and the value of the tag
  30403. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  30404. // for the filter name and X for the filter value.
  30405. //
  30406. // * tag-key - The key of a tag assigned to the resource. This filter is
  30407. // independent of the tag-value filter. For example, if you use both the
  30408. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  30409. // assigned both the tag key Purpose (regardless of what the tag's value
  30410. // is), and the tag value X (regardless of the tag's key). If you want to
  30411. // list only resources where Purpose is X, see the tag:key=value filter.
  30412. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30413. // [EC2-Classic] One or more Elastic IP addresses.
  30414. //
  30415. // Default: Describes all your Elastic IP addresses.
  30416. PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
  30417. }
  30418. // String returns the string representation
  30419. func (s DescribeAddressesInput) String() string {
  30420. return awsutil.Prettify(s)
  30421. }
  30422. // GoString returns the string representation
  30423. func (s DescribeAddressesInput) GoString() string {
  30424. return s.String()
  30425. }
  30426. // SetAllocationIds sets the AllocationIds field's value.
  30427. func (s *DescribeAddressesInput) SetAllocationIds(v []*string) *DescribeAddressesInput {
  30428. s.AllocationIds = v
  30429. return s
  30430. }
  30431. // SetDryRun sets the DryRun field's value.
  30432. func (s *DescribeAddressesInput) SetDryRun(v bool) *DescribeAddressesInput {
  30433. s.DryRun = &v
  30434. return s
  30435. }
  30436. // SetFilters sets the Filters field's value.
  30437. func (s *DescribeAddressesInput) SetFilters(v []*Filter) *DescribeAddressesInput {
  30438. s.Filters = v
  30439. return s
  30440. }
  30441. // SetPublicIps sets the PublicIps field's value.
  30442. func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInput {
  30443. s.PublicIps = v
  30444. return s
  30445. }
  30446. // Contains the output of DescribeAddresses.
  30447. type DescribeAddressesOutput struct {
  30448. _ struct{} `type:"structure"`
  30449. // Information about one or more Elastic IP addresses.
  30450. Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
  30451. }
  30452. // String returns the string representation
  30453. func (s DescribeAddressesOutput) String() string {
  30454. return awsutil.Prettify(s)
  30455. }
  30456. // GoString returns the string representation
  30457. func (s DescribeAddressesOutput) GoString() string {
  30458. return s.String()
  30459. }
  30460. // SetAddresses sets the Addresses field's value.
  30461. func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
  30462. s.Addresses = v
  30463. return s
  30464. }
  30465. type DescribeAggregateIdFormatInput struct {
  30466. _ struct{} `type:"structure"`
  30467. // Checks whether you have the required permissions for the action, without
  30468. // actually making the request, and provides an error response. If you have
  30469. // the required permissions, the error response is DryRunOperation. Otherwise,
  30470. // it is UnauthorizedOperation.
  30471. DryRun *bool `type:"boolean"`
  30472. }
  30473. // String returns the string representation
  30474. func (s DescribeAggregateIdFormatInput) String() string {
  30475. return awsutil.Prettify(s)
  30476. }
  30477. // GoString returns the string representation
  30478. func (s DescribeAggregateIdFormatInput) GoString() string {
  30479. return s.String()
  30480. }
  30481. // SetDryRun sets the DryRun field's value.
  30482. func (s *DescribeAggregateIdFormatInput) SetDryRun(v bool) *DescribeAggregateIdFormatInput {
  30483. s.DryRun = &v
  30484. return s
  30485. }
  30486. type DescribeAggregateIdFormatOutput struct {
  30487. _ struct{} `type:"structure"`
  30488. // Information about each resource's ID format.
  30489. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  30490. // Indicates whether all resource types in the region are configured to use
  30491. // longer IDs. This value is only true if all users are configured to use longer
  30492. // IDs for all resources types in the region.
  30493. UseLongIdsAggregated *bool `locationName:"useLongIdsAggregated" type:"boolean"`
  30494. }
  30495. // String returns the string representation
  30496. func (s DescribeAggregateIdFormatOutput) String() string {
  30497. return awsutil.Prettify(s)
  30498. }
  30499. // GoString returns the string representation
  30500. func (s DescribeAggregateIdFormatOutput) GoString() string {
  30501. return s.String()
  30502. }
  30503. // SetStatuses sets the Statuses field's value.
  30504. func (s *DescribeAggregateIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeAggregateIdFormatOutput {
  30505. s.Statuses = v
  30506. return s
  30507. }
  30508. // SetUseLongIdsAggregated sets the UseLongIdsAggregated field's value.
  30509. func (s *DescribeAggregateIdFormatOutput) SetUseLongIdsAggregated(v bool) *DescribeAggregateIdFormatOutput {
  30510. s.UseLongIdsAggregated = &v
  30511. return s
  30512. }
  30513. // Contains the parameters for DescribeAvailabilityZones.
  30514. type DescribeAvailabilityZonesInput struct {
  30515. _ struct{} `type:"structure"`
  30516. // Checks whether you have the required permissions for the action, without
  30517. // actually making the request, and provides an error response. If you have
  30518. // the required permissions, the error response is DryRunOperation. Otherwise,
  30519. // it is UnauthorizedOperation.
  30520. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30521. // One or more filters.
  30522. //
  30523. // * message - Information about the Availability Zone.
  30524. //
  30525. // * region-name - The name of the region for the Availability Zone (for
  30526. // example, us-east-1).
  30527. //
  30528. // * state - The state of the Availability Zone (available | information
  30529. // | impaired | unavailable).
  30530. //
  30531. // * zone-name - The name of the Availability Zone (for example, us-east-1a).
  30532. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30533. // The names of one or more Availability Zones.
  30534. ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
  30535. }
  30536. // String returns the string representation
  30537. func (s DescribeAvailabilityZonesInput) String() string {
  30538. return awsutil.Prettify(s)
  30539. }
  30540. // GoString returns the string representation
  30541. func (s DescribeAvailabilityZonesInput) GoString() string {
  30542. return s.String()
  30543. }
  30544. // SetDryRun sets the DryRun field's value.
  30545. func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput {
  30546. s.DryRun = &v
  30547. return s
  30548. }
  30549. // SetFilters sets the Filters field's value.
  30550. func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput {
  30551. s.Filters = v
  30552. return s
  30553. }
  30554. // SetZoneNames sets the ZoneNames field's value.
  30555. func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput {
  30556. s.ZoneNames = v
  30557. return s
  30558. }
  30559. // Contains the output of DescribeAvailabiltyZones.
  30560. type DescribeAvailabilityZonesOutput struct {
  30561. _ struct{} `type:"structure"`
  30562. // Information about one or more Availability Zones.
  30563. AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
  30564. }
  30565. // String returns the string representation
  30566. func (s DescribeAvailabilityZonesOutput) String() string {
  30567. return awsutil.Prettify(s)
  30568. }
  30569. // GoString returns the string representation
  30570. func (s DescribeAvailabilityZonesOutput) GoString() string {
  30571. return s.String()
  30572. }
  30573. // SetAvailabilityZones sets the AvailabilityZones field's value.
  30574. func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput {
  30575. s.AvailabilityZones = v
  30576. return s
  30577. }
  30578. // Contains the parameters for DescribeBundleTasks.
  30579. type DescribeBundleTasksInput struct {
  30580. _ struct{} `type:"structure"`
  30581. // One or more bundle task IDs.
  30582. //
  30583. // Default: Describes all your bundle tasks.
  30584. BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
  30585. // Checks whether you have the required permissions for the action, without
  30586. // actually making the request, and provides an error response. If you have
  30587. // the required permissions, the error response is DryRunOperation. Otherwise,
  30588. // it is UnauthorizedOperation.
  30589. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30590. // One or more filters.
  30591. //
  30592. // * bundle-id - The ID of the bundle task.
  30593. //
  30594. // * error-code - If the task failed, the error code returned.
  30595. //
  30596. // * error-message - If the task failed, the error message returned.
  30597. //
  30598. // * instance-id - The ID of the instance.
  30599. //
  30600. // * progress - The level of task completion, as a percentage (for example,
  30601. // 20%).
  30602. //
  30603. // * s3-bucket - The Amazon S3 bucket to store the AMI.
  30604. //
  30605. // * s3-prefix - The beginning of the AMI name.
  30606. //
  30607. // * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
  30608. //
  30609. // * state - The state of the task (pending | waiting-for-shutdown | bundling
  30610. // | storing | cancelling | complete | failed).
  30611. //
  30612. // * update-time - The time of the most recent update for the task.
  30613. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30614. }
  30615. // String returns the string representation
  30616. func (s DescribeBundleTasksInput) String() string {
  30617. return awsutil.Prettify(s)
  30618. }
  30619. // GoString returns the string representation
  30620. func (s DescribeBundleTasksInput) GoString() string {
  30621. return s.String()
  30622. }
  30623. // SetBundleIds sets the BundleIds field's value.
  30624. func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput {
  30625. s.BundleIds = v
  30626. return s
  30627. }
  30628. // SetDryRun sets the DryRun field's value.
  30629. func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput {
  30630. s.DryRun = &v
  30631. return s
  30632. }
  30633. // SetFilters sets the Filters field's value.
  30634. func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput {
  30635. s.Filters = v
  30636. return s
  30637. }
  30638. // Contains the output of DescribeBundleTasks.
  30639. type DescribeBundleTasksOutput struct {
  30640. _ struct{} `type:"structure"`
  30641. // Information about one or more bundle tasks.
  30642. BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
  30643. }
  30644. // String returns the string representation
  30645. func (s DescribeBundleTasksOutput) String() string {
  30646. return awsutil.Prettify(s)
  30647. }
  30648. // GoString returns the string representation
  30649. func (s DescribeBundleTasksOutput) GoString() string {
  30650. return s.String()
  30651. }
  30652. // SetBundleTasks sets the BundleTasks field's value.
  30653. func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput {
  30654. s.BundleTasks = v
  30655. return s
  30656. }
  30657. // Contains the parameters for DescribeClassicLinkInstances.
  30658. type DescribeClassicLinkInstancesInput struct {
  30659. _ struct{} `type:"structure"`
  30660. // Checks whether you have the required permissions for the action, without
  30661. // actually making the request, and provides an error response. If you have
  30662. // the required permissions, the error response is DryRunOperation. Otherwise,
  30663. // it is UnauthorizedOperation.
  30664. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30665. // One or more filters.
  30666. //
  30667. // * group-id - The ID of a VPC security group that's associated with the
  30668. // instance.
  30669. //
  30670. // * instance-id - The ID of the instance.
  30671. //
  30672. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  30673. //
  30674. // * tag-key - The key of a tag assigned to the resource. This filter is
  30675. // independent of the tag-value filter. For example, if you use both the
  30676. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  30677. // assigned both the tag key Purpose (regardless of what the tag's value
  30678. // is), and the tag value X (regardless of what the tag's key is). If you
  30679. // want to list only resources where Purpose is X, see the tag:key=value
  30680. // filter.
  30681. //
  30682. // * tag-value - The value of a tag assigned to the resource. This filter
  30683. // is independent of the tag-key filter.
  30684. //
  30685. // * vpc-id - The ID of the VPC that the instance is linked to.
  30686. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30687. // One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
  30688. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  30689. // The maximum number of results to return for the request in a single page.
  30690. // The remaining results of the initial request can be seen by sending another
  30691. // request with the returned NextToken value. This value can be between 5 and
  30692. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  30693. // are returned. You cannot specify this parameter and the instance IDs parameter
  30694. // in the same request.
  30695. //
  30696. // Constraint: If the value is greater than 1000, we return only 1000 items.
  30697. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  30698. // The token to retrieve the next page of results.
  30699. NextToken *string `locationName:"nextToken" type:"string"`
  30700. }
  30701. // String returns the string representation
  30702. func (s DescribeClassicLinkInstancesInput) String() string {
  30703. return awsutil.Prettify(s)
  30704. }
  30705. // GoString returns the string representation
  30706. func (s DescribeClassicLinkInstancesInput) GoString() string {
  30707. return s.String()
  30708. }
  30709. // SetDryRun sets the DryRun field's value.
  30710. func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput {
  30711. s.DryRun = &v
  30712. return s
  30713. }
  30714. // SetFilters sets the Filters field's value.
  30715. func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput {
  30716. s.Filters = v
  30717. return s
  30718. }
  30719. // SetInstanceIds sets the InstanceIds field's value.
  30720. func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput {
  30721. s.InstanceIds = v
  30722. return s
  30723. }
  30724. // SetMaxResults sets the MaxResults field's value.
  30725. func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput {
  30726. s.MaxResults = &v
  30727. return s
  30728. }
  30729. // SetNextToken sets the NextToken field's value.
  30730. func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput {
  30731. s.NextToken = &v
  30732. return s
  30733. }
  30734. // Contains the output of DescribeClassicLinkInstances.
  30735. type DescribeClassicLinkInstancesOutput struct {
  30736. _ struct{} `type:"structure"`
  30737. // Information about one or more linked EC2-Classic instances.
  30738. Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  30739. // The token to use to retrieve the next page of results. This value is null
  30740. // when there are no more results to return.
  30741. NextToken *string `locationName:"nextToken" type:"string"`
  30742. }
  30743. // String returns the string representation
  30744. func (s DescribeClassicLinkInstancesOutput) String() string {
  30745. return awsutil.Prettify(s)
  30746. }
  30747. // GoString returns the string representation
  30748. func (s DescribeClassicLinkInstancesOutput) GoString() string {
  30749. return s.String()
  30750. }
  30751. // SetInstances sets the Instances field's value.
  30752. func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput {
  30753. s.Instances = v
  30754. return s
  30755. }
  30756. // SetNextToken sets the NextToken field's value.
  30757. func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput {
  30758. s.NextToken = &v
  30759. return s
  30760. }
  30761. // Contains the parameters for DescribeConversionTasks.
  30762. type DescribeConversionTasksInput struct {
  30763. _ struct{} `type:"structure"`
  30764. // One or more conversion task IDs.
  30765. ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
  30766. // Checks whether you have the required permissions for the action, without
  30767. // actually making the request, and provides an error response. If you have
  30768. // the required permissions, the error response is DryRunOperation. Otherwise,
  30769. // it is UnauthorizedOperation.
  30770. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30771. }
  30772. // String returns the string representation
  30773. func (s DescribeConversionTasksInput) String() string {
  30774. return awsutil.Prettify(s)
  30775. }
  30776. // GoString returns the string representation
  30777. func (s DescribeConversionTasksInput) GoString() string {
  30778. return s.String()
  30779. }
  30780. // SetConversionTaskIds sets the ConversionTaskIds field's value.
  30781. func (s *DescribeConversionTasksInput) SetConversionTaskIds(v []*string) *DescribeConversionTasksInput {
  30782. s.ConversionTaskIds = v
  30783. return s
  30784. }
  30785. // SetDryRun sets the DryRun field's value.
  30786. func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTasksInput {
  30787. s.DryRun = &v
  30788. return s
  30789. }
  30790. // Contains the output for DescribeConversionTasks.
  30791. type DescribeConversionTasksOutput struct {
  30792. _ struct{} `type:"structure"`
  30793. // Information about the conversion tasks.
  30794. ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
  30795. }
  30796. // String returns the string representation
  30797. func (s DescribeConversionTasksOutput) String() string {
  30798. return awsutil.Prettify(s)
  30799. }
  30800. // GoString returns the string representation
  30801. func (s DescribeConversionTasksOutput) GoString() string {
  30802. return s.String()
  30803. }
  30804. // SetConversionTasks sets the ConversionTasks field's value.
  30805. func (s *DescribeConversionTasksOutput) SetConversionTasks(v []*ConversionTask) *DescribeConversionTasksOutput {
  30806. s.ConversionTasks = v
  30807. return s
  30808. }
  30809. // Contains the parameters for DescribeCustomerGateways.
  30810. type DescribeCustomerGatewaysInput struct {
  30811. _ struct{} `type:"structure"`
  30812. // One or more customer gateway IDs.
  30813. //
  30814. // Default: Describes all your customer gateways.
  30815. CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
  30816. // Checks whether you have the required permissions for the action, without
  30817. // actually making the request, and provides an error response. If you have
  30818. // the required permissions, the error response is DryRunOperation. Otherwise,
  30819. // it is UnauthorizedOperation.
  30820. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30821. // One or more filters.
  30822. //
  30823. // * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
  30824. // System Number (ASN).
  30825. //
  30826. // * customer-gateway-id - The ID of the customer gateway.
  30827. //
  30828. // * ip-address - The IP address of the customer gateway's Internet-routable
  30829. // external interface.
  30830. //
  30831. // * state - The state of the customer gateway (pending | available | deleting
  30832. // | deleted).
  30833. //
  30834. // * type - The type of customer gateway. Currently, the only supported type
  30835. // is ipsec.1.
  30836. //
  30837. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  30838. // Specify the key of the tag in the filter name and the value of the tag
  30839. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  30840. // for the filter name and X for the filter value.
  30841. //
  30842. // * tag-key - The key of a tag assigned to the resource. This filter is
  30843. // independent of the tag-value filter. For example, if you use both the
  30844. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  30845. // assigned both the tag key Purpose (regardless of what the tag's value
  30846. // is), and the tag value X (regardless of what the tag's key is). If you
  30847. // want to list only resources where Purpose is X, see the tag:key=value
  30848. // filter.
  30849. //
  30850. // * tag-value - The value of a tag assigned to the resource. This filter
  30851. // is independent of the tag-key filter.
  30852. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30853. }
  30854. // String returns the string representation
  30855. func (s DescribeCustomerGatewaysInput) String() string {
  30856. return awsutil.Prettify(s)
  30857. }
  30858. // GoString returns the string representation
  30859. func (s DescribeCustomerGatewaysInput) GoString() string {
  30860. return s.String()
  30861. }
  30862. // SetCustomerGatewayIds sets the CustomerGatewayIds field's value.
  30863. func (s *DescribeCustomerGatewaysInput) SetCustomerGatewayIds(v []*string) *DescribeCustomerGatewaysInput {
  30864. s.CustomerGatewayIds = v
  30865. return s
  30866. }
  30867. // SetDryRun sets the DryRun field's value.
  30868. func (s *DescribeCustomerGatewaysInput) SetDryRun(v bool) *DescribeCustomerGatewaysInput {
  30869. s.DryRun = &v
  30870. return s
  30871. }
  30872. // SetFilters sets the Filters field's value.
  30873. func (s *DescribeCustomerGatewaysInput) SetFilters(v []*Filter) *DescribeCustomerGatewaysInput {
  30874. s.Filters = v
  30875. return s
  30876. }
  30877. // Contains the output of DescribeCustomerGateways.
  30878. type DescribeCustomerGatewaysOutput struct {
  30879. _ struct{} `type:"structure"`
  30880. // Information about one or more customer gateways.
  30881. CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
  30882. }
  30883. // String returns the string representation
  30884. func (s DescribeCustomerGatewaysOutput) String() string {
  30885. return awsutil.Prettify(s)
  30886. }
  30887. // GoString returns the string representation
  30888. func (s DescribeCustomerGatewaysOutput) GoString() string {
  30889. return s.String()
  30890. }
  30891. // SetCustomerGateways sets the CustomerGateways field's value.
  30892. func (s *DescribeCustomerGatewaysOutput) SetCustomerGateways(v []*CustomerGateway) *DescribeCustomerGatewaysOutput {
  30893. s.CustomerGateways = v
  30894. return s
  30895. }
  30896. // Contains the parameters for DescribeDhcpOptions.
  30897. type DescribeDhcpOptionsInput struct {
  30898. _ struct{} `type:"structure"`
  30899. // The IDs of one or more DHCP options sets.
  30900. //
  30901. // Default: Describes all your DHCP options sets.
  30902. DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
  30903. // Checks whether you have the required permissions for the action, without
  30904. // actually making the request, and provides an error response. If you have
  30905. // the required permissions, the error response is DryRunOperation. Otherwise,
  30906. // it is UnauthorizedOperation.
  30907. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30908. // One or more filters.
  30909. //
  30910. // * dhcp-options-id - The ID of a set of DHCP options.
  30911. //
  30912. // * key - The key for one of the options (for example, domain-name).
  30913. //
  30914. // * value - The value for one of the options.
  30915. //
  30916. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  30917. // Specify the key of the tag in the filter name and the value of the tag
  30918. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  30919. // for the filter name and X for the filter value.
  30920. //
  30921. // * tag-key - The key of a tag assigned to the resource. This filter is
  30922. // independent of the tag-value filter. For example, if you use both the
  30923. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  30924. // assigned both the tag key Purpose (regardless of what the tag's value
  30925. // is), and the tag value X (regardless of what the tag's key is). If you
  30926. // want to list only resources where Purpose is X, see the tag:key=value
  30927. // filter.
  30928. //
  30929. // * tag-value - The value of a tag assigned to the resource. This filter
  30930. // is independent of the tag-key filter.
  30931. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30932. }
  30933. // String returns the string representation
  30934. func (s DescribeDhcpOptionsInput) String() string {
  30935. return awsutil.Prettify(s)
  30936. }
  30937. // GoString returns the string representation
  30938. func (s DescribeDhcpOptionsInput) GoString() string {
  30939. return s.String()
  30940. }
  30941. // SetDhcpOptionsIds sets the DhcpOptionsIds field's value.
  30942. func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput {
  30943. s.DhcpOptionsIds = v
  30944. return s
  30945. }
  30946. // SetDryRun sets the DryRun field's value.
  30947. func (s *DescribeDhcpOptionsInput) SetDryRun(v bool) *DescribeDhcpOptionsInput {
  30948. s.DryRun = &v
  30949. return s
  30950. }
  30951. // SetFilters sets the Filters field's value.
  30952. func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsInput {
  30953. s.Filters = v
  30954. return s
  30955. }
  30956. // Contains the output of DescribeDhcpOptions.
  30957. type DescribeDhcpOptionsOutput struct {
  30958. _ struct{} `type:"structure"`
  30959. // Information about one or more DHCP options sets.
  30960. DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
  30961. }
  30962. // String returns the string representation
  30963. func (s DescribeDhcpOptionsOutput) String() string {
  30964. return awsutil.Prettify(s)
  30965. }
  30966. // GoString returns the string representation
  30967. func (s DescribeDhcpOptionsOutput) GoString() string {
  30968. return s.String()
  30969. }
  30970. // SetDhcpOptions sets the DhcpOptions field's value.
  30971. func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDhcpOptionsOutput {
  30972. s.DhcpOptions = v
  30973. return s
  30974. }
  30975. type DescribeEgressOnlyInternetGatewaysInput struct {
  30976. _ struct{} `type:"structure"`
  30977. // Checks whether you have the required permissions for the action, without
  30978. // actually making the request, and provides an error response. If you have
  30979. // the required permissions, the error response is DryRunOperation. Otherwise,
  30980. // it is UnauthorizedOperation.
  30981. DryRun *bool `type:"boolean"`
  30982. // One or more egress-only Internet gateway IDs.
  30983. EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"`
  30984. // The maximum number of results to return for the request in a single page.
  30985. // The remaining results can be seen by sending another request with the returned
  30986. // NextToken value. This value can be between 5 and 1000; if MaxResults is given
  30987. // a value larger than 1000, only 1000 results are returned.
  30988. MaxResults *int64 `type:"integer"`
  30989. // The token to retrieve the next page of results.
  30990. NextToken *string `type:"string"`
  30991. }
  30992. // String returns the string representation
  30993. func (s DescribeEgressOnlyInternetGatewaysInput) String() string {
  30994. return awsutil.Prettify(s)
  30995. }
  30996. // GoString returns the string representation
  30997. func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string {
  30998. return s.String()
  30999. }
  31000. // SetDryRun sets the DryRun field's value.
  31001. func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput {
  31002. s.DryRun = &v
  31003. return s
  31004. }
  31005. // SetEgressOnlyInternetGatewayIds sets the EgressOnlyInternetGatewayIds field's value.
  31006. func (s *DescribeEgressOnlyInternetGatewaysInput) SetEgressOnlyInternetGatewayIds(v []*string) *DescribeEgressOnlyInternetGatewaysInput {
  31007. s.EgressOnlyInternetGatewayIds = v
  31008. return s
  31009. }
  31010. // SetMaxResults sets the MaxResults field's value.
  31011. func (s *DescribeEgressOnlyInternetGatewaysInput) SetMaxResults(v int64) *DescribeEgressOnlyInternetGatewaysInput {
  31012. s.MaxResults = &v
  31013. return s
  31014. }
  31015. // SetNextToken sets the NextToken field's value.
  31016. func (s *DescribeEgressOnlyInternetGatewaysInput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysInput {
  31017. s.NextToken = &v
  31018. return s
  31019. }
  31020. type DescribeEgressOnlyInternetGatewaysOutput struct {
  31021. _ struct{} `type:"structure"`
  31022. // Information about the egress-only Internet gateways.
  31023. EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"`
  31024. // The token to use to retrieve the next page of results.
  31025. NextToken *string `locationName:"nextToken" type:"string"`
  31026. }
  31027. // String returns the string representation
  31028. func (s DescribeEgressOnlyInternetGatewaysOutput) String() string {
  31029. return awsutil.Prettify(s)
  31030. }
  31031. // GoString returns the string representation
  31032. func (s DescribeEgressOnlyInternetGatewaysOutput) GoString() string {
  31033. return s.String()
  31034. }
  31035. // SetEgressOnlyInternetGateways sets the EgressOnlyInternetGateways field's value.
  31036. func (s *DescribeEgressOnlyInternetGatewaysOutput) SetEgressOnlyInternetGateways(v []*EgressOnlyInternetGateway) *DescribeEgressOnlyInternetGatewaysOutput {
  31037. s.EgressOnlyInternetGateways = v
  31038. return s
  31039. }
  31040. // SetNextToken sets the NextToken field's value.
  31041. func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysOutput {
  31042. s.NextToken = &v
  31043. return s
  31044. }
  31045. type DescribeElasticGpusInput struct {
  31046. _ struct{} `type:"structure"`
  31047. // Checks whether you have the required permissions for the action, without
  31048. // actually making the request, and provides an error response. If you have
  31049. // the required permissions, the error response is DryRunOperation. Otherwise,
  31050. // it is UnauthorizedOperation.
  31051. DryRun *bool `type:"boolean"`
  31052. // One or more Elastic GPU IDs.
  31053. ElasticGpuIds []*string `locationName:"ElasticGpuId" locationNameList:"item" type:"list"`
  31054. // One or more filters.
  31055. //
  31056. // * availability-zone - The Availability Zone in which the Elastic GPU resides.
  31057. //
  31058. // * elastic-gpu-health - The status of the Elastic GPU (OK | IMPAIRED).
  31059. //
  31060. // * elastic-gpu-state - The state of the Elastic GPU (ATTACHED).
  31061. //
  31062. // * elastic-gpu-type - The type of Elastic GPU; for example, eg1.medium.
  31063. //
  31064. // * instance-id - The ID of the instance to which the Elastic GPU is associated.
  31065. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31066. // The maximum number of results to return in a single call. To retrieve the
  31067. // remaining results, make another call with the returned NextToken value. This
  31068. // value can be between 5 and 1000.
  31069. MaxResults *int64 `type:"integer"`
  31070. // The token to request the next page of results.
  31071. NextToken *string `type:"string"`
  31072. }
  31073. // String returns the string representation
  31074. func (s DescribeElasticGpusInput) String() string {
  31075. return awsutil.Prettify(s)
  31076. }
  31077. // GoString returns the string representation
  31078. func (s DescribeElasticGpusInput) GoString() string {
  31079. return s.String()
  31080. }
  31081. // SetDryRun sets the DryRun field's value.
  31082. func (s *DescribeElasticGpusInput) SetDryRun(v bool) *DescribeElasticGpusInput {
  31083. s.DryRun = &v
  31084. return s
  31085. }
  31086. // SetElasticGpuIds sets the ElasticGpuIds field's value.
  31087. func (s *DescribeElasticGpusInput) SetElasticGpuIds(v []*string) *DescribeElasticGpusInput {
  31088. s.ElasticGpuIds = v
  31089. return s
  31090. }
  31091. // SetFilters sets the Filters field's value.
  31092. func (s *DescribeElasticGpusInput) SetFilters(v []*Filter) *DescribeElasticGpusInput {
  31093. s.Filters = v
  31094. return s
  31095. }
  31096. // SetMaxResults sets the MaxResults field's value.
  31097. func (s *DescribeElasticGpusInput) SetMaxResults(v int64) *DescribeElasticGpusInput {
  31098. s.MaxResults = &v
  31099. return s
  31100. }
  31101. // SetNextToken sets the NextToken field's value.
  31102. func (s *DescribeElasticGpusInput) SetNextToken(v string) *DescribeElasticGpusInput {
  31103. s.NextToken = &v
  31104. return s
  31105. }
  31106. type DescribeElasticGpusOutput struct {
  31107. _ struct{} `type:"structure"`
  31108. // Information about the Elastic GPUs.
  31109. ElasticGpuSet []*ElasticGpus `locationName:"elasticGpuSet" locationNameList:"item" type:"list"`
  31110. // The total number of items to return. If the total number of items available
  31111. // is more than the value specified in max-items then a Next-Token will be provided
  31112. // in the output that you can use to resume pagination.
  31113. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  31114. // The token to use to retrieve the next page of results. This value is null
  31115. // when there are no more results to return.
  31116. NextToken *string `locationName:"nextToken" type:"string"`
  31117. }
  31118. // String returns the string representation
  31119. func (s DescribeElasticGpusOutput) String() string {
  31120. return awsutil.Prettify(s)
  31121. }
  31122. // GoString returns the string representation
  31123. func (s DescribeElasticGpusOutput) GoString() string {
  31124. return s.String()
  31125. }
  31126. // SetElasticGpuSet sets the ElasticGpuSet field's value.
  31127. func (s *DescribeElasticGpusOutput) SetElasticGpuSet(v []*ElasticGpus) *DescribeElasticGpusOutput {
  31128. s.ElasticGpuSet = v
  31129. return s
  31130. }
  31131. // SetMaxResults sets the MaxResults field's value.
  31132. func (s *DescribeElasticGpusOutput) SetMaxResults(v int64) *DescribeElasticGpusOutput {
  31133. s.MaxResults = &v
  31134. return s
  31135. }
  31136. // SetNextToken sets the NextToken field's value.
  31137. func (s *DescribeElasticGpusOutput) SetNextToken(v string) *DescribeElasticGpusOutput {
  31138. s.NextToken = &v
  31139. return s
  31140. }
  31141. // Contains the parameters for DescribeExportTasks.
  31142. type DescribeExportTasksInput struct {
  31143. _ struct{} `type:"structure"`
  31144. // One or more export task IDs.
  31145. ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
  31146. }
  31147. // String returns the string representation
  31148. func (s DescribeExportTasksInput) String() string {
  31149. return awsutil.Prettify(s)
  31150. }
  31151. // GoString returns the string representation
  31152. func (s DescribeExportTasksInput) GoString() string {
  31153. return s.String()
  31154. }
  31155. // SetExportTaskIds sets the ExportTaskIds field's value.
  31156. func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExportTasksInput {
  31157. s.ExportTaskIds = v
  31158. return s
  31159. }
  31160. // Contains the output for DescribeExportTasks.
  31161. type DescribeExportTasksOutput struct {
  31162. _ struct{} `type:"structure"`
  31163. // Information about the export tasks.
  31164. ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
  31165. }
  31166. // String returns the string representation
  31167. func (s DescribeExportTasksOutput) String() string {
  31168. return awsutil.Prettify(s)
  31169. }
  31170. // GoString returns the string representation
  31171. func (s DescribeExportTasksOutput) GoString() string {
  31172. return s.String()
  31173. }
  31174. // SetExportTasks sets the ExportTasks field's value.
  31175. func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
  31176. s.ExportTasks = v
  31177. return s
  31178. }
  31179. type DescribeFleetHistoryInput struct {
  31180. _ struct{} `type:"structure"`
  31181. // Checks whether you have the required permissions for the action, without
  31182. // actually making the request, and provides an error response. If you have
  31183. // the required permissions, the error response is DryRunOperation. Otherwise,
  31184. // it is UnauthorizedOperation.
  31185. DryRun *bool `type:"boolean"`
  31186. // The type of events to describe. By default, all events are described.
  31187. EventType *string `type:"string" enum:"FleetEventType"`
  31188. // The ID of the EC2 Fleet.
  31189. //
  31190. // FleetId is a required field
  31191. FleetId *string `type:"string" required:"true"`
  31192. // The maximum number of results to return in a single call. Specify a value
  31193. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  31194. // results, make another call with the returned NextToken value.
  31195. MaxResults *int64 `type:"integer"`
  31196. // The token for the next set of results.
  31197. NextToken *string `type:"string"`
  31198. // The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  31199. //
  31200. // StartTime is a required field
  31201. StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  31202. }
  31203. // String returns the string representation
  31204. func (s DescribeFleetHistoryInput) String() string {
  31205. return awsutil.Prettify(s)
  31206. }
  31207. // GoString returns the string representation
  31208. func (s DescribeFleetHistoryInput) GoString() string {
  31209. return s.String()
  31210. }
  31211. // Validate inspects the fields of the type to determine if they are valid.
  31212. func (s *DescribeFleetHistoryInput) Validate() error {
  31213. invalidParams := request.ErrInvalidParams{Context: "DescribeFleetHistoryInput"}
  31214. if s.FleetId == nil {
  31215. invalidParams.Add(request.NewErrParamRequired("FleetId"))
  31216. }
  31217. if s.StartTime == nil {
  31218. invalidParams.Add(request.NewErrParamRequired("StartTime"))
  31219. }
  31220. if invalidParams.Len() > 0 {
  31221. return invalidParams
  31222. }
  31223. return nil
  31224. }
  31225. // SetDryRun sets the DryRun field's value.
  31226. func (s *DescribeFleetHistoryInput) SetDryRun(v bool) *DescribeFleetHistoryInput {
  31227. s.DryRun = &v
  31228. return s
  31229. }
  31230. // SetEventType sets the EventType field's value.
  31231. func (s *DescribeFleetHistoryInput) SetEventType(v string) *DescribeFleetHistoryInput {
  31232. s.EventType = &v
  31233. return s
  31234. }
  31235. // SetFleetId sets the FleetId field's value.
  31236. func (s *DescribeFleetHistoryInput) SetFleetId(v string) *DescribeFleetHistoryInput {
  31237. s.FleetId = &v
  31238. return s
  31239. }
  31240. // SetMaxResults sets the MaxResults field's value.
  31241. func (s *DescribeFleetHistoryInput) SetMaxResults(v int64) *DescribeFleetHistoryInput {
  31242. s.MaxResults = &v
  31243. return s
  31244. }
  31245. // SetNextToken sets the NextToken field's value.
  31246. func (s *DescribeFleetHistoryInput) SetNextToken(v string) *DescribeFleetHistoryInput {
  31247. s.NextToken = &v
  31248. return s
  31249. }
  31250. // SetStartTime sets the StartTime field's value.
  31251. func (s *DescribeFleetHistoryInput) SetStartTime(v time.Time) *DescribeFleetHistoryInput {
  31252. s.StartTime = &v
  31253. return s
  31254. }
  31255. type DescribeFleetHistoryOutput struct {
  31256. _ struct{} `type:"structure"`
  31257. // The ID of the EC Fleet.
  31258. FleetId *string `locationName:"fleetId" type:"string"`
  31259. // Information about the events in the history of the EC2 Fleet.
  31260. HistoryRecords []*HistoryRecordEntry `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
  31261. // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  31262. // All records up to this time were retrieved.
  31263. //
  31264. // If nextToken indicates that there are more results, this value is not present.
  31265. LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp" timestampFormat:"iso8601"`
  31266. // The token for the next set of results.
  31267. NextToken *string `locationName:"nextToken" type:"string"`
  31268. // The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  31269. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  31270. }
  31271. // String returns the string representation
  31272. func (s DescribeFleetHistoryOutput) String() string {
  31273. return awsutil.Prettify(s)
  31274. }
  31275. // GoString returns the string representation
  31276. func (s DescribeFleetHistoryOutput) GoString() string {
  31277. return s.String()
  31278. }
  31279. // SetFleetId sets the FleetId field's value.
  31280. func (s *DescribeFleetHistoryOutput) SetFleetId(v string) *DescribeFleetHistoryOutput {
  31281. s.FleetId = &v
  31282. return s
  31283. }
  31284. // SetHistoryRecords sets the HistoryRecords field's value.
  31285. func (s *DescribeFleetHistoryOutput) SetHistoryRecords(v []*HistoryRecordEntry) *DescribeFleetHistoryOutput {
  31286. s.HistoryRecords = v
  31287. return s
  31288. }
  31289. // SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
  31290. func (s *DescribeFleetHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeFleetHistoryOutput {
  31291. s.LastEvaluatedTime = &v
  31292. return s
  31293. }
  31294. // SetNextToken sets the NextToken field's value.
  31295. func (s *DescribeFleetHistoryOutput) SetNextToken(v string) *DescribeFleetHistoryOutput {
  31296. s.NextToken = &v
  31297. return s
  31298. }
  31299. // SetStartTime sets the StartTime field's value.
  31300. func (s *DescribeFleetHistoryOutput) SetStartTime(v time.Time) *DescribeFleetHistoryOutput {
  31301. s.StartTime = &v
  31302. return s
  31303. }
  31304. type DescribeFleetInstancesInput struct {
  31305. _ struct{} `type:"structure"`
  31306. // Checks whether you have the required permissions for the action, without
  31307. // actually making the request, and provides an error response. If you have
  31308. // the required permissions, the error response is DryRunOperation. Otherwise,
  31309. // it is UnauthorizedOperation.
  31310. DryRun *bool `type:"boolean"`
  31311. // One or more filters.
  31312. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31313. // The ID of the EC2 Fleet.
  31314. //
  31315. // FleetId is a required field
  31316. FleetId *string `type:"string" required:"true"`
  31317. // The maximum number of results to return in a single call. Specify a value
  31318. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  31319. // results, make another call with the returned NextToken value.
  31320. MaxResults *int64 `type:"integer"`
  31321. // The token for the next set of results.
  31322. NextToken *string `type:"string"`
  31323. }
  31324. // String returns the string representation
  31325. func (s DescribeFleetInstancesInput) String() string {
  31326. return awsutil.Prettify(s)
  31327. }
  31328. // GoString returns the string representation
  31329. func (s DescribeFleetInstancesInput) GoString() string {
  31330. return s.String()
  31331. }
  31332. // Validate inspects the fields of the type to determine if they are valid.
  31333. func (s *DescribeFleetInstancesInput) Validate() error {
  31334. invalidParams := request.ErrInvalidParams{Context: "DescribeFleetInstancesInput"}
  31335. if s.FleetId == nil {
  31336. invalidParams.Add(request.NewErrParamRequired("FleetId"))
  31337. }
  31338. if invalidParams.Len() > 0 {
  31339. return invalidParams
  31340. }
  31341. return nil
  31342. }
  31343. // SetDryRun sets the DryRun field's value.
  31344. func (s *DescribeFleetInstancesInput) SetDryRun(v bool) *DescribeFleetInstancesInput {
  31345. s.DryRun = &v
  31346. return s
  31347. }
  31348. // SetFilters sets the Filters field's value.
  31349. func (s *DescribeFleetInstancesInput) SetFilters(v []*Filter) *DescribeFleetInstancesInput {
  31350. s.Filters = v
  31351. return s
  31352. }
  31353. // SetFleetId sets the FleetId field's value.
  31354. func (s *DescribeFleetInstancesInput) SetFleetId(v string) *DescribeFleetInstancesInput {
  31355. s.FleetId = &v
  31356. return s
  31357. }
  31358. // SetMaxResults sets the MaxResults field's value.
  31359. func (s *DescribeFleetInstancesInput) SetMaxResults(v int64) *DescribeFleetInstancesInput {
  31360. s.MaxResults = &v
  31361. return s
  31362. }
  31363. // SetNextToken sets the NextToken field's value.
  31364. func (s *DescribeFleetInstancesInput) SetNextToken(v string) *DescribeFleetInstancesInput {
  31365. s.NextToken = &v
  31366. return s
  31367. }
  31368. type DescribeFleetInstancesOutput struct {
  31369. _ struct{} `type:"structure"`
  31370. // The running instances. This list is refreshed periodically and might be out
  31371. // of date.
  31372. ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
  31373. // The ID of the EC2 Fleet.
  31374. FleetId *string `locationName:"fleetId" type:"string"`
  31375. // The token for the next set of results.
  31376. NextToken *string `locationName:"nextToken" type:"string"`
  31377. }
  31378. // String returns the string representation
  31379. func (s DescribeFleetInstancesOutput) String() string {
  31380. return awsutil.Prettify(s)
  31381. }
  31382. // GoString returns the string representation
  31383. func (s DescribeFleetInstancesOutput) GoString() string {
  31384. return s.String()
  31385. }
  31386. // SetActiveInstances sets the ActiveInstances field's value.
  31387. func (s *DescribeFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeFleetInstancesOutput {
  31388. s.ActiveInstances = v
  31389. return s
  31390. }
  31391. // SetFleetId sets the FleetId field's value.
  31392. func (s *DescribeFleetInstancesOutput) SetFleetId(v string) *DescribeFleetInstancesOutput {
  31393. s.FleetId = &v
  31394. return s
  31395. }
  31396. // SetNextToken sets the NextToken field's value.
  31397. func (s *DescribeFleetInstancesOutput) SetNextToken(v string) *DescribeFleetInstancesOutput {
  31398. s.NextToken = &v
  31399. return s
  31400. }
  31401. type DescribeFleetsInput struct {
  31402. _ struct{} `type:"structure"`
  31403. // Checks whether you have the required permissions for the action, without
  31404. // actually making the request, and provides an error response. If you have
  31405. // the required permissions, the error response is DryRunOperation. Otherwise,
  31406. // it is UnauthorizedOperation.
  31407. DryRun *bool `type:"boolean"`
  31408. // One or more filters.
  31409. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31410. // The ID of the EC2 Fleets.
  31411. FleetIds []*string `locationName:"FleetId" type:"list"`
  31412. // The maximum number of results to return in a single call. Specify a value
  31413. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  31414. // results, make another call with the returned NextToken value.
  31415. MaxResults *int64 `type:"integer"`
  31416. // The token for the next set of results.
  31417. NextToken *string `type:"string"`
  31418. }
  31419. // String returns the string representation
  31420. func (s DescribeFleetsInput) String() string {
  31421. return awsutil.Prettify(s)
  31422. }
  31423. // GoString returns the string representation
  31424. func (s DescribeFleetsInput) GoString() string {
  31425. return s.String()
  31426. }
  31427. // SetDryRun sets the DryRun field's value.
  31428. func (s *DescribeFleetsInput) SetDryRun(v bool) *DescribeFleetsInput {
  31429. s.DryRun = &v
  31430. return s
  31431. }
  31432. // SetFilters sets the Filters field's value.
  31433. func (s *DescribeFleetsInput) SetFilters(v []*Filter) *DescribeFleetsInput {
  31434. s.Filters = v
  31435. return s
  31436. }
  31437. // SetFleetIds sets the FleetIds field's value.
  31438. func (s *DescribeFleetsInput) SetFleetIds(v []*string) *DescribeFleetsInput {
  31439. s.FleetIds = v
  31440. return s
  31441. }
  31442. // SetMaxResults sets the MaxResults field's value.
  31443. func (s *DescribeFleetsInput) SetMaxResults(v int64) *DescribeFleetsInput {
  31444. s.MaxResults = &v
  31445. return s
  31446. }
  31447. // SetNextToken sets the NextToken field's value.
  31448. func (s *DescribeFleetsInput) SetNextToken(v string) *DescribeFleetsInput {
  31449. s.NextToken = &v
  31450. return s
  31451. }
  31452. type DescribeFleetsOutput struct {
  31453. _ struct{} `type:"structure"`
  31454. // The EC2 Fleets.
  31455. Fleets []*FleetData `locationName:"fleetSet" locationNameList:"item" type:"list"`
  31456. // The token for the next set of results.
  31457. NextToken *string `locationName:"nextToken" type:"string"`
  31458. }
  31459. // String returns the string representation
  31460. func (s DescribeFleetsOutput) String() string {
  31461. return awsutil.Prettify(s)
  31462. }
  31463. // GoString returns the string representation
  31464. func (s DescribeFleetsOutput) GoString() string {
  31465. return s.String()
  31466. }
  31467. // SetFleets sets the Fleets field's value.
  31468. func (s *DescribeFleetsOutput) SetFleets(v []*FleetData) *DescribeFleetsOutput {
  31469. s.Fleets = v
  31470. return s
  31471. }
  31472. // SetNextToken sets the NextToken field's value.
  31473. func (s *DescribeFleetsOutput) SetNextToken(v string) *DescribeFleetsOutput {
  31474. s.NextToken = &v
  31475. return s
  31476. }
  31477. // Contains the parameters for DescribeFlowLogs.
  31478. type DescribeFlowLogsInput struct {
  31479. _ struct{} `type:"structure"`
  31480. // One or more filters.
  31481. //
  31482. // * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
  31483. //
  31484. // * flow-log-id - The ID of the flow log.
  31485. //
  31486. // * log-group-name - The name of the log group.
  31487. //
  31488. // * resource-id - The ID of the VPC, subnet, or network interface.
  31489. //
  31490. // * traffic-type - The type of traffic (ACCEPT | REJECT | ALL)
  31491. Filter []*Filter `locationNameList:"Filter" type:"list"`
  31492. // One or more flow log IDs.
  31493. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
  31494. // The maximum number of results to return for the request in a single page.
  31495. // The remaining results can be seen by sending another request with the returned
  31496. // NextToken value. This value can be between 5 and 1000; if MaxResults is given
  31497. // a value larger than 1000, only 1000 results are returned. You cannot specify
  31498. // this parameter and the flow log IDs parameter in the same request.
  31499. MaxResults *int64 `type:"integer"`
  31500. // The token to retrieve the next page of results.
  31501. NextToken *string `type:"string"`
  31502. }
  31503. // String returns the string representation
  31504. func (s DescribeFlowLogsInput) String() string {
  31505. return awsutil.Prettify(s)
  31506. }
  31507. // GoString returns the string representation
  31508. func (s DescribeFlowLogsInput) GoString() string {
  31509. return s.String()
  31510. }
  31511. // SetFilter sets the Filter field's value.
  31512. func (s *DescribeFlowLogsInput) SetFilter(v []*Filter) *DescribeFlowLogsInput {
  31513. s.Filter = v
  31514. return s
  31515. }
  31516. // SetFlowLogIds sets the FlowLogIds field's value.
  31517. func (s *DescribeFlowLogsInput) SetFlowLogIds(v []*string) *DescribeFlowLogsInput {
  31518. s.FlowLogIds = v
  31519. return s
  31520. }
  31521. // SetMaxResults sets the MaxResults field's value.
  31522. func (s *DescribeFlowLogsInput) SetMaxResults(v int64) *DescribeFlowLogsInput {
  31523. s.MaxResults = &v
  31524. return s
  31525. }
  31526. // SetNextToken sets the NextToken field's value.
  31527. func (s *DescribeFlowLogsInput) SetNextToken(v string) *DescribeFlowLogsInput {
  31528. s.NextToken = &v
  31529. return s
  31530. }
  31531. // Contains the output of DescribeFlowLogs.
  31532. type DescribeFlowLogsOutput struct {
  31533. _ struct{} `type:"structure"`
  31534. // Information about the flow logs.
  31535. FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
  31536. // The token to use to retrieve the next page of results. This value is null
  31537. // when there are no more results to return.
  31538. NextToken *string `locationName:"nextToken" type:"string"`
  31539. }
  31540. // String returns the string representation
  31541. func (s DescribeFlowLogsOutput) String() string {
  31542. return awsutil.Prettify(s)
  31543. }
  31544. // GoString returns the string representation
  31545. func (s DescribeFlowLogsOutput) GoString() string {
  31546. return s.String()
  31547. }
  31548. // SetFlowLogs sets the FlowLogs field's value.
  31549. func (s *DescribeFlowLogsOutput) SetFlowLogs(v []*FlowLog) *DescribeFlowLogsOutput {
  31550. s.FlowLogs = v
  31551. return s
  31552. }
  31553. // SetNextToken sets the NextToken field's value.
  31554. func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput {
  31555. s.NextToken = &v
  31556. return s
  31557. }
  31558. type DescribeFpgaImageAttributeInput struct {
  31559. _ struct{} `type:"structure"`
  31560. // The AFI attribute.
  31561. //
  31562. // Attribute is a required field
  31563. Attribute *string `type:"string" required:"true" enum:"FpgaImageAttributeName"`
  31564. // Checks whether you have the required permissions for the action, without
  31565. // actually making the request, and provides an error response. If you have
  31566. // the required permissions, the error response is DryRunOperation. Otherwise,
  31567. // it is UnauthorizedOperation.
  31568. DryRun *bool `type:"boolean"`
  31569. // The ID of the AFI.
  31570. //
  31571. // FpgaImageId is a required field
  31572. FpgaImageId *string `type:"string" required:"true"`
  31573. }
  31574. // String returns the string representation
  31575. func (s DescribeFpgaImageAttributeInput) String() string {
  31576. return awsutil.Prettify(s)
  31577. }
  31578. // GoString returns the string representation
  31579. func (s DescribeFpgaImageAttributeInput) GoString() string {
  31580. return s.String()
  31581. }
  31582. // Validate inspects the fields of the type to determine if they are valid.
  31583. func (s *DescribeFpgaImageAttributeInput) Validate() error {
  31584. invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImageAttributeInput"}
  31585. if s.Attribute == nil {
  31586. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  31587. }
  31588. if s.FpgaImageId == nil {
  31589. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  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 *DescribeFpgaImageAttributeInput) SetAttribute(v string) *DescribeFpgaImageAttributeInput {
  31598. s.Attribute = &v
  31599. return s
  31600. }
  31601. // SetDryRun sets the DryRun field's value.
  31602. func (s *DescribeFpgaImageAttributeInput) SetDryRun(v bool) *DescribeFpgaImageAttributeInput {
  31603. s.DryRun = &v
  31604. return s
  31605. }
  31606. // SetFpgaImageId sets the FpgaImageId field's value.
  31607. func (s *DescribeFpgaImageAttributeInput) SetFpgaImageId(v string) *DescribeFpgaImageAttributeInput {
  31608. s.FpgaImageId = &v
  31609. return s
  31610. }
  31611. type DescribeFpgaImageAttributeOutput struct {
  31612. _ struct{} `type:"structure"`
  31613. // Information about the attribute.
  31614. FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
  31615. }
  31616. // String returns the string representation
  31617. func (s DescribeFpgaImageAttributeOutput) String() string {
  31618. return awsutil.Prettify(s)
  31619. }
  31620. // GoString returns the string representation
  31621. func (s DescribeFpgaImageAttributeOutput) GoString() string {
  31622. return s.String()
  31623. }
  31624. // SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
  31625. func (s *DescribeFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *DescribeFpgaImageAttributeOutput {
  31626. s.FpgaImageAttribute = v
  31627. return s
  31628. }
  31629. type DescribeFpgaImagesInput struct {
  31630. _ struct{} `type:"structure"`
  31631. // Checks whether you have the required permissions for the action, without
  31632. // actually making the request, and provides an error response. If you have
  31633. // the required permissions, the error response is DryRunOperation. Otherwise,
  31634. // it is UnauthorizedOperation.
  31635. DryRun *bool `type:"boolean"`
  31636. // One or more filters.
  31637. //
  31638. // * create-time - The creation time of the AFI.
  31639. //
  31640. // * fpga-image-id - The FPGA image identifier (AFI ID).
  31641. //
  31642. // * fpga-image-global-id - The global FPGA image identifier (AGFI ID).
  31643. //
  31644. // * name - The name of the AFI.
  31645. //
  31646. // * owner-id - The AWS account ID of the AFI owner.
  31647. //
  31648. // * product-code - The product code.
  31649. //
  31650. // * shell-version - The version of the AWS Shell that was used to create
  31651. // the bitstream.
  31652. //
  31653. // * state - The state of the AFI (pending | failed | available | unavailable).
  31654. //
  31655. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31656. // Specify the key of the tag in the filter name and the value of the tag
  31657. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31658. // for the filter name and X for the filter value.
  31659. //
  31660. // * tag-key - The key of a tag assigned to the resource. This filter is
  31661. // independent of the tag-value filter. For example, if you use both the
  31662. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31663. // assigned both the tag key Purpose (regardless of what the tag's value
  31664. // is), and the tag value X (regardless of what the tag's key is). If you
  31665. // want to list only resources where Purpose is X, see the tag:key=value
  31666. // filter.
  31667. //
  31668. // * tag-value - The value of a tag assigned to the resource. This filter
  31669. // is independent of the tag-key filter.
  31670. //
  31671. // * update-time - The time of the most recent update.
  31672. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31673. // One or more AFI IDs.
  31674. FpgaImageIds []*string `locationName:"FpgaImageId" locationNameList:"item" type:"list"`
  31675. // The maximum number of results to return in a single call.
  31676. MaxResults *int64 `min:"5" type:"integer"`
  31677. // The token to retrieve the next page of results.
  31678. NextToken *string `min:"1" type:"string"`
  31679. // Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender
  31680. // of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).
  31681. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  31682. }
  31683. // String returns the string representation
  31684. func (s DescribeFpgaImagesInput) String() string {
  31685. return awsutil.Prettify(s)
  31686. }
  31687. // GoString returns the string representation
  31688. func (s DescribeFpgaImagesInput) GoString() string {
  31689. return s.String()
  31690. }
  31691. // Validate inspects the fields of the type to determine if they are valid.
  31692. func (s *DescribeFpgaImagesInput) Validate() error {
  31693. invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImagesInput"}
  31694. if s.MaxResults != nil && *s.MaxResults < 5 {
  31695. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  31696. }
  31697. if s.NextToken != nil && len(*s.NextToken) < 1 {
  31698. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  31699. }
  31700. if invalidParams.Len() > 0 {
  31701. return invalidParams
  31702. }
  31703. return nil
  31704. }
  31705. // SetDryRun sets the DryRun field's value.
  31706. func (s *DescribeFpgaImagesInput) SetDryRun(v bool) *DescribeFpgaImagesInput {
  31707. s.DryRun = &v
  31708. return s
  31709. }
  31710. // SetFilters sets the Filters field's value.
  31711. func (s *DescribeFpgaImagesInput) SetFilters(v []*Filter) *DescribeFpgaImagesInput {
  31712. s.Filters = v
  31713. return s
  31714. }
  31715. // SetFpgaImageIds sets the FpgaImageIds field's value.
  31716. func (s *DescribeFpgaImagesInput) SetFpgaImageIds(v []*string) *DescribeFpgaImagesInput {
  31717. s.FpgaImageIds = v
  31718. return s
  31719. }
  31720. // SetMaxResults sets the MaxResults field's value.
  31721. func (s *DescribeFpgaImagesInput) SetMaxResults(v int64) *DescribeFpgaImagesInput {
  31722. s.MaxResults = &v
  31723. return s
  31724. }
  31725. // SetNextToken sets the NextToken field's value.
  31726. func (s *DescribeFpgaImagesInput) SetNextToken(v string) *DescribeFpgaImagesInput {
  31727. s.NextToken = &v
  31728. return s
  31729. }
  31730. // SetOwners sets the Owners field's value.
  31731. func (s *DescribeFpgaImagesInput) SetOwners(v []*string) *DescribeFpgaImagesInput {
  31732. s.Owners = v
  31733. return s
  31734. }
  31735. type DescribeFpgaImagesOutput struct {
  31736. _ struct{} `type:"structure"`
  31737. // Information about one or more FPGA images.
  31738. FpgaImages []*FpgaImage `locationName:"fpgaImageSet" locationNameList:"item" type:"list"`
  31739. // The token to use to retrieve the next page of results. This value is null
  31740. // when there are no more results to return.
  31741. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  31742. }
  31743. // String returns the string representation
  31744. func (s DescribeFpgaImagesOutput) String() string {
  31745. return awsutil.Prettify(s)
  31746. }
  31747. // GoString returns the string representation
  31748. func (s DescribeFpgaImagesOutput) GoString() string {
  31749. return s.String()
  31750. }
  31751. // SetFpgaImages sets the FpgaImages field's value.
  31752. func (s *DescribeFpgaImagesOutput) SetFpgaImages(v []*FpgaImage) *DescribeFpgaImagesOutput {
  31753. s.FpgaImages = v
  31754. return s
  31755. }
  31756. // SetNextToken sets the NextToken field's value.
  31757. func (s *DescribeFpgaImagesOutput) SetNextToken(v string) *DescribeFpgaImagesOutput {
  31758. s.NextToken = &v
  31759. return s
  31760. }
  31761. type DescribeHostReservationOfferingsInput struct {
  31762. _ struct{} `type:"structure"`
  31763. // One or more filters.
  31764. //
  31765. // * instance-family - The instance family of the offering (e.g., m4).
  31766. //
  31767. // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
  31768. Filter []*Filter `locationNameList:"Filter" type:"list"`
  31769. // This is the maximum duration of the reservation you'd like to purchase, specified
  31770. // in seconds. Reservations are available in one-year and three-year terms.
  31771. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  31772. // times one of the supported durations (1 or 3). For example, specify 94608000
  31773. // for three years.
  31774. MaxDuration *int64 `type:"integer"`
  31775. // The maximum number of results to return for the request in a single page.
  31776. // The remaining results can be seen by sending another request with the returned
  31777. // nextToken value. This value can be between 5 and 500; if maxResults is given
  31778. // a larger value than 500, you will receive an error.
  31779. MaxResults *int64 `type:"integer"`
  31780. // This is the minimum duration of the reservation you'd like to purchase, specified
  31781. // in seconds. Reservations are available in one-year and three-year terms.
  31782. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  31783. // times one of the supported durations (1 or 3). For example, specify 31536000
  31784. // for one year.
  31785. MinDuration *int64 `type:"integer"`
  31786. // The token to use to retrieve the next page of results.
  31787. NextToken *string `type:"string"`
  31788. // The ID of the reservation offering.
  31789. OfferingId *string `type:"string"`
  31790. }
  31791. // String returns the string representation
  31792. func (s DescribeHostReservationOfferingsInput) String() string {
  31793. return awsutil.Prettify(s)
  31794. }
  31795. // GoString returns the string representation
  31796. func (s DescribeHostReservationOfferingsInput) GoString() string {
  31797. return s.String()
  31798. }
  31799. // SetFilter sets the Filter field's value.
  31800. func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput {
  31801. s.Filter = v
  31802. return s
  31803. }
  31804. // SetMaxDuration sets the MaxDuration field's value.
  31805. func (s *DescribeHostReservationOfferingsInput) SetMaxDuration(v int64) *DescribeHostReservationOfferingsInput {
  31806. s.MaxDuration = &v
  31807. return s
  31808. }
  31809. // SetMaxResults sets the MaxResults field's value.
  31810. func (s *DescribeHostReservationOfferingsInput) SetMaxResults(v int64) *DescribeHostReservationOfferingsInput {
  31811. s.MaxResults = &v
  31812. return s
  31813. }
  31814. // SetMinDuration sets the MinDuration field's value.
  31815. func (s *DescribeHostReservationOfferingsInput) SetMinDuration(v int64) *DescribeHostReservationOfferingsInput {
  31816. s.MinDuration = &v
  31817. return s
  31818. }
  31819. // SetNextToken sets the NextToken field's value.
  31820. func (s *DescribeHostReservationOfferingsInput) SetNextToken(v string) *DescribeHostReservationOfferingsInput {
  31821. s.NextToken = &v
  31822. return s
  31823. }
  31824. // SetOfferingId sets the OfferingId field's value.
  31825. func (s *DescribeHostReservationOfferingsInput) SetOfferingId(v string) *DescribeHostReservationOfferingsInput {
  31826. s.OfferingId = &v
  31827. return s
  31828. }
  31829. type DescribeHostReservationOfferingsOutput struct {
  31830. _ struct{} `type:"structure"`
  31831. // The token to use to retrieve the next page of results. This value is null
  31832. // when there are no more results to return.
  31833. NextToken *string `locationName:"nextToken" type:"string"`
  31834. // Information about the offerings.
  31835. OfferingSet []*HostOffering `locationName:"offeringSet" locationNameList:"item" type:"list"`
  31836. }
  31837. // String returns the string representation
  31838. func (s DescribeHostReservationOfferingsOutput) String() string {
  31839. return awsutil.Prettify(s)
  31840. }
  31841. // GoString returns the string representation
  31842. func (s DescribeHostReservationOfferingsOutput) GoString() string {
  31843. return s.String()
  31844. }
  31845. // SetNextToken sets the NextToken field's value.
  31846. func (s *DescribeHostReservationOfferingsOutput) SetNextToken(v string) *DescribeHostReservationOfferingsOutput {
  31847. s.NextToken = &v
  31848. return s
  31849. }
  31850. // SetOfferingSet sets the OfferingSet field's value.
  31851. func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOffering) *DescribeHostReservationOfferingsOutput {
  31852. s.OfferingSet = v
  31853. return s
  31854. }
  31855. type DescribeHostReservationsInput struct {
  31856. _ struct{} `type:"structure"`
  31857. // One or more filters.
  31858. //
  31859. // * instance-family - The instance family (e.g., m4).
  31860. //
  31861. // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
  31862. //
  31863. // * state - The state of the reservation (payment-pending | payment-failed
  31864. // | active | retired).
  31865. Filter []*Filter `locationNameList:"Filter" type:"list"`
  31866. // One or more host reservation IDs.
  31867. HostReservationIdSet []*string `locationNameList:"item" type:"list"`
  31868. // The maximum number of results to return for the request in a single page.
  31869. // The remaining results can be seen by sending another request with the returned
  31870. // nextToken value. This value can be between 5 and 500; if maxResults is given
  31871. // a larger value than 500, you will receive an error.
  31872. MaxResults *int64 `type:"integer"`
  31873. // The token to use to retrieve the next page of results.
  31874. NextToken *string `type:"string"`
  31875. }
  31876. // String returns the string representation
  31877. func (s DescribeHostReservationsInput) String() string {
  31878. return awsutil.Prettify(s)
  31879. }
  31880. // GoString returns the string representation
  31881. func (s DescribeHostReservationsInput) GoString() string {
  31882. return s.String()
  31883. }
  31884. // SetFilter sets the Filter field's value.
  31885. func (s *DescribeHostReservationsInput) SetFilter(v []*Filter) *DescribeHostReservationsInput {
  31886. s.Filter = v
  31887. return s
  31888. }
  31889. // SetHostReservationIdSet sets the HostReservationIdSet field's value.
  31890. func (s *DescribeHostReservationsInput) SetHostReservationIdSet(v []*string) *DescribeHostReservationsInput {
  31891. s.HostReservationIdSet = v
  31892. return s
  31893. }
  31894. // SetMaxResults sets the MaxResults field's value.
  31895. func (s *DescribeHostReservationsInput) SetMaxResults(v int64) *DescribeHostReservationsInput {
  31896. s.MaxResults = &v
  31897. return s
  31898. }
  31899. // SetNextToken sets the NextToken field's value.
  31900. func (s *DescribeHostReservationsInput) SetNextToken(v string) *DescribeHostReservationsInput {
  31901. s.NextToken = &v
  31902. return s
  31903. }
  31904. type DescribeHostReservationsOutput struct {
  31905. _ struct{} `type:"structure"`
  31906. // Details about the reservation's configuration.
  31907. HostReservationSet []*HostReservation `locationName:"hostReservationSet" locationNameList:"item" type:"list"`
  31908. // The token to use to retrieve the next page of results. This value is null
  31909. // when there are no more results to return.
  31910. NextToken *string `locationName:"nextToken" type:"string"`
  31911. }
  31912. // String returns the string representation
  31913. func (s DescribeHostReservationsOutput) String() string {
  31914. return awsutil.Prettify(s)
  31915. }
  31916. // GoString returns the string representation
  31917. func (s DescribeHostReservationsOutput) GoString() string {
  31918. return s.String()
  31919. }
  31920. // SetHostReservationSet sets the HostReservationSet field's value.
  31921. func (s *DescribeHostReservationsOutput) SetHostReservationSet(v []*HostReservation) *DescribeHostReservationsOutput {
  31922. s.HostReservationSet = v
  31923. return s
  31924. }
  31925. // SetNextToken sets the NextToken field's value.
  31926. func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostReservationsOutput {
  31927. s.NextToken = &v
  31928. return s
  31929. }
  31930. // Contains the parameters for DescribeHosts.
  31931. type DescribeHostsInput struct {
  31932. _ struct{} `type:"structure"`
  31933. // One or more filters.
  31934. //
  31935. // * auto-placement - Whether auto-placement is enabled or disabled (on |
  31936. // off).
  31937. //
  31938. // * availability-zone - The Availability Zone of the host.
  31939. //
  31940. // * client-token - The idempotency token you provided when you allocated
  31941. // the host.
  31942. //
  31943. // * host-reservation-id - The ID of the reservation assigned to this host.
  31944. //
  31945. // * instance-type - The instance type size that the Dedicated Host is configured
  31946. // to support.
  31947. //
  31948. // * state - The allocation state of the Dedicated Host (available | under-assessment
  31949. // | permanent-failure | released | released-permanent-failure).
  31950. Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  31951. // The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
  31952. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
  31953. // The maximum number of results to return for the request in a single page.
  31954. // The remaining results can be seen by sending another request with the returned
  31955. // nextToken value. This value can be between 5 and 500; if maxResults is given
  31956. // a larger value than 500, you will receive an error. You cannot specify this
  31957. // parameter and the host IDs parameter in the same request.
  31958. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  31959. // The token to retrieve the next page of results.
  31960. NextToken *string `locationName:"nextToken" type:"string"`
  31961. }
  31962. // String returns the string representation
  31963. func (s DescribeHostsInput) String() string {
  31964. return awsutil.Prettify(s)
  31965. }
  31966. // GoString returns the string representation
  31967. func (s DescribeHostsInput) GoString() string {
  31968. return s.String()
  31969. }
  31970. // SetFilter sets the Filter field's value.
  31971. func (s *DescribeHostsInput) SetFilter(v []*Filter) *DescribeHostsInput {
  31972. s.Filter = v
  31973. return s
  31974. }
  31975. // SetHostIds sets the HostIds field's value.
  31976. func (s *DescribeHostsInput) SetHostIds(v []*string) *DescribeHostsInput {
  31977. s.HostIds = v
  31978. return s
  31979. }
  31980. // SetMaxResults sets the MaxResults field's value.
  31981. func (s *DescribeHostsInput) SetMaxResults(v int64) *DescribeHostsInput {
  31982. s.MaxResults = &v
  31983. return s
  31984. }
  31985. // SetNextToken sets the NextToken field's value.
  31986. func (s *DescribeHostsInput) SetNextToken(v string) *DescribeHostsInput {
  31987. s.NextToken = &v
  31988. return s
  31989. }
  31990. // Contains the output of DescribeHosts.
  31991. type DescribeHostsOutput struct {
  31992. _ struct{} `type:"structure"`
  31993. // Information about the Dedicated Hosts.
  31994. Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"`
  31995. // The token to use to retrieve the next page of results. This value is null
  31996. // when there are no more results to return.
  31997. NextToken *string `locationName:"nextToken" type:"string"`
  31998. }
  31999. // String returns the string representation
  32000. func (s DescribeHostsOutput) String() string {
  32001. return awsutil.Prettify(s)
  32002. }
  32003. // GoString returns the string representation
  32004. func (s DescribeHostsOutput) GoString() string {
  32005. return s.String()
  32006. }
  32007. // SetHosts sets the Hosts field's value.
  32008. func (s *DescribeHostsOutput) SetHosts(v []*Host) *DescribeHostsOutput {
  32009. s.Hosts = v
  32010. return s
  32011. }
  32012. // SetNextToken sets the NextToken field's value.
  32013. func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput {
  32014. s.NextToken = &v
  32015. return s
  32016. }
  32017. type DescribeIamInstanceProfileAssociationsInput struct {
  32018. _ struct{} `type:"structure"`
  32019. // One or more IAM instance profile associations.
  32020. AssociationIds []*string `locationName:"AssociationId" locationNameList:"AssociationId" type:"list"`
  32021. // One or more filters.
  32022. //
  32023. // * instance-id - The ID of the instance.
  32024. //
  32025. // * state - The state of the association (associating | associated | disassociating
  32026. // | disassociated).
  32027. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32028. // The maximum number of results to return in a single call. To retrieve the
  32029. // remaining results, make another call with the returned NextToken value.
  32030. MaxResults *int64 `min:"5" type:"integer"`
  32031. // The token to request the next page of results.
  32032. NextToken *string `min:"1" type:"string"`
  32033. }
  32034. // String returns the string representation
  32035. func (s DescribeIamInstanceProfileAssociationsInput) String() string {
  32036. return awsutil.Prettify(s)
  32037. }
  32038. // GoString returns the string representation
  32039. func (s DescribeIamInstanceProfileAssociationsInput) GoString() string {
  32040. return s.String()
  32041. }
  32042. // Validate inspects the fields of the type to determine if they are valid.
  32043. func (s *DescribeIamInstanceProfileAssociationsInput) Validate() error {
  32044. invalidParams := request.ErrInvalidParams{Context: "DescribeIamInstanceProfileAssociationsInput"}
  32045. if s.MaxResults != nil && *s.MaxResults < 5 {
  32046. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  32047. }
  32048. if s.NextToken != nil && len(*s.NextToken) < 1 {
  32049. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  32050. }
  32051. if invalidParams.Len() > 0 {
  32052. return invalidParams
  32053. }
  32054. return nil
  32055. }
  32056. // SetAssociationIds sets the AssociationIds field's value.
  32057. func (s *DescribeIamInstanceProfileAssociationsInput) SetAssociationIds(v []*string) *DescribeIamInstanceProfileAssociationsInput {
  32058. s.AssociationIds = v
  32059. return s
  32060. }
  32061. // SetFilters sets the Filters field's value.
  32062. func (s *DescribeIamInstanceProfileAssociationsInput) SetFilters(v []*Filter) *DescribeIamInstanceProfileAssociationsInput {
  32063. s.Filters = v
  32064. return s
  32065. }
  32066. // SetMaxResults sets the MaxResults field's value.
  32067. func (s *DescribeIamInstanceProfileAssociationsInput) SetMaxResults(v int64) *DescribeIamInstanceProfileAssociationsInput {
  32068. s.MaxResults = &v
  32069. return s
  32070. }
  32071. // SetNextToken sets the NextToken field's value.
  32072. func (s *DescribeIamInstanceProfileAssociationsInput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsInput {
  32073. s.NextToken = &v
  32074. return s
  32075. }
  32076. type DescribeIamInstanceProfileAssociationsOutput struct {
  32077. _ struct{} `type:"structure"`
  32078. // Information about one or more IAM instance profile associations.
  32079. IamInstanceProfileAssociations []*IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociationSet" locationNameList:"item" type:"list"`
  32080. // The token to use to retrieve the next page of results. This value is null
  32081. // when there are no more results to return.
  32082. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  32083. }
  32084. // String returns the string representation
  32085. func (s DescribeIamInstanceProfileAssociationsOutput) String() string {
  32086. return awsutil.Prettify(s)
  32087. }
  32088. // GoString returns the string representation
  32089. func (s DescribeIamInstanceProfileAssociationsOutput) GoString() string {
  32090. return s.String()
  32091. }
  32092. // SetIamInstanceProfileAssociations sets the IamInstanceProfileAssociations field's value.
  32093. func (s *DescribeIamInstanceProfileAssociationsOutput) SetIamInstanceProfileAssociations(v []*IamInstanceProfileAssociation) *DescribeIamInstanceProfileAssociationsOutput {
  32094. s.IamInstanceProfileAssociations = v
  32095. return s
  32096. }
  32097. // SetNextToken sets the NextToken field's value.
  32098. func (s *DescribeIamInstanceProfileAssociationsOutput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsOutput {
  32099. s.NextToken = &v
  32100. return s
  32101. }
  32102. // Contains the parameters for DescribeIdFormat.
  32103. type DescribeIdFormatInput struct {
  32104. _ struct{} `type:"structure"`
  32105. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  32106. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  32107. // | image | import-task | instance | internet-gateway | network-acl | network-acl-association
  32108. // | network-interface | network-interface-attachment | prefix-list | reservation
  32109. // | route-table | route-table-association | security-group | snapshot | subnet
  32110. // | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  32111. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
  32112. Resource *string `type:"string"`
  32113. }
  32114. // String returns the string representation
  32115. func (s DescribeIdFormatInput) String() string {
  32116. return awsutil.Prettify(s)
  32117. }
  32118. // GoString returns the string representation
  32119. func (s DescribeIdFormatInput) GoString() string {
  32120. return s.String()
  32121. }
  32122. // SetResource sets the Resource field's value.
  32123. func (s *DescribeIdFormatInput) SetResource(v string) *DescribeIdFormatInput {
  32124. s.Resource = &v
  32125. return s
  32126. }
  32127. // Contains the output of DescribeIdFormat.
  32128. type DescribeIdFormatOutput struct {
  32129. _ struct{} `type:"structure"`
  32130. // Information about the ID format for the resource.
  32131. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  32132. }
  32133. // String returns the string representation
  32134. func (s DescribeIdFormatOutput) String() string {
  32135. return awsutil.Prettify(s)
  32136. }
  32137. // GoString returns the string representation
  32138. func (s DescribeIdFormatOutput) GoString() string {
  32139. return s.String()
  32140. }
  32141. // SetStatuses sets the Statuses field's value.
  32142. func (s *DescribeIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdFormatOutput {
  32143. s.Statuses = v
  32144. return s
  32145. }
  32146. // Contains the parameters for DescribeIdentityIdFormat.
  32147. type DescribeIdentityIdFormatInput struct {
  32148. _ struct{} `type:"structure"`
  32149. // The ARN of the principal, which can be an IAM role, IAM user, or the root
  32150. // user.
  32151. //
  32152. // PrincipalArn is a required field
  32153. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  32154. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  32155. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  32156. // | image | import-task | instance | internet-gateway | network-acl | network-acl-association
  32157. // | network-interface | network-interface-attachment | prefix-list | reservation
  32158. // | route-table | route-table-association | security-group | snapshot | subnet
  32159. // | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  32160. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
  32161. Resource *string `locationName:"resource" type:"string"`
  32162. }
  32163. // String returns the string representation
  32164. func (s DescribeIdentityIdFormatInput) String() string {
  32165. return awsutil.Prettify(s)
  32166. }
  32167. // GoString returns the string representation
  32168. func (s DescribeIdentityIdFormatInput) GoString() string {
  32169. return s.String()
  32170. }
  32171. // Validate inspects the fields of the type to determine if they are valid.
  32172. func (s *DescribeIdentityIdFormatInput) Validate() error {
  32173. invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
  32174. if s.PrincipalArn == nil {
  32175. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  32176. }
  32177. if invalidParams.Len() > 0 {
  32178. return invalidParams
  32179. }
  32180. return nil
  32181. }
  32182. // SetPrincipalArn sets the PrincipalArn field's value.
  32183. func (s *DescribeIdentityIdFormatInput) SetPrincipalArn(v string) *DescribeIdentityIdFormatInput {
  32184. s.PrincipalArn = &v
  32185. return s
  32186. }
  32187. // SetResource sets the Resource field's value.
  32188. func (s *DescribeIdentityIdFormatInput) SetResource(v string) *DescribeIdentityIdFormatInput {
  32189. s.Resource = &v
  32190. return s
  32191. }
  32192. // Contains the output of DescribeIdentityIdFormat.
  32193. type DescribeIdentityIdFormatOutput struct {
  32194. _ struct{} `type:"structure"`
  32195. // Information about the ID format for the resources.
  32196. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  32197. }
  32198. // String returns the string representation
  32199. func (s DescribeIdentityIdFormatOutput) String() string {
  32200. return awsutil.Prettify(s)
  32201. }
  32202. // GoString returns the string representation
  32203. func (s DescribeIdentityIdFormatOutput) GoString() string {
  32204. return s.String()
  32205. }
  32206. // SetStatuses sets the Statuses field's value.
  32207. func (s *DescribeIdentityIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdentityIdFormatOutput {
  32208. s.Statuses = v
  32209. return s
  32210. }
  32211. // Contains the parameters for DescribeImageAttribute.
  32212. type DescribeImageAttributeInput struct {
  32213. _ struct{} `type:"structure"`
  32214. // The AMI attribute.
  32215. //
  32216. // Note: Depending on your account privileges, the blockDeviceMapping attribute
  32217. // may return a Client.AuthFailure error. If this happens, use DescribeImages
  32218. // to get information about the block device mapping for the AMI.
  32219. //
  32220. // Attribute is a required field
  32221. Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
  32222. // Checks whether you have the required permissions for the action, without
  32223. // actually making the request, and provides an error response. If you have
  32224. // the required permissions, the error response is DryRunOperation. Otherwise,
  32225. // it is UnauthorizedOperation.
  32226. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32227. // The ID of the AMI.
  32228. //
  32229. // ImageId is a required field
  32230. ImageId *string `type:"string" required:"true"`
  32231. }
  32232. // String returns the string representation
  32233. func (s DescribeImageAttributeInput) String() string {
  32234. return awsutil.Prettify(s)
  32235. }
  32236. // GoString returns the string representation
  32237. func (s DescribeImageAttributeInput) GoString() string {
  32238. return s.String()
  32239. }
  32240. // Validate inspects the fields of the type to determine if they are valid.
  32241. func (s *DescribeImageAttributeInput) Validate() error {
  32242. invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
  32243. if s.Attribute == nil {
  32244. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  32245. }
  32246. if s.ImageId == nil {
  32247. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  32248. }
  32249. if invalidParams.Len() > 0 {
  32250. return invalidParams
  32251. }
  32252. return nil
  32253. }
  32254. // SetAttribute sets the Attribute field's value.
  32255. func (s *DescribeImageAttributeInput) SetAttribute(v string) *DescribeImageAttributeInput {
  32256. s.Attribute = &v
  32257. return s
  32258. }
  32259. // SetDryRun sets the DryRun field's value.
  32260. func (s *DescribeImageAttributeInput) SetDryRun(v bool) *DescribeImageAttributeInput {
  32261. s.DryRun = &v
  32262. return s
  32263. }
  32264. // SetImageId sets the ImageId field's value.
  32265. func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttributeInput {
  32266. s.ImageId = &v
  32267. return s
  32268. }
  32269. // Describes an image attribute.
  32270. type DescribeImageAttributeOutput struct {
  32271. _ struct{} `type:"structure"`
  32272. // One or more block device mapping entries.
  32273. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  32274. // A description for the AMI.
  32275. Description *AttributeValue `locationName:"description" type:"structure"`
  32276. // The ID of the AMI.
  32277. ImageId *string `locationName:"imageId" type:"string"`
  32278. // The kernel ID.
  32279. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  32280. // One or more launch permissions.
  32281. LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
  32282. // One or more product codes.
  32283. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  32284. // The RAM disk ID.
  32285. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  32286. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  32287. // interface is enabled.
  32288. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  32289. }
  32290. // String returns the string representation
  32291. func (s DescribeImageAttributeOutput) String() string {
  32292. return awsutil.Prettify(s)
  32293. }
  32294. // GoString returns the string representation
  32295. func (s DescribeImageAttributeOutput) GoString() string {
  32296. return s.String()
  32297. }
  32298. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  32299. func (s *DescribeImageAttributeOutput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *DescribeImageAttributeOutput {
  32300. s.BlockDeviceMappings = v
  32301. return s
  32302. }
  32303. // SetDescription sets the Description field's value.
  32304. func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput {
  32305. s.Description = v
  32306. return s
  32307. }
  32308. // SetImageId sets the ImageId field's value.
  32309. func (s *DescribeImageAttributeOutput) SetImageId(v string) *DescribeImageAttributeOutput {
  32310. s.ImageId = &v
  32311. return s
  32312. }
  32313. // SetKernelId sets the KernelId field's value.
  32314. func (s *DescribeImageAttributeOutput) SetKernelId(v *AttributeValue) *DescribeImageAttributeOutput {
  32315. s.KernelId = v
  32316. return s
  32317. }
  32318. // SetLaunchPermissions sets the LaunchPermissions field's value.
  32319. func (s *DescribeImageAttributeOutput) SetLaunchPermissions(v []*LaunchPermission) *DescribeImageAttributeOutput {
  32320. s.LaunchPermissions = v
  32321. return s
  32322. }
  32323. // SetProductCodes sets the ProductCodes field's value.
  32324. func (s *DescribeImageAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeImageAttributeOutput {
  32325. s.ProductCodes = v
  32326. return s
  32327. }
  32328. // SetRamdiskId sets the RamdiskId field's value.
  32329. func (s *DescribeImageAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeImageAttributeOutput {
  32330. s.RamdiskId = v
  32331. return s
  32332. }
  32333. // SetSriovNetSupport sets the SriovNetSupport field's value.
  32334. func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeImageAttributeOutput {
  32335. s.SriovNetSupport = v
  32336. return s
  32337. }
  32338. // Contains the parameters for DescribeImages.
  32339. type DescribeImagesInput struct {
  32340. _ struct{} `type:"structure"`
  32341. // Checks whether you have the required permissions for the action, without
  32342. // actually making the request, and provides an error response. If you have
  32343. // the required permissions, the error response is DryRunOperation. Otherwise,
  32344. // it is UnauthorizedOperation.
  32345. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32346. // Scopes the images by users with explicit launch permissions. Specify an AWS
  32347. // account ID, self (the sender of the request), or all (public AMIs).
  32348. ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
  32349. // One or more filters.
  32350. //
  32351. // * architecture - The image architecture (i386 | x86_64).
  32352. //
  32353. // * block-device-mapping.delete-on-termination - A Boolean value that indicates
  32354. // whether the Amazon EBS volume is deleted on instance termination.
  32355. //
  32356. // * block-device-mapping.device-name - The device name specified in the
  32357. // block device mapping (for example, /dev/sdh or xvdh).
  32358. //
  32359. // * block-device-mapping.snapshot-id - The ID of the snapshot used for the
  32360. // EBS volume.
  32361. //
  32362. // * block-device-mapping.volume-size - The volume size of the EBS volume,
  32363. // in GiB.
  32364. //
  32365. // * block-device-mapping.volume-type - The volume type of the EBS volume
  32366. // (gp2 | io1 | st1 | sc1 | standard).
  32367. //
  32368. // * description - The description of the image (provided during image creation).
  32369. //
  32370. // * ena-support - A Boolean that indicates whether enhanced networking with
  32371. // ENA is enabled.
  32372. //
  32373. // * hypervisor - The hypervisor type (ovm | xen).
  32374. //
  32375. // * image-id - The ID of the image.
  32376. //
  32377. // * image-type - The image type (machine | kernel | ramdisk).
  32378. //
  32379. // * is-public - A Boolean that indicates whether the image is public.
  32380. //
  32381. // * kernel-id - The kernel ID.
  32382. //
  32383. // * manifest-location - The location of the image manifest.
  32384. //
  32385. // * name - The name of the AMI (provided during image creation).
  32386. //
  32387. // * owner-alias - String value from an Amazon-maintained list (amazon |
  32388. // aws-marketplace | microsoft) of snapshot owners. Not to be confused with
  32389. // the user-configured AWS account alias, which is set from the IAM console.
  32390. //
  32391. // * owner-id - The AWS account ID of the image owner.
  32392. //
  32393. // * platform - The platform. To only list Windows-based AMIs, use windows.
  32394. //
  32395. // * product-code - The product code.
  32396. //
  32397. // * product-code.type - The type of the product code (devpay | marketplace).
  32398. //
  32399. // * ramdisk-id - The RAM disk ID.
  32400. //
  32401. // * root-device-name - The device name of the root device volume (for example,
  32402. // /dev/sda1).
  32403. //
  32404. // * root-device-type - The type of the root device volume (ebs | instance-store).
  32405. //
  32406. // * state - The state of the image (available | pending | failed).
  32407. //
  32408. // * state-reason-code - The reason code for the state change.
  32409. //
  32410. // * state-reason-message - The message for the state change.
  32411. //
  32412. // * sriov-net-support - A value of simple indicates that enhanced networking
  32413. // with the Intel 82599 VF interface is enabled.
  32414. //
  32415. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  32416. // Specify the key of the tag in the filter name and the value of the tag
  32417. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  32418. // for the filter name and X for the filter value.
  32419. //
  32420. // * tag-key - The key of a tag assigned to the resource. This filter is
  32421. // independent of the tag-value filter. For example, if you use both the
  32422. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  32423. // assigned both the tag key Purpose (regardless of what the tag's value
  32424. // is), and the tag value X (regardless of what the tag's key is). If you
  32425. // want to list only resources where Purpose is X, see the tag:key=value
  32426. // filter.
  32427. //
  32428. // * tag-value - The value of a tag assigned to the resource. This filter
  32429. // is independent of the tag-key filter.
  32430. //
  32431. // * virtualization-type - The virtualization type (paravirtual | hvm).
  32432. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32433. // One or more image IDs.
  32434. //
  32435. // Default: Describes all images available to you.
  32436. ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
  32437. // Filters the images by the owner. Specify an AWS account ID, self (owner is
  32438. // the sender of the request), or an AWS owner alias (valid values are amazon
  32439. // | aws-marketplace | microsoft). Omitting this option returns all images for
  32440. // which you have launch permissions, regardless of ownership.
  32441. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  32442. }
  32443. // String returns the string representation
  32444. func (s DescribeImagesInput) String() string {
  32445. return awsutil.Prettify(s)
  32446. }
  32447. // GoString returns the string representation
  32448. func (s DescribeImagesInput) GoString() string {
  32449. return s.String()
  32450. }
  32451. // SetDryRun sets the DryRun field's value.
  32452. func (s *DescribeImagesInput) SetDryRun(v bool) *DescribeImagesInput {
  32453. s.DryRun = &v
  32454. return s
  32455. }
  32456. // SetExecutableUsers sets the ExecutableUsers field's value.
  32457. func (s *DescribeImagesInput) SetExecutableUsers(v []*string) *DescribeImagesInput {
  32458. s.ExecutableUsers = v
  32459. return s
  32460. }
  32461. // SetFilters sets the Filters field's value.
  32462. func (s *DescribeImagesInput) SetFilters(v []*Filter) *DescribeImagesInput {
  32463. s.Filters = v
  32464. return s
  32465. }
  32466. // SetImageIds sets the ImageIds field's value.
  32467. func (s *DescribeImagesInput) SetImageIds(v []*string) *DescribeImagesInput {
  32468. s.ImageIds = v
  32469. return s
  32470. }
  32471. // SetOwners sets the Owners field's value.
  32472. func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput {
  32473. s.Owners = v
  32474. return s
  32475. }
  32476. // Contains the output of DescribeImages.
  32477. type DescribeImagesOutput struct {
  32478. _ struct{} `type:"structure"`
  32479. // Information about one or more images.
  32480. Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
  32481. }
  32482. // String returns the string representation
  32483. func (s DescribeImagesOutput) String() string {
  32484. return awsutil.Prettify(s)
  32485. }
  32486. // GoString returns the string representation
  32487. func (s DescribeImagesOutput) GoString() string {
  32488. return s.String()
  32489. }
  32490. // SetImages sets the Images field's value.
  32491. func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
  32492. s.Images = v
  32493. return s
  32494. }
  32495. // Contains the parameters for DescribeImportImageTasks.
  32496. type DescribeImportImageTasksInput struct {
  32497. _ struct{} `type:"structure"`
  32498. // Checks whether you have the required permissions for the action, without
  32499. // actually making the request, and provides an error response. If you have
  32500. // the required permissions, the error response is DryRunOperation. Otherwise,
  32501. // it is UnauthorizedOperation.
  32502. DryRun *bool `type:"boolean"`
  32503. // Filter tasks using the task-state filter and one of the following values:
  32504. // active, completed, deleting, deleted.
  32505. Filters []*Filter `locationNameList:"Filter" type:"list"`
  32506. // A list of import image task IDs.
  32507. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  32508. // The maximum number of results to return in a single call. To retrieve the
  32509. // remaining results, make another call with the returned NextToken value.
  32510. MaxResults *int64 `type:"integer"`
  32511. // A token that indicates the next page of results.
  32512. NextToken *string `type:"string"`
  32513. }
  32514. // String returns the string representation
  32515. func (s DescribeImportImageTasksInput) String() string {
  32516. return awsutil.Prettify(s)
  32517. }
  32518. // GoString returns the string representation
  32519. func (s DescribeImportImageTasksInput) GoString() string {
  32520. return s.String()
  32521. }
  32522. // SetDryRun sets the DryRun field's value.
  32523. func (s *DescribeImportImageTasksInput) SetDryRun(v bool) *DescribeImportImageTasksInput {
  32524. s.DryRun = &v
  32525. return s
  32526. }
  32527. // SetFilters sets the Filters field's value.
  32528. func (s *DescribeImportImageTasksInput) SetFilters(v []*Filter) *DescribeImportImageTasksInput {
  32529. s.Filters = v
  32530. return s
  32531. }
  32532. // SetImportTaskIds sets the ImportTaskIds field's value.
  32533. func (s *DescribeImportImageTasksInput) SetImportTaskIds(v []*string) *DescribeImportImageTasksInput {
  32534. s.ImportTaskIds = v
  32535. return s
  32536. }
  32537. // SetMaxResults sets the MaxResults field's value.
  32538. func (s *DescribeImportImageTasksInput) SetMaxResults(v int64) *DescribeImportImageTasksInput {
  32539. s.MaxResults = &v
  32540. return s
  32541. }
  32542. // SetNextToken sets the NextToken field's value.
  32543. func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportImageTasksInput {
  32544. s.NextToken = &v
  32545. return s
  32546. }
  32547. // Contains the output for DescribeImportImageTasks.
  32548. type DescribeImportImageTasksOutput struct {
  32549. _ struct{} `type:"structure"`
  32550. // A list of zero or more import image tasks that are currently active or were
  32551. // completed or canceled in the previous 7 days.
  32552. ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
  32553. // The token to use to get the next page of results. This value is null when
  32554. // there are no more results to return.
  32555. NextToken *string `locationName:"nextToken" type:"string"`
  32556. }
  32557. // String returns the string representation
  32558. func (s DescribeImportImageTasksOutput) String() string {
  32559. return awsutil.Prettify(s)
  32560. }
  32561. // GoString returns the string representation
  32562. func (s DescribeImportImageTasksOutput) GoString() string {
  32563. return s.String()
  32564. }
  32565. // SetImportImageTasks sets the ImportImageTasks field's value.
  32566. func (s *DescribeImportImageTasksOutput) SetImportImageTasks(v []*ImportImageTask) *DescribeImportImageTasksOutput {
  32567. s.ImportImageTasks = v
  32568. return s
  32569. }
  32570. // SetNextToken sets the NextToken field's value.
  32571. func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportImageTasksOutput {
  32572. s.NextToken = &v
  32573. return s
  32574. }
  32575. // Contains the parameters for DescribeImportSnapshotTasks.
  32576. type DescribeImportSnapshotTasksInput struct {
  32577. _ struct{} `type:"structure"`
  32578. // Checks whether you have the required permissions for the action, without
  32579. // actually making the request, and provides an error response. If you have
  32580. // the required permissions, the error response is DryRunOperation. Otherwise,
  32581. // it is UnauthorizedOperation.
  32582. DryRun *bool `type:"boolean"`
  32583. // One or more filters.
  32584. Filters []*Filter `locationNameList:"Filter" type:"list"`
  32585. // A list of import snapshot task IDs.
  32586. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  32587. // The maximum number of results to return in a single call. To retrieve the
  32588. // remaining results, make another call with the returned NextToken value.
  32589. MaxResults *int64 `type:"integer"`
  32590. // A token that indicates the next page of results.
  32591. NextToken *string `type:"string"`
  32592. }
  32593. // String returns the string representation
  32594. func (s DescribeImportSnapshotTasksInput) String() string {
  32595. return awsutil.Prettify(s)
  32596. }
  32597. // GoString returns the string representation
  32598. func (s DescribeImportSnapshotTasksInput) GoString() string {
  32599. return s.String()
  32600. }
  32601. // SetDryRun sets the DryRun field's value.
  32602. func (s *DescribeImportSnapshotTasksInput) SetDryRun(v bool) *DescribeImportSnapshotTasksInput {
  32603. s.DryRun = &v
  32604. return s
  32605. }
  32606. // SetFilters sets the Filters field's value.
  32607. func (s *DescribeImportSnapshotTasksInput) SetFilters(v []*Filter) *DescribeImportSnapshotTasksInput {
  32608. s.Filters = v
  32609. return s
  32610. }
  32611. // SetImportTaskIds sets the ImportTaskIds field's value.
  32612. func (s *DescribeImportSnapshotTasksInput) SetImportTaskIds(v []*string) *DescribeImportSnapshotTasksInput {
  32613. s.ImportTaskIds = v
  32614. return s
  32615. }
  32616. // SetMaxResults sets the MaxResults field's value.
  32617. func (s *DescribeImportSnapshotTasksInput) SetMaxResults(v int64) *DescribeImportSnapshotTasksInput {
  32618. s.MaxResults = &v
  32619. return s
  32620. }
  32621. // SetNextToken sets the NextToken field's value.
  32622. func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImportSnapshotTasksInput {
  32623. s.NextToken = &v
  32624. return s
  32625. }
  32626. // Contains the output for DescribeImportSnapshotTasks.
  32627. type DescribeImportSnapshotTasksOutput struct {
  32628. _ struct{} `type:"structure"`
  32629. // A list of zero or more import snapshot tasks that are currently active or
  32630. // were completed or canceled in the previous 7 days.
  32631. ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
  32632. // The token to use to get the next page of results. This value is null when
  32633. // there are no more results to return.
  32634. NextToken *string `locationName:"nextToken" type:"string"`
  32635. }
  32636. // String returns the string representation
  32637. func (s DescribeImportSnapshotTasksOutput) String() string {
  32638. return awsutil.Prettify(s)
  32639. }
  32640. // GoString returns the string representation
  32641. func (s DescribeImportSnapshotTasksOutput) GoString() string {
  32642. return s.String()
  32643. }
  32644. // SetImportSnapshotTasks sets the ImportSnapshotTasks field's value.
  32645. func (s *DescribeImportSnapshotTasksOutput) SetImportSnapshotTasks(v []*ImportSnapshotTask) *DescribeImportSnapshotTasksOutput {
  32646. s.ImportSnapshotTasks = v
  32647. return s
  32648. }
  32649. // SetNextToken sets the NextToken field's value.
  32650. func (s *DescribeImportSnapshotTasksOutput) SetNextToken(v string) *DescribeImportSnapshotTasksOutput {
  32651. s.NextToken = &v
  32652. return s
  32653. }
  32654. // Contains the parameters for DescribeInstanceAttribute.
  32655. type DescribeInstanceAttributeInput struct {
  32656. _ struct{} `type:"structure"`
  32657. // The instance attribute.
  32658. //
  32659. // Note: The enaSupport attribute is not supported at this time.
  32660. //
  32661. // Attribute is a required field
  32662. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  32663. // Checks whether you have the required permissions for the action, without
  32664. // actually making the request, and provides an error response. If you have
  32665. // the required permissions, the error response is DryRunOperation. Otherwise,
  32666. // it is UnauthorizedOperation.
  32667. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32668. // The ID of the instance.
  32669. //
  32670. // InstanceId is a required field
  32671. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  32672. }
  32673. // String returns the string representation
  32674. func (s DescribeInstanceAttributeInput) String() string {
  32675. return awsutil.Prettify(s)
  32676. }
  32677. // GoString returns the string representation
  32678. func (s DescribeInstanceAttributeInput) GoString() string {
  32679. return s.String()
  32680. }
  32681. // Validate inspects the fields of the type to determine if they are valid.
  32682. func (s *DescribeInstanceAttributeInput) Validate() error {
  32683. invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
  32684. if s.Attribute == nil {
  32685. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  32686. }
  32687. if s.InstanceId == nil {
  32688. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  32689. }
  32690. if invalidParams.Len() > 0 {
  32691. return invalidParams
  32692. }
  32693. return nil
  32694. }
  32695. // SetAttribute sets the Attribute field's value.
  32696. func (s *DescribeInstanceAttributeInput) SetAttribute(v string) *DescribeInstanceAttributeInput {
  32697. s.Attribute = &v
  32698. return s
  32699. }
  32700. // SetDryRun sets the DryRun field's value.
  32701. func (s *DescribeInstanceAttributeInput) SetDryRun(v bool) *DescribeInstanceAttributeInput {
  32702. s.DryRun = &v
  32703. return s
  32704. }
  32705. // SetInstanceId sets the InstanceId field's value.
  32706. func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
  32707. s.InstanceId = &v
  32708. return s
  32709. }
  32710. // Describes an instance attribute.
  32711. type DescribeInstanceAttributeOutput struct {
  32712. _ struct{} `type:"structure"`
  32713. // The block device mapping of the instance.
  32714. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  32715. // If the value is true, you can't terminate the instance through the Amazon
  32716. // EC2 console, CLI, or API; otherwise, you can.
  32717. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  32718. // Indicates whether the instance is optimized for Amazon EBS I/O.
  32719. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  32720. // Indicates whether enhanced networking with ENA is enabled.
  32721. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  32722. // The security groups associated with the instance.
  32723. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  32724. // The ID of the instance.
  32725. InstanceId *string `locationName:"instanceId" type:"string"`
  32726. // Indicates whether an instance stops or terminates when you initiate shutdown
  32727. // from the instance (using the operating system command for system shutdown).
  32728. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  32729. // The instance type.
  32730. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  32731. // The kernel ID.
  32732. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  32733. // A list of product codes.
  32734. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  32735. // The RAM disk ID.
  32736. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  32737. // The device name of the root device volume (for example, /dev/sda1).
  32738. RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
  32739. // Indicates whether source/destination checking is enabled. A value of true
  32740. // means that checking is enabled, and false means that checking is disabled.
  32741. // This value must be false for a NAT instance to perform NAT.
  32742. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  32743. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  32744. // interface is enabled.
  32745. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  32746. // The user data.
  32747. UserData *AttributeValue `locationName:"userData" type:"structure"`
  32748. }
  32749. // String returns the string representation
  32750. func (s DescribeInstanceAttributeOutput) String() string {
  32751. return awsutil.Prettify(s)
  32752. }
  32753. // GoString returns the string representation
  32754. func (s DescribeInstanceAttributeOutput) GoString() string {
  32755. return s.String()
  32756. }
  32757. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  32758. func (s *DescribeInstanceAttributeOutput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *DescribeInstanceAttributeOutput {
  32759. s.BlockDeviceMappings = v
  32760. return s
  32761. }
  32762. // SetDisableApiTermination sets the DisableApiTermination field's value.
  32763. func (s *DescribeInstanceAttributeOutput) SetDisableApiTermination(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  32764. s.DisableApiTermination = v
  32765. return s
  32766. }
  32767. // SetEbsOptimized sets the EbsOptimized field's value.
  32768. func (s *DescribeInstanceAttributeOutput) SetEbsOptimized(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  32769. s.EbsOptimized = v
  32770. return s
  32771. }
  32772. // SetEnaSupport sets the EnaSupport field's value.
  32773. func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  32774. s.EnaSupport = v
  32775. return s
  32776. }
  32777. // SetGroups sets the Groups field's value.
  32778. func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
  32779. s.Groups = v
  32780. return s
  32781. }
  32782. // SetInstanceId sets the InstanceId field's value.
  32783. func (s *DescribeInstanceAttributeOutput) SetInstanceId(v string) *DescribeInstanceAttributeOutput {
  32784. s.InstanceId = &v
  32785. return s
  32786. }
  32787. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  32788. func (s *DescribeInstanceAttributeOutput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *DescribeInstanceAttributeOutput {
  32789. s.InstanceInitiatedShutdownBehavior = v
  32790. return s
  32791. }
  32792. // SetInstanceType sets the InstanceType field's value.
  32793. func (s *DescribeInstanceAttributeOutput) SetInstanceType(v *AttributeValue) *DescribeInstanceAttributeOutput {
  32794. s.InstanceType = v
  32795. return s
  32796. }
  32797. // SetKernelId sets the KernelId field's value.
  32798. func (s *DescribeInstanceAttributeOutput) SetKernelId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  32799. s.KernelId = v
  32800. return s
  32801. }
  32802. // SetProductCodes sets the ProductCodes field's value.
  32803. func (s *DescribeInstanceAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeInstanceAttributeOutput {
  32804. s.ProductCodes = v
  32805. return s
  32806. }
  32807. // SetRamdiskId sets the RamdiskId field's value.
  32808. func (s *DescribeInstanceAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  32809. s.RamdiskId = v
  32810. return s
  32811. }
  32812. // SetRootDeviceName sets the RootDeviceName field's value.
  32813. func (s *DescribeInstanceAttributeOutput) SetRootDeviceName(v *AttributeValue) *DescribeInstanceAttributeOutput {
  32814. s.RootDeviceName = v
  32815. return s
  32816. }
  32817. // SetSourceDestCheck sets the SourceDestCheck field's value.
  32818. func (s *DescribeInstanceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  32819. s.SourceDestCheck = v
  32820. return s
  32821. }
  32822. // SetSriovNetSupport sets the SriovNetSupport field's value.
  32823. func (s *DescribeInstanceAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeInstanceAttributeOutput {
  32824. s.SriovNetSupport = v
  32825. return s
  32826. }
  32827. // SetUserData sets the UserData field's value.
  32828. func (s *DescribeInstanceAttributeOutput) SetUserData(v *AttributeValue) *DescribeInstanceAttributeOutput {
  32829. s.UserData = v
  32830. return s
  32831. }
  32832. type DescribeInstanceCreditSpecificationsInput struct {
  32833. _ struct{} `type:"structure"`
  32834. // Checks whether you have the required permissions for the action, without
  32835. // actually making the request, and provides an error response. If you have
  32836. // the required permissions, the error response is DryRunOperation. Otherwise,
  32837. // it is UnauthorizedOperation.
  32838. DryRun *bool `type:"boolean"`
  32839. // One or more filters.
  32840. //
  32841. // * instance-id - The ID of the instance.
  32842. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32843. // One or more instance IDs.
  32844. //
  32845. // Default: Describes all your instances.
  32846. //
  32847. // Constraints: Maximum 1000 explicitly specified instance IDs.
  32848. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  32849. // The maximum number of results to return in a single call. To retrieve the
  32850. // remaining results, make another call with the returned NextToken value. This
  32851. // value can be between 5 and 1000. You cannot specify this parameter and the
  32852. // instance IDs parameter in the same call.
  32853. MaxResults *int64 `type:"integer"`
  32854. // The token to retrieve the next page of results.
  32855. NextToken *string `type:"string"`
  32856. }
  32857. // String returns the string representation
  32858. func (s DescribeInstanceCreditSpecificationsInput) String() string {
  32859. return awsutil.Prettify(s)
  32860. }
  32861. // GoString returns the string representation
  32862. func (s DescribeInstanceCreditSpecificationsInput) GoString() string {
  32863. return s.String()
  32864. }
  32865. // SetDryRun sets the DryRun field's value.
  32866. func (s *DescribeInstanceCreditSpecificationsInput) SetDryRun(v bool) *DescribeInstanceCreditSpecificationsInput {
  32867. s.DryRun = &v
  32868. return s
  32869. }
  32870. // SetFilters sets the Filters field's value.
  32871. func (s *DescribeInstanceCreditSpecificationsInput) SetFilters(v []*Filter) *DescribeInstanceCreditSpecificationsInput {
  32872. s.Filters = v
  32873. return s
  32874. }
  32875. // SetInstanceIds sets the InstanceIds field's value.
  32876. func (s *DescribeInstanceCreditSpecificationsInput) SetInstanceIds(v []*string) *DescribeInstanceCreditSpecificationsInput {
  32877. s.InstanceIds = v
  32878. return s
  32879. }
  32880. // SetMaxResults sets the MaxResults field's value.
  32881. func (s *DescribeInstanceCreditSpecificationsInput) SetMaxResults(v int64) *DescribeInstanceCreditSpecificationsInput {
  32882. s.MaxResults = &v
  32883. return s
  32884. }
  32885. // SetNextToken sets the NextToken field's value.
  32886. func (s *DescribeInstanceCreditSpecificationsInput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsInput {
  32887. s.NextToken = &v
  32888. return s
  32889. }
  32890. type DescribeInstanceCreditSpecificationsOutput struct {
  32891. _ struct{} `type:"structure"`
  32892. // Information about the credit option for CPU usage of an instance.
  32893. InstanceCreditSpecifications []*InstanceCreditSpecification `locationName:"instanceCreditSpecificationSet" locationNameList:"item" type:"list"`
  32894. // The token to use to retrieve the next page of results. This value is null
  32895. // when there are no more results to return.
  32896. NextToken *string `locationName:"nextToken" type:"string"`
  32897. }
  32898. // String returns the string representation
  32899. func (s DescribeInstanceCreditSpecificationsOutput) String() string {
  32900. return awsutil.Prettify(s)
  32901. }
  32902. // GoString returns the string representation
  32903. func (s DescribeInstanceCreditSpecificationsOutput) GoString() string {
  32904. return s.String()
  32905. }
  32906. // SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
  32907. func (s *DescribeInstanceCreditSpecificationsOutput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecification) *DescribeInstanceCreditSpecificationsOutput {
  32908. s.InstanceCreditSpecifications = v
  32909. return s
  32910. }
  32911. // SetNextToken sets the NextToken field's value.
  32912. func (s *DescribeInstanceCreditSpecificationsOutput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsOutput {
  32913. s.NextToken = &v
  32914. return s
  32915. }
  32916. // Contains the parameters for DescribeInstanceStatus.
  32917. type DescribeInstanceStatusInput struct {
  32918. _ struct{} `type:"structure"`
  32919. // Checks whether you have the required permissions for the action, without
  32920. // actually making the request, and provides an error response. If you have
  32921. // the required permissions, the error response is DryRunOperation. Otherwise,
  32922. // it is UnauthorizedOperation.
  32923. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32924. // One or more filters.
  32925. //
  32926. // * availability-zone - The Availability Zone of the instance.
  32927. //
  32928. // * event.code - The code for the scheduled event (instance-reboot | system-reboot
  32929. // | system-maintenance | instance-retirement | instance-stop).
  32930. //
  32931. // * event.description - A description of the event.
  32932. //
  32933. // * event.not-after - The latest end time for the scheduled event (for example,
  32934. // 2014-09-15T17:15:20.000Z).
  32935. //
  32936. // * event.not-before - The earliest start time for the scheduled event (for
  32937. // example, 2014-09-15T17:15:20.000Z).
  32938. //
  32939. // * instance-state-code - The code for the instance state, as a 16-bit unsigned
  32940. // integer. The high byte is an opaque internal value and should be ignored.
  32941. // The low byte is set based on the state represented. The valid values are
  32942. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  32943. // and 80 (stopped).
  32944. //
  32945. // * instance-state-name - The state of the instance (pending | running |
  32946. // shutting-down | terminated | stopping | stopped).
  32947. //
  32948. // * instance-status.reachability - Filters on instance status where the
  32949. // name is reachability (passed | failed | initializing | insufficient-data).
  32950. //
  32951. // * instance-status.status - The status of the instance (ok | impaired |
  32952. // initializing | insufficient-data | not-applicable).
  32953. //
  32954. // * system-status.reachability - Filters on system status where the name
  32955. // is reachability (passed | failed | initializing | insufficient-data).
  32956. //
  32957. // * system-status.status - The system status of the instance (ok | impaired
  32958. // | initializing | insufficient-data | not-applicable).
  32959. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32960. // When true, includes the health status for all instances. When false, includes
  32961. // the health status for running instances only.
  32962. //
  32963. // Default: false
  32964. IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
  32965. // One or more instance IDs.
  32966. //
  32967. // Default: Describes all your instances.
  32968. //
  32969. // Constraints: Maximum 100 explicitly specified instance IDs.
  32970. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  32971. // The maximum number of results to return in a single call. To retrieve the
  32972. // remaining results, make another call with the returned NextToken value. This
  32973. // value can be between 5 and 1000. You cannot specify this parameter and the
  32974. // instance IDs parameter in the same call.
  32975. MaxResults *int64 `type:"integer"`
  32976. // The token to retrieve the next page of results.
  32977. NextToken *string `type:"string"`
  32978. }
  32979. // String returns the string representation
  32980. func (s DescribeInstanceStatusInput) String() string {
  32981. return awsutil.Prettify(s)
  32982. }
  32983. // GoString returns the string representation
  32984. func (s DescribeInstanceStatusInput) GoString() string {
  32985. return s.String()
  32986. }
  32987. // SetDryRun sets the DryRun field's value.
  32988. func (s *DescribeInstanceStatusInput) SetDryRun(v bool) *DescribeInstanceStatusInput {
  32989. s.DryRun = &v
  32990. return s
  32991. }
  32992. // SetFilters sets the Filters field's value.
  32993. func (s *DescribeInstanceStatusInput) SetFilters(v []*Filter) *DescribeInstanceStatusInput {
  32994. s.Filters = v
  32995. return s
  32996. }
  32997. // SetIncludeAllInstances sets the IncludeAllInstances field's value.
  32998. func (s *DescribeInstanceStatusInput) SetIncludeAllInstances(v bool) *DescribeInstanceStatusInput {
  32999. s.IncludeAllInstances = &v
  33000. return s
  33001. }
  33002. // SetInstanceIds sets the InstanceIds field's value.
  33003. func (s *DescribeInstanceStatusInput) SetInstanceIds(v []*string) *DescribeInstanceStatusInput {
  33004. s.InstanceIds = v
  33005. return s
  33006. }
  33007. // SetMaxResults sets the MaxResults field's value.
  33008. func (s *DescribeInstanceStatusInput) SetMaxResults(v int64) *DescribeInstanceStatusInput {
  33009. s.MaxResults = &v
  33010. return s
  33011. }
  33012. // SetNextToken sets the NextToken field's value.
  33013. func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceStatusInput {
  33014. s.NextToken = &v
  33015. return s
  33016. }
  33017. // Contains the output of DescribeInstanceStatus.
  33018. type DescribeInstanceStatusOutput struct {
  33019. _ struct{} `type:"structure"`
  33020. // One or more instance status descriptions.
  33021. InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
  33022. // The token to use to retrieve the next page of results. This value is null
  33023. // when there are no more results to return.
  33024. NextToken *string `locationName:"nextToken" type:"string"`
  33025. }
  33026. // String returns the string representation
  33027. func (s DescribeInstanceStatusOutput) String() string {
  33028. return awsutil.Prettify(s)
  33029. }
  33030. // GoString returns the string representation
  33031. func (s DescribeInstanceStatusOutput) GoString() string {
  33032. return s.String()
  33033. }
  33034. // SetInstanceStatuses sets the InstanceStatuses field's value.
  33035. func (s *DescribeInstanceStatusOutput) SetInstanceStatuses(v []*InstanceStatus) *DescribeInstanceStatusOutput {
  33036. s.InstanceStatuses = v
  33037. return s
  33038. }
  33039. // SetNextToken sets the NextToken field's value.
  33040. func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceStatusOutput {
  33041. s.NextToken = &v
  33042. return s
  33043. }
  33044. // Contains the parameters for DescribeInstances.
  33045. type DescribeInstancesInput struct {
  33046. _ struct{} `type:"structure"`
  33047. // Checks whether you have the required permissions for the action, without
  33048. // actually making the request, and provides an error response. If you have
  33049. // the required permissions, the error response is DryRunOperation. Otherwise,
  33050. // it is UnauthorizedOperation.
  33051. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33052. // One or more filters.
  33053. //
  33054. // * affinity - The affinity setting for an instance running on a Dedicated
  33055. // Host (default | host).
  33056. //
  33057. // * architecture - The instance architecture (i386 | x86_64).
  33058. //
  33059. // * availability-zone - The Availability Zone of the instance.
  33060. //
  33061. // * block-device-mapping.attach-time - The attach time for an EBS volume
  33062. // mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
  33063. //
  33064. // * block-device-mapping.delete-on-termination - A Boolean that indicates
  33065. // whether the EBS volume is deleted on instance termination.
  33066. //
  33067. // * block-device-mapping.device-name - The device name specified in the
  33068. // block device mapping (for example, /dev/sdh or xvdh).
  33069. //
  33070. // * block-device-mapping.status - The status for the EBS volume (attaching
  33071. // | attached | detaching | detached).
  33072. //
  33073. // * block-device-mapping.volume-id - The volume ID of the EBS volume.
  33074. //
  33075. // * client-token - The idempotency token you provided when you launched
  33076. // the instance.
  33077. //
  33078. // * dns-name - The public DNS name of the instance.
  33079. //
  33080. // * group-id - The ID of the security group for the instance. EC2-Classic
  33081. // only.
  33082. //
  33083. // * group-name - The name of the security group for the instance. EC2-Classic
  33084. // only.
  33085. //
  33086. // * host-id - The ID of the Dedicated Host on which the instance is running,
  33087. // if applicable.
  33088. //
  33089. // * hypervisor - The hypervisor type of the instance (ovm | xen).
  33090. //
  33091. // * iam-instance-profile.arn - The instance profile associated with the
  33092. // instance. Specified as an ARN.
  33093. //
  33094. // * image-id - The ID of the image used to launch the instance.
  33095. //
  33096. // * instance-id - The ID of the instance.
  33097. //
  33098. // * instance-lifecycle - Indicates whether this is a Spot Instance or a
  33099. // Scheduled Instance (spot | scheduled).
  33100. //
  33101. // * instance-state-code - The state of the instance, as a 16-bit unsigned
  33102. // integer. The high byte is an opaque internal value and should be ignored.
  33103. // The low byte is set based on the state represented. The valid values are:
  33104. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  33105. // and 80 (stopped).
  33106. //
  33107. // * instance-state-name - The state of the instance (pending | running |
  33108. // shutting-down | terminated | stopping | stopped).
  33109. //
  33110. // * instance-type - The type of instance (for example, t2.micro).
  33111. //
  33112. // * instance.group-id - The ID of the security group for the instance.
  33113. //
  33114. // * instance.group-name - The name of the security group for the instance.
  33115. //
  33116. //
  33117. // * ip-address - The public IPv4 address of the instance.
  33118. //
  33119. // * kernel-id - The kernel ID.
  33120. //
  33121. // * key-name - The name of the key pair used when the instance was launched.
  33122. //
  33123. // * launch-index - When launching multiple instances, this is the index
  33124. // for the instance in the launch group (for example, 0, 1, 2, and so on).
  33125. //
  33126. //
  33127. // * launch-time - The time when the instance was launched.
  33128. //
  33129. // * monitoring-state - Indicates whether detailed monitoring is enabled
  33130. // (disabled | enabled).
  33131. //
  33132. // * network-interface.addresses.private-ip-address - The private IPv4 address
  33133. // associated with the network interface.
  33134. //
  33135. // * network-interface.addresses.primary - Specifies whether the IPv4 address
  33136. // of the network interface is the primary private IPv4 address.
  33137. //
  33138. // * network-interface.addresses.association.public-ip - The ID of the association
  33139. // of an Elastic IP address (IPv4) with a network interface.
  33140. //
  33141. // * network-interface.addresses.association.ip-owner-id - The owner ID of
  33142. // the private IPv4 address associated with the network interface.
  33143. //
  33144. // * network-interface.association.public-ip - The address of the Elastic
  33145. // IP address (IPv4) bound to the network interface.
  33146. //
  33147. // * network-interface.association.ip-owner-id - The owner of the Elastic
  33148. // IP address (IPv4) associated with the network interface.
  33149. //
  33150. // * network-interface.association.allocation-id - The allocation ID returned
  33151. // when you allocated the Elastic IP address (IPv4) for your network interface.
  33152. //
  33153. // * network-interface.association.association-id - The association ID returned
  33154. // when the network interface was associated with an IPv4 address.
  33155. //
  33156. // * network-interface.attachment.attachment-id - The ID of the interface
  33157. // attachment.
  33158. //
  33159. // * network-interface.attachment.instance-id - The ID of the instance to
  33160. // which the network interface is attached.
  33161. //
  33162. // * network-interface.attachment.instance-owner-id - The owner ID of the
  33163. // instance to which the network interface is attached.
  33164. //
  33165. // * network-interface.attachment.device-index - The device index to which
  33166. // the network interface is attached.
  33167. //
  33168. // * network-interface.attachment.status - The status of the attachment (attaching
  33169. // | attached | detaching | detached).
  33170. //
  33171. // * network-interface.attachment.attach-time - The time that the network
  33172. // interface was attached to an instance.
  33173. //
  33174. // * network-interface.attachment.delete-on-termination - Specifies whether
  33175. // the attachment is deleted when an instance is terminated.
  33176. //
  33177. // * network-interface.availability-zone - The Availability Zone for the
  33178. // network interface.
  33179. //
  33180. // * network-interface.description - The description of the network interface.
  33181. //
  33182. // * network-interface.group-id - The ID of a security group associated with
  33183. // the network interface.
  33184. //
  33185. // * network-interface.group-name - The name of a security group associated
  33186. // with the network interface.
  33187. //
  33188. // * network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated
  33189. // with the network interface.
  33190. //
  33191. // * network-interface.mac-address - The MAC address of the network interface.
  33192. //
  33193. // * network-interface.network-interface-id - The ID of the network interface.
  33194. //
  33195. // * network-interface.owner-id - The ID of the owner of the network interface.
  33196. //
  33197. // * network-interface.private-dns-name - The private DNS name of the network
  33198. // interface.
  33199. //
  33200. // * network-interface.requester-id - The requester ID for the network interface.
  33201. //
  33202. // * network-interface.requester-managed - Indicates whether the network
  33203. // interface is being managed by AWS.
  33204. //
  33205. // * network-interface.status - The status of the network interface (available)
  33206. // | in-use).
  33207. //
  33208. // * network-interface.source-dest-check - Whether the network interface
  33209. // performs source/destination checking. A value of true means that checking
  33210. // is enabled, and false means that checking is disabled. The value must
  33211. // be false for the network interface to perform network address translation
  33212. // (NAT) in your VPC.
  33213. //
  33214. // * network-interface.subnet-id - The ID of the subnet for the network interface.
  33215. //
  33216. // * network-interface.vpc-id - The ID of the VPC for the network interface.
  33217. //
  33218. // * owner-id - The AWS account ID of the instance owner.
  33219. //
  33220. // * placement-group-name - The name of the placement group for the instance.
  33221. //
  33222. // * platform - The platform. Use windows if you have Windows instances;
  33223. // otherwise, leave blank.
  33224. //
  33225. // * private-dns-name - The private IPv4 DNS name of the instance.
  33226. //
  33227. // * private-ip-address - The private IPv4 address of the instance.
  33228. //
  33229. // * product-code - The product code associated with the AMI used to launch
  33230. // the instance.
  33231. //
  33232. // * product-code.type - The type of product code (devpay | marketplace).
  33233. //
  33234. // * ramdisk-id - The RAM disk ID.
  33235. //
  33236. // * reason - The reason for the current state of the instance (for example,
  33237. // shows "User Initiated [date]" when you stop or terminate the instance).
  33238. // Similar to the state-reason-code filter.
  33239. //
  33240. // * requester-id - The ID of the entity that launched the instance on your
  33241. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  33242. //
  33243. // * reservation-id - The ID of the instance's reservation. A reservation
  33244. // ID is created any time you launch an instance. A reservation ID has a
  33245. // one-to-one relationship with an instance launch request, but can be associated
  33246. // with more than one instance if you launch multiple instances using the
  33247. // same launch request. For example, if you launch one instance, you get
  33248. // one reservation ID. If you launch ten instances using the same launch
  33249. // request, you also get one reservation ID.
  33250. //
  33251. // * root-device-name - The device name of the root device volume (for example,
  33252. // /dev/sda1).
  33253. //
  33254. // * root-device-type - The type of the root device volume (ebs | instance-store).
  33255. //
  33256. // * source-dest-check - Indicates whether the instance performs source/destination
  33257. // checking. A value of true means that checking is enabled, and false means
  33258. // that checking is disabled. The value must be false for the instance to
  33259. // perform network address translation (NAT) in your VPC.
  33260. //
  33261. // * spot-instance-request-id - The ID of the Spot Instance request.
  33262. //
  33263. // * state-reason-code - The reason code for the state change.
  33264. //
  33265. // * state-reason-message - A message that describes the state change.
  33266. //
  33267. // * subnet-id - The ID of the subnet for the instance.
  33268. //
  33269. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  33270. // Specify the key of the tag in the filter name and the value of the tag
  33271. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  33272. // for the filter name and X for the filter value.
  33273. //
  33274. // * tag-key - The key of a tag assigned to the resource. This filter is
  33275. // independent of the tag-value filter. For example, if you use both the
  33276. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  33277. // assigned both the tag key Purpose (regardless of what the tag's value
  33278. // is), and the tag value X (regardless of the tag's key). If you want to
  33279. // list only resources where Purpose is X, see the tag:key=value filter.
  33280. //
  33281. // * tag-value - The value of a tag assigned to the resource. This filter
  33282. // is independent of the tag-key filter.
  33283. //
  33284. // * tenancy - The tenancy of an instance (dedicated | default | host).
  33285. //
  33286. // * virtualization-type - The virtualization type of the instance (paravirtual
  33287. // | hvm).
  33288. //
  33289. // * vpc-id - The ID of the VPC that the instance is running in.
  33290. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  33291. // One or more instance IDs.
  33292. //
  33293. // Default: Describes all your instances.
  33294. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  33295. // The maximum number of results to return in a single call. To retrieve the
  33296. // remaining results, make another call with the returned NextToken value. This
  33297. // value can be between 5 and 1000. You cannot specify this parameter and the
  33298. // instance IDs parameter or tag filters in the same call.
  33299. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  33300. // The token to request the next page of results.
  33301. NextToken *string `locationName:"nextToken" type:"string"`
  33302. }
  33303. // String returns the string representation
  33304. func (s DescribeInstancesInput) String() string {
  33305. return awsutil.Prettify(s)
  33306. }
  33307. // GoString returns the string representation
  33308. func (s DescribeInstancesInput) GoString() string {
  33309. return s.String()
  33310. }
  33311. // SetDryRun sets the DryRun field's value.
  33312. func (s *DescribeInstancesInput) SetDryRun(v bool) *DescribeInstancesInput {
  33313. s.DryRun = &v
  33314. return s
  33315. }
  33316. // SetFilters sets the Filters field's value.
  33317. func (s *DescribeInstancesInput) SetFilters(v []*Filter) *DescribeInstancesInput {
  33318. s.Filters = v
  33319. return s
  33320. }
  33321. // SetInstanceIds sets the InstanceIds field's value.
  33322. func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
  33323. s.InstanceIds = v
  33324. return s
  33325. }
  33326. // SetMaxResults sets the MaxResults field's value.
  33327. func (s *DescribeInstancesInput) SetMaxResults(v int64) *DescribeInstancesInput {
  33328. s.MaxResults = &v
  33329. return s
  33330. }
  33331. // SetNextToken sets the NextToken field's value.
  33332. func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
  33333. s.NextToken = &v
  33334. return s
  33335. }
  33336. // Contains the output of DescribeInstances.
  33337. type DescribeInstancesOutput struct {
  33338. _ struct{} `type:"structure"`
  33339. // The token to use to retrieve the next page of results. This value is null
  33340. // when there are no more results to return.
  33341. NextToken *string `locationName:"nextToken" type:"string"`
  33342. // Zero or more reservations.
  33343. Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
  33344. }
  33345. // String returns the string representation
  33346. func (s DescribeInstancesOutput) String() string {
  33347. return awsutil.Prettify(s)
  33348. }
  33349. // GoString returns the string representation
  33350. func (s DescribeInstancesOutput) GoString() string {
  33351. return s.String()
  33352. }
  33353. // SetNextToken sets the NextToken field's value.
  33354. func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
  33355. s.NextToken = &v
  33356. return s
  33357. }
  33358. // SetReservations sets the Reservations field's value.
  33359. func (s *DescribeInstancesOutput) SetReservations(v []*Reservation) *DescribeInstancesOutput {
  33360. s.Reservations = v
  33361. return s
  33362. }
  33363. // Contains the parameters for DescribeInternetGateways.
  33364. type DescribeInternetGatewaysInput struct {
  33365. _ struct{} `type:"structure"`
  33366. // Checks whether you have the required permissions for the action, without
  33367. // actually making the request, and provides an error response. If you have
  33368. // the required permissions, the error response is DryRunOperation. Otherwise,
  33369. // it is UnauthorizedOperation.
  33370. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33371. // One or more filters.
  33372. //
  33373. // * attachment.state - The current state of the attachment between the gateway
  33374. // and the VPC (available). Present only if a VPC is attached.
  33375. //
  33376. // * attachment.vpc-id - The ID of an attached VPC.
  33377. //
  33378. // * internet-gateway-id - The ID of the Internet gateway.
  33379. //
  33380. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  33381. // Specify the key of the tag in the filter name and the value of the tag
  33382. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  33383. // for the filter name and X for the filter value.
  33384. //
  33385. // * tag-key - The key of a tag assigned to the resource. This filter is
  33386. // independent of the tag-value filter. For example, if you use both the
  33387. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  33388. // assigned both the tag key Purpose (regardless of what the tag's value
  33389. // is), and the tag value X (regardless of what the tag's key is). If you
  33390. // want to list only resources where Purpose is X, see the tag:key=value
  33391. // filter.
  33392. //
  33393. // * tag-value - The value of a tag assigned to the resource. This filter
  33394. // is independent of the tag-key filter.
  33395. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  33396. // One or more Internet gateway IDs.
  33397. //
  33398. // Default: Describes all your Internet gateways.
  33399. InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
  33400. }
  33401. // String returns the string representation
  33402. func (s DescribeInternetGatewaysInput) String() string {
  33403. return awsutil.Prettify(s)
  33404. }
  33405. // GoString returns the string representation
  33406. func (s DescribeInternetGatewaysInput) GoString() string {
  33407. return s.String()
  33408. }
  33409. // SetDryRun sets the DryRun field's value.
  33410. func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput {
  33411. s.DryRun = &v
  33412. return s
  33413. }
  33414. // SetFilters sets the Filters field's value.
  33415. func (s *DescribeInternetGatewaysInput) SetFilters(v []*Filter) *DescribeInternetGatewaysInput {
  33416. s.Filters = v
  33417. return s
  33418. }
  33419. // SetInternetGatewayIds sets the InternetGatewayIds field's value.
  33420. func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *DescribeInternetGatewaysInput {
  33421. s.InternetGatewayIds = v
  33422. return s
  33423. }
  33424. // Contains the output of DescribeInternetGateways.
  33425. type DescribeInternetGatewaysOutput struct {
  33426. _ struct{} `type:"structure"`
  33427. // Information about one or more Internet gateways.
  33428. InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
  33429. }
  33430. // String returns the string representation
  33431. func (s DescribeInternetGatewaysOutput) String() string {
  33432. return awsutil.Prettify(s)
  33433. }
  33434. // GoString returns the string representation
  33435. func (s DescribeInternetGatewaysOutput) GoString() string {
  33436. return s.String()
  33437. }
  33438. // SetInternetGateways sets the InternetGateways field's value.
  33439. func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGateway) *DescribeInternetGatewaysOutput {
  33440. s.InternetGateways = v
  33441. return s
  33442. }
  33443. // Contains the parameters for DescribeKeyPairs.
  33444. type DescribeKeyPairsInput struct {
  33445. _ struct{} `type:"structure"`
  33446. // Checks whether you have the required permissions for the action, without
  33447. // actually making the request, and provides an error response. If you have
  33448. // the required permissions, the error response is DryRunOperation. Otherwise,
  33449. // it is UnauthorizedOperation.
  33450. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33451. // One or more filters.
  33452. //
  33453. // * fingerprint - The fingerprint of the key pair.
  33454. //
  33455. // * key-name - The name of the key pair.
  33456. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  33457. // One or more key pair names.
  33458. //
  33459. // Default: Describes all your key pairs.
  33460. KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
  33461. }
  33462. // String returns the string representation
  33463. func (s DescribeKeyPairsInput) String() string {
  33464. return awsutil.Prettify(s)
  33465. }
  33466. // GoString returns the string representation
  33467. func (s DescribeKeyPairsInput) GoString() string {
  33468. return s.String()
  33469. }
  33470. // SetDryRun sets the DryRun field's value.
  33471. func (s *DescribeKeyPairsInput) SetDryRun(v bool) *DescribeKeyPairsInput {
  33472. s.DryRun = &v
  33473. return s
  33474. }
  33475. // SetFilters sets the Filters field's value.
  33476. func (s *DescribeKeyPairsInput) SetFilters(v []*Filter) *DescribeKeyPairsInput {
  33477. s.Filters = v
  33478. return s
  33479. }
  33480. // SetKeyNames sets the KeyNames field's value.
  33481. func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput {
  33482. s.KeyNames = v
  33483. return s
  33484. }
  33485. // Contains the output of DescribeKeyPairs.
  33486. type DescribeKeyPairsOutput struct {
  33487. _ struct{} `type:"structure"`
  33488. // Information about one or more key pairs.
  33489. KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
  33490. }
  33491. // String returns the string representation
  33492. func (s DescribeKeyPairsOutput) String() string {
  33493. return awsutil.Prettify(s)
  33494. }
  33495. // GoString returns the string representation
  33496. func (s DescribeKeyPairsOutput) GoString() string {
  33497. return s.String()
  33498. }
  33499. // SetKeyPairs sets the KeyPairs field's value.
  33500. func (s *DescribeKeyPairsOutput) SetKeyPairs(v []*KeyPairInfo) *DescribeKeyPairsOutput {
  33501. s.KeyPairs = v
  33502. return s
  33503. }
  33504. type DescribeLaunchTemplateVersionsInput struct {
  33505. _ struct{} `type:"structure"`
  33506. // Checks whether you have the required permissions for the action, without
  33507. // actually making the request, and provides an error response. If you have
  33508. // the required permissions, the error response is DryRunOperation. Otherwise,
  33509. // it is UnauthorizedOperation.
  33510. DryRun *bool `type:"boolean"`
  33511. // One or more filters.
  33512. //
  33513. // * create-time - The time the launch template version was created.
  33514. //
  33515. // * ebs-optimized - A boolean that indicates whether the instance is optimized
  33516. // for Amazon EBS I/O.
  33517. //
  33518. // * iam-instance-profile - The ARN of the IAM instance profile.
  33519. //
  33520. // * image-id - The ID of the AMI.
  33521. //
  33522. // * instance-type - The instance type.
  33523. //
  33524. // * is-default-version - A boolean that indicates whether the launch template
  33525. // version is the default version.
  33526. //
  33527. // * kernel-id - The kernel ID.
  33528. //
  33529. // * ram-disk-id - The RAM disk ID.
  33530. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  33531. // The ID of the launch template. You must specify either the launch template
  33532. // ID or launch template name in the request.
  33533. LaunchTemplateId *string `type:"string"`
  33534. // The name of the launch template. You must specify either the launch template
  33535. // ID or launch template name in the request.
  33536. LaunchTemplateName *string `min:"3" type:"string"`
  33537. // The maximum number of results to return in a single call. To retrieve the
  33538. // remaining results, make another call with the returned NextToken value. This
  33539. // value can be between 5 and 1000.
  33540. MaxResults *int64 `type:"integer"`
  33541. // The version number up to which to describe launch template versions.
  33542. MaxVersion *string `type:"string"`
  33543. // The version number after which to describe launch template versions.
  33544. MinVersion *string `type:"string"`
  33545. // The token to request the next page of results.
  33546. NextToken *string `type:"string"`
  33547. // One or more versions of the launch template.
  33548. Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list"`
  33549. }
  33550. // String returns the string representation
  33551. func (s DescribeLaunchTemplateVersionsInput) String() string {
  33552. return awsutil.Prettify(s)
  33553. }
  33554. // GoString returns the string representation
  33555. func (s DescribeLaunchTemplateVersionsInput) GoString() string {
  33556. return s.String()
  33557. }
  33558. // Validate inspects the fields of the type to determine if they are valid.
  33559. func (s *DescribeLaunchTemplateVersionsInput) Validate() error {
  33560. invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplateVersionsInput"}
  33561. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  33562. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  33563. }
  33564. if invalidParams.Len() > 0 {
  33565. return invalidParams
  33566. }
  33567. return nil
  33568. }
  33569. // SetDryRun sets the DryRun field's value.
  33570. func (s *DescribeLaunchTemplateVersionsInput) SetDryRun(v bool) *DescribeLaunchTemplateVersionsInput {
  33571. s.DryRun = &v
  33572. return s
  33573. }
  33574. // SetFilters sets the Filters field's value.
  33575. func (s *DescribeLaunchTemplateVersionsInput) SetFilters(v []*Filter) *DescribeLaunchTemplateVersionsInput {
  33576. s.Filters = v
  33577. return s
  33578. }
  33579. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  33580. func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DescribeLaunchTemplateVersionsInput {
  33581. s.LaunchTemplateId = &v
  33582. return s
  33583. }
  33584. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  33585. func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DescribeLaunchTemplateVersionsInput {
  33586. s.LaunchTemplateName = &v
  33587. return s
  33588. }
  33589. // SetMaxResults sets the MaxResults field's value.
  33590. func (s *DescribeLaunchTemplateVersionsInput) SetMaxResults(v int64) *DescribeLaunchTemplateVersionsInput {
  33591. s.MaxResults = &v
  33592. return s
  33593. }
  33594. // SetMaxVersion sets the MaxVersion field's value.
  33595. func (s *DescribeLaunchTemplateVersionsInput) SetMaxVersion(v string) *DescribeLaunchTemplateVersionsInput {
  33596. s.MaxVersion = &v
  33597. return s
  33598. }
  33599. // SetMinVersion sets the MinVersion field's value.
  33600. func (s *DescribeLaunchTemplateVersionsInput) SetMinVersion(v string) *DescribeLaunchTemplateVersionsInput {
  33601. s.MinVersion = &v
  33602. return s
  33603. }
  33604. // SetNextToken sets the NextToken field's value.
  33605. func (s *DescribeLaunchTemplateVersionsInput) SetNextToken(v string) *DescribeLaunchTemplateVersionsInput {
  33606. s.NextToken = &v
  33607. return s
  33608. }
  33609. // SetVersions sets the Versions field's value.
  33610. func (s *DescribeLaunchTemplateVersionsInput) SetVersions(v []*string) *DescribeLaunchTemplateVersionsInput {
  33611. s.Versions = v
  33612. return s
  33613. }
  33614. type DescribeLaunchTemplateVersionsOutput struct {
  33615. _ struct{} `type:"structure"`
  33616. // Information about the launch template versions.
  33617. LaunchTemplateVersions []*LaunchTemplateVersion `locationName:"launchTemplateVersionSet" locationNameList:"item" type:"list"`
  33618. // The token to use to retrieve the next page of results. This value is null
  33619. // when there are no more results to return.
  33620. NextToken *string `locationName:"nextToken" type:"string"`
  33621. }
  33622. // String returns the string representation
  33623. func (s DescribeLaunchTemplateVersionsOutput) String() string {
  33624. return awsutil.Prettify(s)
  33625. }
  33626. // GoString returns the string representation
  33627. func (s DescribeLaunchTemplateVersionsOutput) GoString() string {
  33628. return s.String()
  33629. }
  33630. // SetLaunchTemplateVersions sets the LaunchTemplateVersions field's value.
  33631. func (s *DescribeLaunchTemplateVersionsOutput) SetLaunchTemplateVersions(v []*LaunchTemplateVersion) *DescribeLaunchTemplateVersionsOutput {
  33632. s.LaunchTemplateVersions = v
  33633. return s
  33634. }
  33635. // SetNextToken sets the NextToken field's value.
  33636. func (s *DescribeLaunchTemplateVersionsOutput) SetNextToken(v string) *DescribeLaunchTemplateVersionsOutput {
  33637. s.NextToken = &v
  33638. return s
  33639. }
  33640. type DescribeLaunchTemplatesInput struct {
  33641. _ struct{} `type:"structure"`
  33642. // Checks whether you have the required permissions for the action, without
  33643. // actually making the request, and provides an error response. If you have
  33644. // the required permissions, the error response is DryRunOperation. Otherwise,
  33645. // it is UnauthorizedOperation.
  33646. DryRun *bool `type:"boolean"`
  33647. // One or more filters.
  33648. //
  33649. // * create-time - The time the launch template was created.
  33650. //
  33651. // * launch-template-name - The name of the launch template.
  33652. //
  33653. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  33654. // Specify the key of the tag in the filter name and the value of the tag
  33655. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  33656. // for the filter name and X for the filter value.
  33657. //
  33658. // * tag-key - The key of a tag assigned to the resource. This filter is
  33659. // independent of the tag-value filter. For example, if you use both the
  33660. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  33661. // assigned both the tag key Purpose (regardless of what the tag's value
  33662. // is), and the tag value X (regardless of the tag's key). If you want to
  33663. // list only resources where Purpose is X, see the tag:key=value filter.
  33664. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  33665. // One or more launch template IDs.
  33666. LaunchTemplateIds []*string `locationName:"LaunchTemplateId" locationNameList:"item" type:"list"`
  33667. // One or more launch template names.
  33668. LaunchTemplateNames []*string `locationName:"LaunchTemplateName" locationNameList:"item" type:"list"`
  33669. // The maximum number of results to return in a single call. To retrieve the
  33670. // remaining results, make another call with the returned NextToken value. This
  33671. // value can be between 5 and 1000.
  33672. MaxResults *int64 `type:"integer"`
  33673. // The token to request the next page of results.
  33674. NextToken *string `type:"string"`
  33675. }
  33676. // String returns the string representation
  33677. func (s DescribeLaunchTemplatesInput) String() string {
  33678. return awsutil.Prettify(s)
  33679. }
  33680. // GoString returns the string representation
  33681. func (s DescribeLaunchTemplatesInput) GoString() string {
  33682. return s.String()
  33683. }
  33684. // SetDryRun sets the DryRun field's value.
  33685. func (s *DescribeLaunchTemplatesInput) SetDryRun(v bool) *DescribeLaunchTemplatesInput {
  33686. s.DryRun = &v
  33687. return s
  33688. }
  33689. // SetFilters sets the Filters field's value.
  33690. func (s *DescribeLaunchTemplatesInput) SetFilters(v []*Filter) *DescribeLaunchTemplatesInput {
  33691. s.Filters = v
  33692. return s
  33693. }
  33694. // SetLaunchTemplateIds sets the LaunchTemplateIds field's value.
  33695. func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateIds(v []*string) *DescribeLaunchTemplatesInput {
  33696. s.LaunchTemplateIds = v
  33697. return s
  33698. }
  33699. // SetLaunchTemplateNames sets the LaunchTemplateNames field's value.
  33700. func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateNames(v []*string) *DescribeLaunchTemplatesInput {
  33701. s.LaunchTemplateNames = v
  33702. return s
  33703. }
  33704. // SetMaxResults sets the MaxResults field's value.
  33705. func (s *DescribeLaunchTemplatesInput) SetMaxResults(v int64) *DescribeLaunchTemplatesInput {
  33706. s.MaxResults = &v
  33707. return s
  33708. }
  33709. // SetNextToken sets the NextToken field's value.
  33710. func (s *DescribeLaunchTemplatesInput) SetNextToken(v string) *DescribeLaunchTemplatesInput {
  33711. s.NextToken = &v
  33712. return s
  33713. }
  33714. type DescribeLaunchTemplatesOutput struct {
  33715. _ struct{} `type:"structure"`
  33716. // Information about the launch templates.
  33717. LaunchTemplates []*LaunchTemplate `locationName:"launchTemplates" locationNameList:"item" type:"list"`
  33718. // The token to use to retrieve the next page of results. This value is null
  33719. // when there are no more results to return.
  33720. NextToken *string `locationName:"nextToken" type:"string"`
  33721. }
  33722. // String returns the string representation
  33723. func (s DescribeLaunchTemplatesOutput) String() string {
  33724. return awsutil.Prettify(s)
  33725. }
  33726. // GoString returns the string representation
  33727. func (s DescribeLaunchTemplatesOutput) GoString() string {
  33728. return s.String()
  33729. }
  33730. // SetLaunchTemplates sets the LaunchTemplates field's value.
  33731. func (s *DescribeLaunchTemplatesOutput) SetLaunchTemplates(v []*LaunchTemplate) *DescribeLaunchTemplatesOutput {
  33732. s.LaunchTemplates = v
  33733. return s
  33734. }
  33735. // SetNextToken sets the NextToken field's value.
  33736. func (s *DescribeLaunchTemplatesOutput) SetNextToken(v string) *DescribeLaunchTemplatesOutput {
  33737. s.NextToken = &v
  33738. return s
  33739. }
  33740. // Contains the parameters for DescribeMovingAddresses.
  33741. type DescribeMovingAddressesInput struct {
  33742. _ struct{} `type:"structure"`
  33743. // Checks whether you have the required permissions for the action, without
  33744. // actually making the request, and provides an error response. If you have
  33745. // the required permissions, the error response is DryRunOperation. Otherwise,
  33746. // it is UnauthorizedOperation.
  33747. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33748. // One or more filters.
  33749. //
  33750. // * moving-status - The status of the Elastic IP address (MovingToVpc |
  33751. // RestoringToClassic).
  33752. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  33753. // The maximum number of results to return for the request in a single page.
  33754. // The remaining results of the initial request can be seen by sending another
  33755. // request with the returned NextToken value. This value can be between 5 and
  33756. // 1000; if MaxResults is given a value outside of this range, an error is returned.
  33757. //
  33758. // Default: If no value is provided, the default is 1000.
  33759. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  33760. // The token to use to retrieve the next page of results.
  33761. NextToken *string `locationName:"nextToken" type:"string"`
  33762. // One or more Elastic IP addresses.
  33763. PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
  33764. }
  33765. // String returns the string representation
  33766. func (s DescribeMovingAddressesInput) String() string {
  33767. return awsutil.Prettify(s)
  33768. }
  33769. // GoString returns the string representation
  33770. func (s DescribeMovingAddressesInput) GoString() string {
  33771. return s.String()
  33772. }
  33773. // SetDryRun sets the DryRun field's value.
  33774. func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput {
  33775. s.DryRun = &v
  33776. return s
  33777. }
  33778. // SetFilters sets the Filters field's value.
  33779. func (s *DescribeMovingAddressesInput) SetFilters(v []*Filter) *DescribeMovingAddressesInput {
  33780. s.Filters = v
  33781. return s
  33782. }
  33783. // SetMaxResults sets the MaxResults field's value.
  33784. func (s *DescribeMovingAddressesInput) SetMaxResults(v int64) *DescribeMovingAddressesInput {
  33785. s.MaxResults = &v
  33786. return s
  33787. }
  33788. // SetNextToken sets the NextToken field's value.
  33789. func (s *DescribeMovingAddressesInput) SetNextToken(v string) *DescribeMovingAddressesInput {
  33790. s.NextToken = &v
  33791. return s
  33792. }
  33793. // SetPublicIps sets the PublicIps field's value.
  33794. func (s *DescribeMovingAddressesInput) SetPublicIps(v []*string) *DescribeMovingAddressesInput {
  33795. s.PublicIps = v
  33796. return s
  33797. }
  33798. // Contains the output of DescribeMovingAddresses.
  33799. type DescribeMovingAddressesOutput struct {
  33800. _ struct{} `type:"structure"`
  33801. // The status for each Elastic IP address.
  33802. MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
  33803. // The token to use to retrieve the next page of results. This value is null
  33804. // when there are no more results to return.
  33805. NextToken *string `locationName:"nextToken" type:"string"`
  33806. }
  33807. // String returns the string representation
  33808. func (s DescribeMovingAddressesOutput) String() string {
  33809. return awsutil.Prettify(s)
  33810. }
  33811. // GoString returns the string representation
  33812. func (s DescribeMovingAddressesOutput) GoString() string {
  33813. return s.String()
  33814. }
  33815. // SetMovingAddressStatuses sets the MovingAddressStatuses field's value.
  33816. func (s *DescribeMovingAddressesOutput) SetMovingAddressStatuses(v []*MovingAddressStatus) *DescribeMovingAddressesOutput {
  33817. s.MovingAddressStatuses = v
  33818. return s
  33819. }
  33820. // SetNextToken sets the NextToken field's value.
  33821. func (s *DescribeMovingAddressesOutput) SetNextToken(v string) *DescribeMovingAddressesOutput {
  33822. s.NextToken = &v
  33823. return s
  33824. }
  33825. // Contains the parameters for DescribeNatGateways.
  33826. type DescribeNatGatewaysInput struct {
  33827. _ struct{} `type:"structure"`
  33828. // One or more filters.
  33829. //
  33830. // * nat-gateway-id - The ID of the NAT gateway.
  33831. //
  33832. // * state - The state of the NAT gateway (pending | failed | available |
  33833. // deleting | deleted).
  33834. //
  33835. // * subnet-id - The ID of the subnet in which the NAT gateway resides.
  33836. //
  33837. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  33838. // Specify the key of the tag in the filter name and the value of the tag
  33839. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  33840. // for the filter name and X for the filter value.
  33841. //
  33842. // * tag-key - The key of a tag assigned to the resource. This filter is
  33843. // independent of the tag-value filter. For example, if you use both the
  33844. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  33845. // assigned both the tag key Purpose (regardless of what the tag's value
  33846. // is), and the tag value X (regardless of what the tag's key is). If you
  33847. // want to list only resources where Purpose is X, see the tag:key=value
  33848. // filter.
  33849. //
  33850. // * tag-value - The value of a tag assigned to the resource. This filter
  33851. // is independent of the tag-key filter.
  33852. //
  33853. // * vpc-id - The ID of the VPC in which the NAT gateway resides.
  33854. Filter []*Filter `locationNameList:"Filter" type:"list"`
  33855. // The maximum number of items to return for this request. The request returns
  33856. // a token that you can specify in a subsequent call to get the next set of
  33857. // results.
  33858. //
  33859. // Constraint: If the value specified is greater than 1000, we return only 1000
  33860. // items.
  33861. MaxResults *int64 `type:"integer"`
  33862. // One or more NAT gateway IDs.
  33863. NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
  33864. // The token to retrieve the next page of results.
  33865. NextToken *string `type:"string"`
  33866. }
  33867. // String returns the string representation
  33868. func (s DescribeNatGatewaysInput) String() string {
  33869. return awsutil.Prettify(s)
  33870. }
  33871. // GoString returns the string representation
  33872. func (s DescribeNatGatewaysInput) GoString() string {
  33873. return s.String()
  33874. }
  33875. // SetFilter sets the Filter field's value.
  33876. func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput {
  33877. s.Filter = v
  33878. return s
  33879. }
  33880. // SetMaxResults sets the MaxResults field's value.
  33881. func (s *DescribeNatGatewaysInput) SetMaxResults(v int64) *DescribeNatGatewaysInput {
  33882. s.MaxResults = &v
  33883. return s
  33884. }
  33885. // SetNatGatewayIds sets the NatGatewayIds field's value.
  33886. func (s *DescribeNatGatewaysInput) SetNatGatewayIds(v []*string) *DescribeNatGatewaysInput {
  33887. s.NatGatewayIds = v
  33888. return s
  33889. }
  33890. // SetNextToken sets the NextToken field's value.
  33891. func (s *DescribeNatGatewaysInput) SetNextToken(v string) *DescribeNatGatewaysInput {
  33892. s.NextToken = &v
  33893. return s
  33894. }
  33895. // Contains the output of DescribeNatGateways.
  33896. type DescribeNatGatewaysOutput struct {
  33897. _ struct{} `type:"structure"`
  33898. // Information about the NAT gateways.
  33899. NatGateways []*NatGateway `locationName:"natGatewaySet" locationNameList:"item" type:"list"`
  33900. // The token to use to retrieve the next page of results. This value is null
  33901. // when there are no more results to return.
  33902. NextToken *string `locationName:"nextToken" type:"string"`
  33903. }
  33904. // String returns the string representation
  33905. func (s DescribeNatGatewaysOutput) String() string {
  33906. return awsutil.Prettify(s)
  33907. }
  33908. // GoString returns the string representation
  33909. func (s DescribeNatGatewaysOutput) GoString() string {
  33910. return s.String()
  33911. }
  33912. // SetNatGateways sets the NatGateways field's value.
  33913. func (s *DescribeNatGatewaysOutput) SetNatGateways(v []*NatGateway) *DescribeNatGatewaysOutput {
  33914. s.NatGateways = v
  33915. return s
  33916. }
  33917. // SetNextToken sets the NextToken field's value.
  33918. func (s *DescribeNatGatewaysOutput) SetNextToken(v string) *DescribeNatGatewaysOutput {
  33919. s.NextToken = &v
  33920. return s
  33921. }
  33922. // Contains the parameters for DescribeNetworkAcls.
  33923. type DescribeNetworkAclsInput struct {
  33924. _ struct{} `type:"structure"`
  33925. // Checks whether you have the required permissions for the action, without
  33926. // actually making the request, and provides an error response. If you have
  33927. // the required permissions, the error response is DryRunOperation. Otherwise,
  33928. // it is UnauthorizedOperation.
  33929. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33930. // One or more filters.
  33931. //
  33932. // * association.association-id - The ID of an association ID for the ACL.
  33933. //
  33934. // * association.network-acl-id - The ID of the network ACL involved in the
  33935. // association.
  33936. //
  33937. // * association.subnet-id - The ID of the subnet involved in the association.
  33938. //
  33939. // * default - Indicates whether the ACL is the default network ACL for the
  33940. // VPC.
  33941. //
  33942. // * entry.cidr - The IPv4 CIDR range specified in the entry.
  33943. //
  33944. // * entry.egress - Indicates whether the entry applies to egress traffic.
  33945. //
  33946. // * entry.icmp.code - The ICMP code specified in the entry, if any.
  33947. //
  33948. // * entry.icmp.type - The ICMP type specified in the entry, if any.
  33949. //
  33950. // * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
  33951. //
  33952. // * entry.port-range.from - The start of the port range specified in the
  33953. // entry.
  33954. //
  33955. // * entry.port-range.to - The end of the port range specified in the entry.
  33956. //
  33957. //
  33958. // * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
  33959. // or a protocol number).
  33960. //
  33961. // * entry.rule-action - Allows or denies the matching traffic (allow | deny).
  33962. //
  33963. // * entry.rule-number - The number of an entry (in other words, rule) in
  33964. // the ACL's set of entries.
  33965. //
  33966. // * network-acl-id - The ID of the network ACL.
  33967. //
  33968. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  33969. // Specify the key of the tag in the filter name and the value of the tag
  33970. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  33971. // for the filter name and X for the filter value.
  33972. //
  33973. // * tag-key - The key of a tag assigned to the resource. This filter is
  33974. // independent of the tag-value filter. For example, if you use both the
  33975. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  33976. // assigned both the tag key Purpose (regardless of what the tag's value
  33977. // is), and the tag value X (regardless of what the tag's key is). If you
  33978. // want to list only resources where Purpose is X, see the tag:key=value
  33979. // filter.
  33980. //
  33981. // * tag-value - The value of a tag assigned to the resource. This filter
  33982. // is independent of the tag-key filter.
  33983. //
  33984. // * vpc-id - The ID of the VPC for the network ACL.
  33985. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  33986. // One or more network ACL IDs.
  33987. //
  33988. // Default: Describes all your network ACLs.
  33989. NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
  33990. }
  33991. // String returns the string representation
  33992. func (s DescribeNetworkAclsInput) String() string {
  33993. return awsutil.Prettify(s)
  33994. }
  33995. // GoString returns the string representation
  33996. func (s DescribeNetworkAclsInput) GoString() string {
  33997. return s.String()
  33998. }
  33999. // SetDryRun sets the DryRun field's value.
  34000. func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput {
  34001. s.DryRun = &v
  34002. return s
  34003. }
  34004. // SetFilters sets the Filters field's value.
  34005. func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsInput {
  34006. s.Filters = v
  34007. return s
  34008. }
  34009. // SetNetworkAclIds sets the NetworkAclIds field's value.
  34010. func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput {
  34011. s.NetworkAclIds = v
  34012. return s
  34013. }
  34014. // Contains the output of DescribeNetworkAcls.
  34015. type DescribeNetworkAclsOutput struct {
  34016. _ struct{} `type:"structure"`
  34017. // Information about one or more network ACLs.
  34018. NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
  34019. }
  34020. // String returns the string representation
  34021. func (s DescribeNetworkAclsOutput) String() string {
  34022. return awsutil.Prettify(s)
  34023. }
  34024. // GoString returns the string representation
  34025. func (s DescribeNetworkAclsOutput) GoString() string {
  34026. return s.String()
  34027. }
  34028. // SetNetworkAcls sets the NetworkAcls field's value.
  34029. func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNetworkAclsOutput {
  34030. s.NetworkAcls = v
  34031. return s
  34032. }
  34033. // Contains the parameters for DescribeNetworkInterfaceAttribute.
  34034. type DescribeNetworkInterfaceAttributeInput struct {
  34035. _ struct{} `type:"structure"`
  34036. // The attribute of the network interface. This parameter is required.
  34037. Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
  34038. // Checks whether you have the required permissions for the action, without
  34039. // actually making the request, and provides an error response. If you have
  34040. // the required permissions, the error response is DryRunOperation. Otherwise,
  34041. // it is UnauthorizedOperation.
  34042. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34043. // The ID of the network interface.
  34044. //
  34045. // NetworkInterfaceId is a required field
  34046. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  34047. }
  34048. // String returns the string representation
  34049. func (s DescribeNetworkInterfaceAttributeInput) String() string {
  34050. return awsutil.Prettify(s)
  34051. }
  34052. // GoString returns the string representation
  34053. func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
  34054. return s.String()
  34055. }
  34056. // Validate inspects the fields of the type to determine if they are valid.
  34057. func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
  34058. invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
  34059. if s.NetworkInterfaceId == nil {
  34060. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  34061. }
  34062. if invalidParams.Len() > 0 {
  34063. return invalidParams
  34064. }
  34065. return nil
  34066. }
  34067. // SetAttribute sets the Attribute field's value.
  34068. func (s *DescribeNetworkInterfaceAttributeInput) SetAttribute(v string) *DescribeNetworkInterfaceAttributeInput {
  34069. s.Attribute = &v
  34070. return s
  34071. }
  34072. // SetDryRun sets the DryRun field's value.
  34073. func (s *DescribeNetworkInterfaceAttributeInput) SetDryRun(v bool) *DescribeNetworkInterfaceAttributeInput {
  34074. s.DryRun = &v
  34075. return s
  34076. }
  34077. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  34078. func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeInput {
  34079. s.NetworkInterfaceId = &v
  34080. return s
  34081. }
  34082. // Contains the output of DescribeNetworkInterfaceAttribute.
  34083. type DescribeNetworkInterfaceAttributeOutput struct {
  34084. _ struct{} `type:"structure"`
  34085. // The attachment (if any) of the network interface.
  34086. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  34087. // The description of the network interface.
  34088. Description *AttributeValue `locationName:"description" type:"structure"`
  34089. // The security groups associated with the network interface.
  34090. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  34091. // The ID of the network interface.
  34092. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  34093. // Indicates whether source/destination checking is enabled.
  34094. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  34095. }
  34096. // String returns the string representation
  34097. func (s DescribeNetworkInterfaceAttributeOutput) String() string {
  34098. return awsutil.Prettify(s)
  34099. }
  34100. // GoString returns the string representation
  34101. func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
  34102. return s.String()
  34103. }
  34104. // SetAttachment sets the Attachment field's value.
  34105. func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput {
  34106. s.Attachment = v
  34107. return s
  34108. }
  34109. // SetDescription sets the Description field's value.
  34110. func (s *DescribeNetworkInterfaceAttributeOutput) SetDescription(v *AttributeValue) *DescribeNetworkInterfaceAttributeOutput {
  34111. s.Description = v
  34112. return s
  34113. }
  34114. // SetGroups sets the Groups field's value.
  34115. func (s *DescribeNetworkInterfaceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeNetworkInterfaceAttributeOutput {
  34116. s.Groups = v
  34117. return s
  34118. }
  34119. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  34120. func (s *DescribeNetworkInterfaceAttributeOutput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeOutput {
  34121. s.NetworkInterfaceId = &v
  34122. return s
  34123. }
  34124. // SetSourceDestCheck sets the SourceDestCheck field's value.
  34125. func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeNetworkInterfaceAttributeOutput {
  34126. s.SourceDestCheck = v
  34127. return s
  34128. }
  34129. // Contains the parameters for DescribeNetworkInterfacePermissions.
  34130. type DescribeNetworkInterfacePermissionsInput struct {
  34131. _ struct{} `type:"structure"`
  34132. // One or more filters.
  34133. //
  34134. // * network-interface-permission.network-interface-permission-id - The ID
  34135. // of the permission.
  34136. //
  34137. // * network-interface-permission.network-interface-id - The ID of the network
  34138. // interface.
  34139. //
  34140. // * network-interface-permission.aws-account-id - The AWS account ID.
  34141. //
  34142. // * network-interface-permission.aws-service - The AWS service.
  34143. //
  34144. // * network-interface-permission.permission - The type of permission (INSTANCE-ATTACH
  34145. // | EIP-ASSOCIATE).
  34146. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  34147. // The maximum number of results to return in a single call. To retrieve the
  34148. // remaining results, make another call with the returned NextToken value. If
  34149. // this parameter is not specified, up to 50 results are returned by default.
  34150. MaxResults *int64 `type:"integer"`
  34151. // One or more network interface permission IDs.
  34152. NetworkInterfacePermissionIds []*string `locationName:"NetworkInterfacePermissionId" type:"list"`
  34153. // The token to request the next page of results.
  34154. NextToken *string `type:"string"`
  34155. }
  34156. // String returns the string representation
  34157. func (s DescribeNetworkInterfacePermissionsInput) String() string {
  34158. return awsutil.Prettify(s)
  34159. }
  34160. // GoString returns the string representation
  34161. func (s DescribeNetworkInterfacePermissionsInput) GoString() string {
  34162. return s.String()
  34163. }
  34164. // SetFilters sets the Filters field's value.
  34165. func (s *DescribeNetworkInterfacePermissionsInput) SetFilters(v []*Filter) *DescribeNetworkInterfacePermissionsInput {
  34166. s.Filters = v
  34167. return s
  34168. }
  34169. // SetMaxResults sets the MaxResults field's value.
  34170. func (s *DescribeNetworkInterfacePermissionsInput) SetMaxResults(v int64) *DescribeNetworkInterfacePermissionsInput {
  34171. s.MaxResults = &v
  34172. return s
  34173. }
  34174. // SetNetworkInterfacePermissionIds sets the NetworkInterfacePermissionIds field's value.
  34175. func (s *DescribeNetworkInterfacePermissionsInput) SetNetworkInterfacePermissionIds(v []*string) *DescribeNetworkInterfacePermissionsInput {
  34176. s.NetworkInterfacePermissionIds = v
  34177. return s
  34178. }
  34179. // SetNextToken sets the NextToken field's value.
  34180. func (s *DescribeNetworkInterfacePermissionsInput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsInput {
  34181. s.NextToken = &v
  34182. return s
  34183. }
  34184. // Contains the output for DescribeNetworkInterfacePermissions.
  34185. type DescribeNetworkInterfacePermissionsOutput struct {
  34186. _ struct{} `type:"structure"`
  34187. // The network interface permissions.
  34188. NetworkInterfacePermissions []*NetworkInterfacePermission `locationName:"networkInterfacePermissions" locationNameList:"item" type:"list"`
  34189. // The token to use to retrieve the next page of results.
  34190. NextToken *string `locationName:"nextToken" type:"string"`
  34191. }
  34192. // String returns the string representation
  34193. func (s DescribeNetworkInterfacePermissionsOutput) String() string {
  34194. return awsutil.Prettify(s)
  34195. }
  34196. // GoString returns the string representation
  34197. func (s DescribeNetworkInterfacePermissionsOutput) GoString() string {
  34198. return s.String()
  34199. }
  34200. // SetNetworkInterfacePermissions sets the NetworkInterfacePermissions field's value.
  34201. func (s *DescribeNetworkInterfacePermissionsOutput) SetNetworkInterfacePermissions(v []*NetworkInterfacePermission) *DescribeNetworkInterfacePermissionsOutput {
  34202. s.NetworkInterfacePermissions = v
  34203. return s
  34204. }
  34205. // SetNextToken sets the NextToken field's value.
  34206. func (s *DescribeNetworkInterfacePermissionsOutput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsOutput {
  34207. s.NextToken = &v
  34208. return s
  34209. }
  34210. // Contains the parameters for DescribeNetworkInterfaces.
  34211. type DescribeNetworkInterfacesInput struct {
  34212. _ struct{} `type:"structure"`
  34213. // Checks whether you have the required permissions for the action, without
  34214. // actually making the request, and provides an error response. If you have
  34215. // the required permissions, the error response is DryRunOperation. Otherwise,
  34216. // it is UnauthorizedOperation.
  34217. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34218. // One or more filters.
  34219. //
  34220. // * addresses.private-ip-address - The private IPv4 addresses associated
  34221. // with the network interface.
  34222. //
  34223. // * addresses.primary - Whether the private IPv4 address is the primary
  34224. // IP address associated with the network interface.
  34225. //
  34226. // * addresses.association.public-ip - The association ID returned when the
  34227. // network interface was associated with the Elastic IP address (IPv4).
  34228. //
  34229. // * addresses.association.owner-id - The owner ID of the addresses associated
  34230. // with the network interface.
  34231. //
  34232. // * association.association-id - The association ID returned when the network
  34233. // interface was associated with an IPv4 address.
  34234. //
  34235. // * association.allocation-id - The allocation ID returned when you allocated
  34236. // the Elastic IP address (IPv4) for your network interface.
  34237. //
  34238. // * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
  34239. // associated with the network interface.
  34240. //
  34241. // * association.public-ip - The address of the Elastic IP address (IPv4)
  34242. // bound to the network interface.
  34243. //
  34244. // * association.public-dns-name - The public DNS name for the network interface
  34245. // (IPv4).
  34246. //
  34247. // * attachment.attachment-id - The ID of the interface attachment.
  34248. //
  34249. // * attachment.attach.time - The time that the network interface was attached
  34250. // to an instance.
  34251. //
  34252. // * attachment.delete-on-termination - Indicates whether the attachment
  34253. // is deleted when an instance is terminated.
  34254. //
  34255. // * attachment.device-index - The device index to which the network interface
  34256. // is attached.
  34257. //
  34258. // * attachment.instance-id - The ID of the instance to which the network
  34259. // interface is attached.
  34260. //
  34261. // * attachment.instance-owner-id - The owner ID of the instance to which
  34262. // the network interface is attached.
  34263. //
  34264. // * attachment.nat-gateway-id - The ID of the NAT gateway to which the network
  34265. // interface is attached.
  34266. //
  34267. // * attachment.status - The status of the attachment (attaching | attached
  34268. // | detaching | detached).
  34269. //
  34270. // * availability-zone - The Availability Zone of the network interface.
  34271. //
  34272. // * description - The description of the network interface.
  34273. //
  34274. // * group-id - The ID of a security group associated with the network interface.
  34275. //
  34276. // * group-name - The name of a security group associated with the network
  34277. // interface.
  34278. //
  34279. // * ipv6-addresses.ipv6-address - An IPv6 address associated with the network
  34280. // interface.
  34281. //
  34282. // * mac-address - The MAC address of the network interface.
  34283. //
  34284. // * network-interface-id - The ID of the network interface.
  34285. //
  34286. // * owner-id - The AWS account ID of the network interface owner.
  34287. //
  34288. // * private-ip-address - The private IPv4 address or addresses of the network
  34289. // interface.
  34290. //
  34291. // * private-dns-name - The private DNS name of the network interface (IPv4).
  34292. //
  34293. // * requester-id - The ID of the entity that launched the instance on your
  34294. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  34295. //
  34296. // * requester-managed - Indicates whether the network interface is being
  34297. // managed by an AWS service (for example, AWS Management Console, Auto Scaling,
  34298. // and so on).
  34299. //
  34300. // * source-desk-check - Indicates whether the network interface performs
  34301. // source/destination checking. A value of true means checking is enabled,
  34302. // and false means checking is disabled. The value must be false for the
  34303. // network interface to perform network address translation (NAT) in your
  34304. // VPC.
  34305. //
  34306. // * status - The status of the network interface. If the network interface
  34307. // is not attached to an instance, the status is available; if a network
  34308. // interface is attached to an instance the status is in-use.
  34309. //
  34310. // * subnet-id - The ID of the subnet for the network interface.
  34311. //
  34312. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  34313. // Specify the key of the tag in the filter name and the value of the tag
  34314. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  34315. // for the filter name and X for the filter value.
  34316. //
  34317. // * tag-key - The key of a tag assigned to the resource. This filter is
  34318. // independent of the tag-value filter. For example, if you use both the
  34319. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  34320. // assigned both the tag key Purpose (regardless of what the tag's value
  34321. // is), and the tag value X (regardless of what the tag's key is). If you
  34322. // want to list only resources where Purpose is X, see the tag:key=value
  34323. // filter.
  34324. //
  34325. // * tag-value - The value of a tag assigned to the resource. This filter
  34326. // is independent of the tag-key filter.
  34327. //
  34328. // * vpc-id - The ID of the VPC for the network interface.
  34329. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  34330. // One or more network interface IDs.
  34331. //
  34332. // Default: Describes all your network interfaces.
  34333. NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
  34334. }
  34335. // String returns the string representation
  34336. func (s DescribeNetworkInterfacesInput) String() string {
  34337. return awsutil.Prettify(s)
  34338. }
  34339. // GoString returns the string representation
  34340. func (s DescribeNetworkInterfacesInput) GoString() string {
  34341. return s.String()
  34342. }
  34343. // SetDryRun sets the DryRun field's value.
  34344. func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput {
  34345. s.DryRun = &v
  34346. return s
  34347. }
  34348. // SetFilters sets the Filters field's value.
  34349. func (s *DescribeNetworkInterfacesInput) SetFilters(v []*Filter) *DescribeNetworkInterfacesInput {
  34350. s.Filters = v
  34351. return s
  34352. }
  34353. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  34354. func (s *DescribeNetworkInterfacesInput) SetNetworkInterfaceIds(v []*string) *DescribeNetworkInterfacesInput {
  34355. s.NetworkInterfaceIds = v
  34356. return s
  34357. }
  34358. // Contains the output of DescribeNetworkInterfaces.
  34359. type DescribeNetworkInterfacesOutput struct {
  34360. _ struct{} `type:"structure"`
  34361. // Information about one or more network interfaces.
  34362. NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  34363. }
  34364. // String returns the string representation
  34365. func (s DescribeNetworkInterfacesOutput) String() string {
  34366. return awsutil.Prettify(s)
  34367. }
  34368. // GoString returns the string representation
  34369. func (s DescribeNetworkInterfacesOutput) GoString() string {
  34370. return s.String()
  34371. }
  34372. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  34373. func (s *DescribeNetworkInterfacesOutput) SetNetworkInterfaces(v []*NetworkInterface) *DescribeNetworkInterfacesOutput {
  34374. s.NetworkInterfaces = v
  34375. return s
  34376. }
  34377. // Contains the parameters for DescribePlacementGroups.
  34378. type DescribePlacementGroupsInput struct {
  34379. _ struct{} `type:"structure"`
  34380. // Checks whether you have the required permissions for the action, without
  34381. // actually making the request, and provides an error response. If you have
  34382. // the required permissions, the error response is DryRunOperation. Otherwise,
  34383. // it is UnauthorizedOperation.
  34384. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34385. // One or more filters.
  34386. //
  34387. // * group-name - The name of the placement group.
  34388. //
  34389. // * state - The state of the placement group (pending | available | deleting
  34390. // | deleted).
  34391. //
  34392. // * strategy - The strategy of the placement group (cluster | spread).
  34393. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  34394. // One or more placement group names.
  34395. //
  34396. // Default: Describes all your placement groups, or only those otherwise specified.
  34397. GroupNames []*string `locationName:"groupName" type:"list"`
  34398. }
  34399. // String returns the string representation
  34400. func (s DescribePlacementGroupsInput) String() string {
  34401. return awsutil.Prettify(s)
  34402. }
  34403. // GoString returns the string representation
  34404. func (s DescribePlacementGroupsInput) GoString() string {
  34405. return s.String()
  34406. }
  34407. // SetDryRun sets the DryRun field's value.
  34408. func (s *DescribePlacementGroupsInput) SetDryRun(v bool) *DescribePlacementGroupsInput {
  34409. s.DryRun = &v
  34410. return s
  34411. }
  34412. // SetFilters sets the Filters field's value.
  34413. func (s *DescribePlacementGroupsInput) SetFilters(v []*Filter) *DescribePlacementGroupsInput {
  34414. s.Filters = v
  34415. return s
  34416. }
  34417. // SetGroupNames sets the GroupNames field's value.
  34418. func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlacementGroupsInput {
  34419. s.GroupNames = v
  34420. return s
  34421. }
  34422. // Contains the output of DescribePlacementGroups.
  34423. type DescribePlacementGroupsOutput struct {
  34424. _ struct{} `type:"structure"`
  34425. // One or more placement groups.
  34426. PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
  34427. }
  34428. // String returns the string representation
  34429. func (s DescribePlacementGroupsOutput) String() string {
  34430. return awsutil.Prettify(s)
  34431. }
  34432. // GoString returns the string representation
  34433. func (s DescribePlacementGroupsOutput) GoString() string {
  34434. return s.String()
  34435. }
  34436. // SetPlacementGroups sets the PlacementGroups field's value.
  34437. func (s *DescribePlacementGroupsOutput) SetPlacementGroups(v []*PlacementGroup) *DescribePlacementGroupsOutput {
  34438. s.PlacementGroups = v
  34439. return s
  34440. }
  34441. // Contains the parameters for DescribePrefixLists.
  34442. type DescribePrefixListsInput struct {
  34443. _ struct{} `type:"structure"`
  34444. // Checks whether you have the required permissions for the action, without
  34445. // actually making the request, and provides an error response. If you have
  34446. // the required permissions, the error response is DryRunOperation. Otherwise,
  34447. // it is UnauthorizedOperation.
  34448. DryRun *bool `type:"boolean"`
  34449. // One or more filters.
  34450. //
  34451. // * prefix-list-id: The ID of a prefix list.
  34452. //
  34453. // * prefix-list-name: The name of a prefix list.
  34454. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  34455. // The maximum number of items to return for this request. The request returns
  34456. // a token that you can specify in a subsequent call to get the next set of
  34457. // results.
  34458. //
  34459. // Constraint: If the value specified is greater than 1000, we return only 1000
  34460. // items.
  34461. MaxResults *int64 `type:"integer"`
  34462. // The token for the next set of items to return. (You received this token from
  34463. // a prior call.)
  34464. NextToken *string `type:"string"`
  34465. // One or more prefix list IDs.
  34466. PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
  34467. }
  34468. // String returns the string representation
  34469. func (s DescribePrefixListsInput) String() string {
  34470. return awsutil.Prettify(s)
  34471. }
  34472. // GoString returns the string representation
  34473. func (s DescribePrefixListsInput) GoString() string {
  34474. return s.String()
  34475. }
  34476. // SetDryRun sets the DryRun field's value.
  34477. func (s *DescribePrefixListsInput) SetDryRun(v bool) *DescribePrefixListsInput {
  34478. s.DryRun = &v
  34479. return s
  34480. }
  34481. // SetFilters sets the Filters field's value.
  34482. func (s *DescribePrefixListsInput) SetFilters(v []*Filter) *DescribePrefixListsInput {
  34483. s.Filters = v
  34484. return s
  34485. }
  34486. // SetMaxResults sets the MaxResults field's value.
  34487. func (s *DescribePrefixListsInput) SetMaxResults(v int64) *DescribePrefixListsInput {
  34488. s.MaxResults = &v
  34489. return s
  34490. }
  34491. // SetNextToken sets the NextToken field's value.
  34492. func (s *DescribePrefixListsInput) SetNextToken(v string) *DescribePrefixListsInput {
  34493. s.NextToken = &v
  34494. return s
  34495. }
  34496. // SetPrefixListIds sets the PrefixListIds field's value.
  34497. func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefixListsInput {
  34498. s.PrefixListIds = v
  34499. return s
  34500. }
  34501. // Contains the output of DescribePrefixLists.
  34502. type DescribePrefixListsOutput struct {
  34503. _ struct{} `type:"structure"`
  34504. // The token to use when requesting the next set of items. If there are no additional
  34505. // items to return, the string is empty.
  34506. NextToken *string `locationName:"nextToken" type:"string"`
  34507. // All available prefix lists.
  34508. PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
  34509. }
  34510. // String returns the string representation
  34511. func (s DescribePrefixListsOutput) String() string {
  34512. return awsutil.Prettify(s)
  34513. }
  34514. // GoString returns the string representation
  34515. func (s DescribePrefixListsOutput) GoString() string {
  34516. return s.String()
  34517. }
  34518. // SetNextToken sets the NextToken field's value.
  34519. func (s *DescribePrefixListsOutput) SetNextToken(v string) *DescribePrefixListsOutput {
  34520. s.NextToken = &v
  34521. return s
  34522. }
  34523. // SetPrefixLists sets the PrefixLists field's value.
  34524. func (s *DescribePrefixListsOutput) SetPrefixLists(v []*PrefixList) *DescribePrefixListsOutput {
  34525. s.PrefixLists = v
  34526. return s
  34527. }
  34528. type DescribePrincipalIdFormatInput struct {
  34529. _ struct{} `type:"structure"`
  34530. // Checks whether you have the required permissions for the action, without
  34531. // actually making the request, and provides an error response. If you have
  34532. // the required permissions, the error response is DryRunOperation. Otherwise,
  34533. // it is UnauthorizedOperation.
  34534. DryRun *bool `type:"boolean"`
  34535. // The maximum number of results to return in a single call. To retrieve the
  34536. // remaining results, make another call with the returned NextToken value.
  34537. MaxResults *int64 `type:"integer"`
  34538. // The token to request the next page of results.
  34539. NextToken *string `type:"string"`
  34540. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  34541. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  34542. // | image | import-task | instance | internet-gateway | network-acl | network-acl-association
  34543. // | network-interface | network-interface-attachment | prefix-list | reservation
  34544. // | route-table | route-table-association | security-group | snapshot | subnet
  34545. // | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  34546. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
  34547. Resources []*string `locationName:"Resource" locationNameList:"item" type:"list"`
  34548. }
  34549. // String returns the string representation
  34550. func (s DescribePrincipalIdFormatInput) String() string {
  34551. return awsutil.Prettify(s)
  34552. }
  34553. // GoString returns the string representation
  34554. func (s DescribePrincipalIdFormatInput) GoString() string {
  34555. return s.String()
  34556. }
  34557. // SetDryRun sets the DryRun field's value.
  34558. func (s *DescribePrincipalIdFormatInput) SetDryRun(v bool) *DescribePrincipalIdFormatInput {
  34559. s.DryRun = &v
  34560. return s
  34561. }
  34562. // SetMaxResults sets the MaxResults field's value.
  34563. func (s *DescribePrincipalIdFormatInput) SetMaxResults(v int64) *DescribePrincipalIdFormatInput {
  34564. s.MaxResults = &v
  34565. return s
  34566. }
  34567. // SetNextToken sets the NextToken field's value.
  34568. func (s *DescribePrincipalIdFormatInput) SetNextToken(v string) *DescribePrincipalIdFormatInput {
  34569. s.NextToken = &v
  34570. return s
  34571. }
  34572. // SetResources sets the Resources field's value.
  34573. func (s *DescribePrincipalIdFormatInput) SetResources(v []*string) *DescribePrincipalIdFormatInput {
  34574. s.Resources = v
  34575. return s
  34576. }
  34577. type DescribePrincipalIdFormatOutput struct {
  34578. _ struct{} `type:"structure"`
  34579. // The token to use to retrieve the next page of results. This value is null
  34580. // when there are no more results to return.
  34581. NextToken *string `locationName:"nextToken" type:"string"`
  34582. // Information about the ID format settings for the ARN.
  34583. Principals []*PrincipalIdFormat `locationName:"principalSet" locationNameList:"item" type:"list"`
  34584. }
  34585. // String returns the string representation
  34586. func (s DescribePrincipalIdFormatOutput) String() string {
  34587. return awsutil.Prettify(s)
  34588. }
  34589. // GoString returns the string representation
  34590. func (s DescribePrincipalIdFormatOutput) GoString() string {
  34591. return s.String()
  34592. }
  34593. // SetNextToken sets the NextToken field's value.
  34594. func (s *DescribePrincipalIdFormatOutput) SetNextToken(v string) *DescribePrincipalIdFormatOutput {
  34595. s.NextToken = &v
  34596. return s
  34597. }
  34598. // SetPrincipals sets the Principals field's value.
  34599. func (s *DescribePrincipalIdFormatOutput) SetPrincipals(v []*PrincipalIdFormat) *DescribePrincipalIdFormatOutput {
  34600. s.Principals = v
  34601. return s
  34602. }
  34603. // Contains the parameters for DescribeRegions.
  34604. type DescribeRegionsInput struct {
  34605. _ struct{} `type:"structure"`
  34606. // Checks whether you have the required permissions for the action, without
  34607. // actually making the request, and provides an error response. If you have
  34608. // the required permissions, the error response is DryRunOperation. Otherwise,
  34609. // it is UnauthorizedOperation.
  34610. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34611. // One or more filters.
  34612. //
  34613. // * endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com).
  34614. //
  34615. // * region-name - The name of the region (for example, us-east-1).
  34616. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  34617. // The names of one or more regions.
  34618. RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
  34619. }
  34620. // String returns the string representation
  34621. func (s DescribeRegionsInput) String() string {
  34622. return awsutil.Prettify(s)
  34623. }
  34624. // GoString returns the string representation
  34625. func (s DescribeRegionsInput) GoString() string {
  34626. return s.String()
  34627. }
  34628. // SetDryRun sets the DryRun field's value.
  34629. func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput {
  34630. s.DryRun = &v
  34631. return s
  34632. }
  34633. // SetFilters sets the Filters field's value.
  34634. func (s *DescribeRegionsInput) SetFilters(v []*Filter) *DescribeRegionsInput {
  34635. s.Filters = v
  34636. return s
  34637. }
  34638. // SetRegionNames sets the RegionNames field's value.
  34639. func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput {
  34640. s.RegionNames = v
  34641. return s
  34642. }
  34643. // Contains the output of DescribeRegions.
  34644. type DescribeRegionsOutput struct {
  34645. _ struct{} `type:"structure"`
  34646. // Information about one or more regions.
  34647. Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
  34648. }
  34649. // String returns the string representation
  34650. func (s DescribeRegionsOutput) String() string {
  34651. return awsutil.Prettify(s)
  34652. }
  34653. // GoString returns the string representation
  34654. func (s DescribeRegionsOutput) GoString() string {
  34655. return s.String()
  34656. }
  34657. // SetRegions sets the Regions field's value.
  34658. func (s *DescribeRegionsOutput) SetRegions(v []*Region) *DescribeRegionsOutput {
  34659. s.Regions = v
  34660. return s
  34661. }
  34662. // Contains the parameters for DescribeReservedInstances.
  34663. type DescribeReservedInstancesInput struct {
  34664. _ struct{} `type:"structure"`
  34665. // Checks whether you have the required permissions for the action, without
  34666. // actually making the request, and provides an error response. If you have
  34667. // the required permissions, the error response is DryRunOperation. Otherwise,
  34668. // it is UnauthorizedOperation.
  34669. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34670. // One or more filters.
  34671. //
  34672. // * availability-zone - The Availability Zone where the Reserved Instance
  34673. // can be used.
  34674. //
  34675. // * duration - The duration of the Reserved Instance (one year or three
  34676. // years), in seconds (31536000 | 94608000).
  34677. //
  34678. // * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
  34679. //
  34680. // * fixed-price - The purchase price of the Reserved Instance (for example,
  34681. // 9800.0).
  34682. //
  34683. // * instance-type - The instance type that is covered by the reservation.
  34684. //
  34685. // * scope - The scope of the Reserved Instance (Region or Availability Zone).
  34686. //
  34687. // * product-description - The Reserved Instance product platform description.
  34688. // Instances that include (Amazon VPC) in the product platform description
  34689. // will only be displayed to EC2-Classic account holders and are for use
  34690. // with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
  34691. // Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
  34692. // (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server
  34693. // Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with
  34694. // SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with
  34695. // SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).
  34696. //
  34697. // * reserved-instances-id - The ID of the Reserved Instance.
  34698. //
  34699. // * start - The time at which the Reserved Instance purchase request was
  34700. // placed (for example, 2014-08-07T11:54:42.000Z).
  34701. //
  34702. // * state - The state of the Reserved Instance (payment-pending | active
  34703. // | payment-failed | retired).
  34704. //
  34705. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  34706. // Specify the key of the tag in the filter name and the value of the tag
  34707. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  34708. // for the filter name and X for the filter value.
  34709. //
  34710. // * tag-key - The key of a tag assigned to the resource. This filter is
  34711. // independent of the tag-value filter. For example, if you use both the
  34712. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  34713. // assigned both the tag key Purpose (regardless of what the tag's value
  34714. // is), and the tag value X (regardless of what the tag's key is). If you
  34715. // want to list only resources where Purpose is X, see the tag:key=value
  34716. // filter.
  34717. //
  34718. // * tag-value - The value of a tag assigned to the resource. This filter
  34719. // is independent of the tag-key filter.
  34720. //
  34721. // * usage-price - The usage price of the Reserved Instance, per hour (for
  34722. // example, 0.84).
  34723. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  34724. // Describes whether the Reserved Instance is Standard or Convertible.
  34725. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  34726. // The Reserved Instance offering type. If you are using tools that predate
  34727. // the 2011-11-01 API version, you only have access to the Medium Utilization
  34728. // Reserved Instance offering type.
  34729. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  34730. // One or more Reserved Instance IDs.
  34731. //
  34732. // Default: Describes all your Reserved Instances, or only those otherwise specified.
  34733. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
  34734. }
  34735. // String returns the string representation
  34736. func (s DescribeReservedInstancesInput) String() string {
  34737. return awsutil.Prettify(s)
  34738. }
  34739. // GoString returns the string representation
  34740. func (s DescribeReservedInstancesInput) GoString() string {
  34741. return s.String()
  34742. }
  34743. // SetDryRun sets the DryRun field's value.
  34744. func (s *DescribeReservedInstancesInput) SetDryRun(v bool) *DescribeReservedInstancesInput {
  34745. s.DryRun = &v
  34746. return s
  34747. }
  34748. // SetFilters sets the Filters field's value.
  34749. func (s *DescribeReservedInstancesInput) SetFilters(v []*Filter) *DescribeReservedInstancesInput {
  34750. s.Filters = v
  34751. return s
  34752. }
  34753. // SetOfferingClass sets the OfferingClass field's value.
  34754. func (s *DescribeReservedInstancesInput) SetOfferingClass(v string) *DescribeReservedInstancesInput {
  34755. s.OfferingClass = &v
  34756. return s
  34757. }
  34758. // SetOfferingType sets the OfferingType field's value.
  34759. func (s *DescribeReservedInstancesInput) SetOfferingType(v string) *DescribeReservedInstancesInput {
  34760. s.OfferingType = &v
  34761. return s
  34762. }
  34763. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  34764. func (s *DescribeReservedInstancesInput) SetReservedInstancesIds(v []*string) *DescribeReservedInstancesInput {
  34765. s.ReservedInstancesIds = v
  34766. return s
  34767. }
  34768. // Contains the parameters for DescribeReservedInstancesListings.
  34769. type DescribeReservedInstancesListingsInput struct {
  34770. _ struct{} `type:"structure"`
  34771. // One or more filters.
  34772. //
  34773. // * reserved-instances-id - The ID of the Reserved Instances.
  34774. //
  34775. // * reserved-instances-listing-id - The ID of the Reserved Instances listing.
  34776. //
  34777. // * status - The status of the Reserved Instance listing (pending | active
  34778. // | cancelled | closed).
  34779. //
  34780. // * status-message - The reason for the status.
  34781. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  34782. // One or more Reserved Instance IDs.
  34783. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  34784. // One or more Reserved Instance listing IDs.
  34785. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  34786. }
  34787. // String returns the string representation
  34788. func (s DescribeReservedInstancesListingsInput) String() string {
  34789. return awsutil.Prettify(s)
  34790. }
  34791. // GoString returns the string representation
  34792. func (s DescribeReservedInstancesListingsInput) GoString() string {
  34793. return s.String()
  34794. }
  34795. // SetFilters sets the Filters field's value.
  34796. func (s *DescribeReservedInstancesListingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesListingsInput {
  34797. s.Filters = v
  34798. return s
  34799. }
  34800. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  34801. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesId(v string) *DescribeReservedInstancesListingsInput {
  34802. s.ReservedInstancesId = &v
  34803. return s
  34804. }
  34805. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  34806. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesListingId(v string) *DescribeReservedInstancesListingsInput {
  34807. s.ReservedInstancesListingId = &v
  34808. return s
  34809. }
  34810. // Contains the output of DescribeReservedInstancesListings.
  34811. type DescribeReservedInstancesListingsOutput struct {
  34812. _ struct{} `type:"structure"`
  34813. // Information about the Reserved Instance listing.
  34814. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  34815. }
  34816. // String returns the string representation
  34817. func (s DescribeReservedInstancesListingsOutput) String() string {
  34818. return awsutil.Prettify(s)
  34819. }
  34820. // GoString returns the string representation
  34821. func (s DescribeReservedInstancesListingsOutput) GoString() string {
  34822. return s.String()
  34823. }
  34824. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  34825. func (s *DescribeReservedInstancesListingsOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *DescribeReservedInstancesListingsOutput {
  34826. s.ReservedInstancesListings = v
  34827. return s
  34828. }
  34829. // Contains the parameters for DescribeReservedInstancesModifications.
  34830. type DescribeReservedInstancesModificationsInput struct {
  34831. _ struct{} `type:"structure"`
  34832. // One or more filters.
  34833. //
  34834. // * client-token - The idempotency token for the modification request.
  34835. //
  34836. // * create-date - The time when the modification request was created.
  34837. //
  34838. // * effective-date - The time when the modification becomes effective.
  34839. //
  34840. // * modification-result.reserved-instances-id - The ID for the Reserved
  34841. // Instances created as part of the modification request. This ID is only
  34842. // available when the status of the modification is fulfilled.
  34843. //
  34844. // * modification-result.target-configuration.availability-zone - The Availability
  34845. // Zone for the new Reserved Instances.
  34846. //
  34847. // * modification-result.target-configuration.instance-count - The number
  34848. // of new Reserved Instances.
  34849. //
  34850. // * modification-result.target-configuration.instance-type - The instance
  34851. // type of the new Reserved Instances.
  34852. //
  34853. // * modification-result.target-configuration.platform - The network platform
  34854. // of the new Reserved Instances (EC2-Classic | EC2-VPC).
  34855. //
  34856. // * reserved-instances-id - The ID of the Reserved Instances modified.
  34857. //
  34858. // * reserved-instances-modification-id - The ID of the modification request.
  34859. //
  34860. // * status - The status of the Reserved Instances modification request (processing
  34861. // | fulfilled | failed).
  34862. //
  34863. // * status-message - The reason for the status.
  34864. //
  34865. // * update-date - The time when the modification request was last updated.
  34866. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  34867. // The token to retrieve the next page of results.
  34868. NextToken *string `locationName:"nextToken" type:"string"`
  34869. // IDs for the submitted modification request.
  34870. ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
  34871. }
  34872. // String returns the string representation
  34873. func (s DescribeReservedInstancesModificationsInput) String() string {
  34874. return awsutil.Prettify(s)
  34875. }
  34876. // GoString returns the string representation
  34877. func (s DescribeReservedInstancesModificationsInput) GoString() string {
  34878. return s.String()
  34879. }
  34880. // SetFilters sets the Filters field's value.
  34881. func (s *DescribeReservedInstancesModificationsInput) SetFilters(v []*Filter) *DescribeReservedInstancesModificationsInput {
  34882. s.Filters = v
  34883. return s
  34884. }
  34885. // SetNextToken sets the NextToken field's value.
  34886. func (s *DescribeReservedInstancesModificationsInput) SetNextToken(v string) *DescribeReservedInstancesModificationsInput {
  34887. s.NextToken = &v
  34888. return s
  34889. }
  34890. // SetReservedInstancesModificationIds sets the ReservedInstancesModificationIds field's value.
  34891. func (s *DescribeReservedInstancesModificationsInput) SetReservedInstancesModificationIds(v []*string) *DescribeReservedInstancesModificationsInput {
  34892. s.ReservedInstancesModificationIds = v
  34893. return s
  34894. }
  34895. // Contains the output of DescribeReservedInstancesModifications.
  34896. type DescribeReservedInstancesModificationsOutput struct {
  34897. _ struct{} `type:"structure"`
  34898. // The token to use to retrieve the next page of results. This value is null
  34899. // when there are no more results to return.
  34900. NextToken *string `locationName:"nextToken" type:"string"`
  34901. // The Reserved Instance modification information.
  34902. ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
  34903. }
  34904. // String returns the string representation
  34905. func (s DescribeReservedInstancesModificationsOutput) String() string {
  34906. return awsutil.Prettify(s)
  34907. }
  34908. // GoString returns the string representation
  34909. func (s DescribeReservedInstancesModificationsOutput) GoString() string {
  34910. return s.String()
  34911. }
  34912. // SetNextToken sets the NextToken field's value.
  34913. func (s *DescribeReservedInstancesModificationsOutput) SetNextToken(v string) *DescribeReservedInstancesModificationsOutput {
  34914. s.NextToken = &v
  34915. return s
  34916. }
  34917. // SetReservedInstancesModifications sets the ReservedInstancesModifications field's value.
  34918. func (s *DescribeReservedInstancesModificationsOutput) SetReservedInstancesModifications(v []*ReservedInstancesModification) *DescribeReservedInstancesModificationsOutput {
  34919. s.ReservedInstancesModifications = v
  34920. return s
  34921. }
  34922. // Contains the parameters for DescribeReservedInstancesOfferings.
  34923. type DescribeReservedInstancesOfferingsInput struct {
  34924. _ struct{} `type:"structure"`
  34925. // The Availability Zone in which the Reserved Instance can be used.
  34926. AvailabilityZone *string `type:"string"`
  34927. // Checks whether you have the required permissions for the action, without
  34928. // actually making the request, and provides an error response. If you have
  34929. // the required permissions, the error response is DryRunOperation. Otherwise,
  34930. // it is UnauthorizedOperation.
  34931. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34932. // One or more filters.
  34933. //
  34934. // * availability-zone - The Availability Zone where the Reserved Instance
  34935. // can be used.
  34936. //
  34937. // * duration - The duration of the Reserved Instance (for example, one year
  34938. // or three years), in seconds (31536000 | 94608000).
  34939. //
  34940. // * fixed-price - The purchase price of the Reserved Instance (for example,
  34941. // 9800.0).
  34942. //
  34943. // * instance-type - The instance type that is covered by the reservation.
  34944. //
  34945. // * marketplace - Set to true to show only Reserved Instance Marketplace
  34946. // offerings. When this filter is not used, which is the default behavior,
  34947. // all offerings from both AWS and the Reserved Instance Marketplace are
  34948. // listed.
  34949. //
  34950. // * product-description - The Reserved Instance product platform description.
  34951. // Instances that include (Amazon VPC) in the product platform description
  34952. // will only be displayed to EC2-Classic account holders and are for use
  34953. // with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
  34954. // SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
  34955. // Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL
  34956. // Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows
  34957. // with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows
  34958. // with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon
  34959. // VPC))
  34960. //
  34961. // * reserved-instances-offering-id - The Reserved Instances offering ID.
  34962. //
  34963. // * scope - The scope of the Reserved Instance (Availability Zone or Region).
  34964. //
  34965. // * usage-price - The usage price of the Reserved Instance, per hour (for
  34966. // example, 0.84).
  34967. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  34968. // Include Reserved Instance Marketplace offerings in the response.
  34969. IncludeMarketplace *bool `type:"boolean"`
  34970. // The tenancy of the instances covered by the reservation. A Reserved Instance
  34971. // with a tenancy of dedicated is applied to instances that run in a VPC on
  34972. // single-tenant hardware (i.e., Dedicated Instances).
  34973. //
  34974. // Important: The host value cannot be used with this parameter. Use the default
  34975. // or dedicated values only.
  34976. //
  34977. // Default: default
  34978. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  34979. // The instance type that the reservation will cover (for example, m1.small).
  34980. // For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  34981. // in the Amazon Elastic Compute Cloud User Guide.
  34982. InstanceType *string `type:"string" enum:"InstanceType"`
  34983. // The maximum duration (in seconds) to filter when searching for offerings.
  34984. //
  34985. // Default: 94608000 (3 years)
  34986. MaxDuration *int64 `type:"long"`
  34987. // The maximum number of instances to filter when searching for offerings.
  34988. //
  34989. // Default: 20
  34990. MaxInstanceCount *int64 `type:"integer"`
  34991. // The maximum number of results to return for the request in a single page.
  34992. // The remaining results of the initial request can be seen by sending another
  34993. // request with the returned NextToken value. The maximum is 100.
  34994. //
  34995. // Default: 100
  34996. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  34997. // The minimum duration (in seconds) to filter when searching for offerings.
  34998. //
  34999. // Default: 2592000 (1 month)
  35000. MinDuration *int64 `type:"long"`
  35001. // The token to retrieve the next page of results.
  35002. NextToken *string `locationName:"nextToken" type:"string"`
  35003. // The offering class of the Reserved Instance. Can be standard or convertible.
  35004. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  35005. // The Reserved Instance offering type. If you are using tools that predate
  35006. // the 2011-11-01 API version, you only have access to the Medium Utilization
  35007. // Reserved Instance offering type.
  35008. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  35009. // The Reserved Instance product platform description. Instances that include
  35010. // (Amazon VPC) in the description are for use with Amazon VPC.
  35011. ProductDescription *string `type:"string" enum:"RIProductDescription"`
  35012. // One or more Reserved Instances offering IDs.
  35013. ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
  35014. }
  35015. // String returns the string representation
  35016. func (s DescribeReservedInstancesOfferingsInput) String() string {
  35017. return awsutil.Prettify(s)
  35018. }
  35019. // GoString returns the string representation
  35020. func (s DescribeReservedInstancesOfferingsInput) GoString() string {
  35021. return s.String()
  35022. }
  35023. // SetAvailabilityZone sets the AvailabilityZone field's value.
  35024. func (s *DescribeReservedInstancesOfferingsInput) SetAvailabilityZone(v string) *DescribeReservedInstancesOfferingsInput {
  35025. s.AvailabilityZone = &v
  35026. return s
  35027. }
  35028. // SetDryRun sets the DryRun field's value.
  35029. func (s *DescribeReservedInstancesOfferingsInput) SetDryRun(v bool) *DescribeReservedInstancesOfferingsInput {
  35030. s.DryRun = &v
  35031. return s
  35032. }
  35033. // SetFilters sets the Filters field's value.
  35034. func (s *DescribeReservedInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesOfferingsInput {
  35035. s.Filters = v
  35036. return s
  35037. }
  35038. // SetIncludeMarketplace sets the IncludeMarketplace field's value.
  35039. func (s *DescribeReservedInstancesOfferingsInput) SetIncludeMarketplace(v bool) *DescribeReservedInstancesOfferingsInput {
  35040. s.IncludeMarketplace = &v
  35041. return s
  35042. }
  35043. // SetInstanceTenancy sets the InstanceTenancy field's value.
  35044. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceTenancy(v string) *DescribeReservedInstancesOfferingsInput {
  35045. s.InstanceTenancy = &v
  35046. return s
  35047. }
  35048. // SetInstanceType sets the InstanceType field's value.
  35049. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceType(v string) *DescribeReservedInstancesOfferingsInput {
  35050. s.InstanceType = &v
  35051. return s
  35052. }
  35053. // SetMaxDuration sets the MaxDuration field's value.
  35054. func (s *DescribeReservedInstancesOfferingsInput) SetMaxDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  35055. s.MaxDuration = &v
  35056. return s
  35057. }
  35058. // SetMaxInstanceCount sets the MaxInstanceCount field's value.
  35059. func (s *DescribeReservedInstancesOfferingsInput) SetMaxInstanceCount(v int64) *DescribeReservedInstancesOfferingsInput {
  35060. s.MaxInstanceCount = &v
  35061. return s
  35062. }
  35063. // SetMaxResults sets the MaxResults field's value.
  35064. func (s *DescribeReservedInstancesOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstancesOfferingsInput {
  35065. s.MaxResults = &v
  35066. return s
  35067. }
  35068. // SetMinDuration sets the MinDuration field's value.
  35069. func (s *DescribeReservedInstancesOfferingsInput) SetMinDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  35070. s.MinDuration = &v
  35071. return s
  35072. }
  35073. // SetNextToken sets the NextToken field's value.
  35074. func (s *DescribeReservedInstancesOfferingsInput) SetNextToken(v string) *DescribeReservedInstancesOfferingsInput {
  35075. s.NextToken = &v
  35076. return s
  35077. }
  35078. // SetOfferingClass sets the OfferingClass field's value.
  35079. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingClass(v string) *DescribeReservedInstancesOfferingsInput {
  35080. s.OfferingClass = &v
  35081. return s
  35082. }
  35083. // SetOfferingType sets the OfferingType field's value.
  35084. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedInstancesOfferingsInput {
  35085. s.OfferingType = &v
  35086. return s
  35087. }
  35088. // SetProductDescription sets the ProductDescription field's value.
  35089. func (s *DescribeReservedInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedInstancesOfferingsInput {
  35090. s.ProductDescription = &v
  35091. return s
  35092. }
  35093. // SetReservedInstancesOfferingIds sets the ReservedInstancesOfferingIds field's value.
  35094. func (s *DescribeReservedInstancesOfferingsInput) SetReservedInstancesOfferingIds(v []*string) *DescribeReservedInstancesOfferingsInput {
  35095. s.ReservedInstancesOfferingIds = v
  35096. return s
  35097. }
  35098. // Contains the output of DescribeReservedInstancesOfferings.
  35099. type DescribeReservedInstancesOfferingsOutput struct {
  35100. _ struct{} `type:"structure"`
  35101. // The token to use to retrieve the next page of results. This value is null
  35102. // when there are no more results to return.
  35103. NextToken *string `locationName:"nextToken" type:"string"`
  35104. // A list of Reserved Instances offerings.
  35105. ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
  35106. }
  35107. // String returns the string representation
  35108. func (s DescribeReservedInstancesOfferingsOutput) String() string {
  35109. return awsutil.Prettify(s)
  35110. }
  35111. // GoString returns the string representation
  35112. func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
  35113. return s.String()
  35114. }
  35115. // SetNextToken sets the NextToken field's value.
  35116. func (s *DescribeReservedInstancesOfferingsOutput) SetNextToken(v string) *DescribeReservedInstancesOfferingsOutput {
  35117. s.NextToken = &v
  35118. return s
  35119. }
  35120. // SetReservedInstancesOfferings sets the ReservedInstancesOfferings field's value.
  35121. func (s *DescribeReservedInstancesOfferingsOutput) SetReservedInstancesOfferings(v []*ReservedInstancesOffering) *DescribeReservedInstancesOfferingsOutput {
  35122. s.ReservedInstancesOfferings = v
  35123. return s
  35124. }
  35125. // Contains the output for DescribeReservedInstances.
  35126. type DescribeReservedInstancesOutput struct {
  35127. _ struct{} `type:"structure"`
  35128. // A list of Reserved Instances.
  35129. ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  35130. }
  35131. // String returns the string representation
  35132. func (s DescribeReservedInstancesOutput) String() string {
  35133. return awsutil.Prettify(s)
  35134. }
  35135. // GoString returns the string representation
  35136. func (s DescribeReservedInstancesOutput) GoString() string {
  35137. return s.String()
  35138. }
  35139. // SetReservedInstances sets the ReservedInstances field's value.
  35140. func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstances) *DescribeReservedInstancesOutput {
  35141. s.ReservedInstances = v
  35142. return s
  35143. }
  35144. // Contains the parameters for DescribeRouteTables.
  35145. type DescribeRouteTablesInput struct {
  35146. _ struct{} `type:"structure"`
  35147. // Checks whether you have the required permissions for the action, without
  35148. // actually making the request, and provides an error response. If you have
  35149. // the required permissions, the error response is DryRunOperation. Otherwise,
  35150. // it is UnauthorizedOperation.
  35151. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35152. // One or more filters.
  35153. //
  35154. // * association.route-table-association-id - The ID of an association ID
  35155. // for the route table.
  35156. //
  35157. // * association.route-table-id - The ID of the route table involved in the
  35158. // association.
  35159. //
  35160. // * association.subnet-id - The ID of the subnet involved in the association.
  35161. //
  35162. // * association.main - Indicates whether the route table is the main route
  35163. // table for the VPC (true | false). Route tables that do not have an association
  35164. // ID are not returned in the response.
  35165. //
  35166. // * route-table-id - The ID of the route table.
  35167. //
  35168. // * route.destination-cidr-block - The IPv4 CIDR range specified in a route
  35169. // in the table.
  35170. //
  35171. // * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in
  35172. // a route in the route table.
  35173. //
  35174. // * route.destination-prefix-list-id - The ID (prefix) of the AWS service
  35175. // specified in a route in the table.
  35176. //
  35177. // * route.egress-only-internet-gateway-id - The ID of an egress-only Internet
  35178. // gateway specified in a route in the route table.
  35179. //
  35180. // * route.gateway-id - The ID of a gateway specified in a route in the table.
  35181. //
  35182. // * route.instance-id - The ID of an instance specified in a route in the
  35183. // table.
  35184. //
  35185. // * route.nat-gateway-id - The ID of a NAT gateway.
  35186. //
  35187. // * route.origin - Describes how the route was created. CreateRouteTable
  35188. // indicates that the route was automatically created when the route table
  35189. // was created; CreateRoute indicates that the route was manually added to
  35190. // the route table; EnableVgwRoutePropagation indicates that the route was
  35191. // propagated by route propagation.
  35192. //
  35193. // * route.state - The state of a route in the route table (active | blackhole).
  35194. // The blackhole state indicates that the route's target isn't available
  35195. // (for example, the specified gateway isn't attached to the VPC, the specified
  35196. // NAT instance has been terminated, and so on).
  35197. //
  35198. // * route.vpc-peering-connection-id - The ID of a VPC peering connection
  35199. // specified in a route in the table.
  35200. //
  35201. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  35202. // Specify the key of the tag in the filter name and the value of the tag
  35203. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  35204. // for the filter name and X for the filter value.
  35205. //
  35206. // * tag-key - The key of a tag assigned to the resource. This filter is
  35207. // independent of the tag-value filter. For example, if you use both the
  35208. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  35209. // assigned both the tag key Purpose (regardless of what the tag's value
  35210. // is), and the tag value X (regardless of what the tag's key is). If you
  35211. // want to list only resources where Purpose is X, see the tag:key=value
  35212. // filter.
  35213. //
  35214. // * tag-value - The value of a tag assigned to the resource. This filter
  35215. // is independent of the tag-key filter.
  35216. //
  35217. // * vpc-id - The ID of the VPC for the route table.
  35218. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  35219. // One or more route table IDs.
  35220. //
  35221. // Default: Describes all your route tables.
  35222. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  35223. }
  35224. // String returns the string representation
  35225. func (s DescribeRouteTablesInput) String() string {
  35226. return awsutil.Prettify(s)
  35227. }
  35228. // GoString returns the string representation
  35229. func (s DescribeRouteTablesInput) GoString() string {
  35230. return s.String()
  35231. }
  35232. // SetDryRun sets the DryRun field's value.
  35233. func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput {
  35234. s.DryRun = &v
  35235. return s
  35236. }
  35237. // SetFilters sets the Filters field's value.
  35238. func (s *DescribeRouteTablesInput) SetFilters(v []*Filter) *DescribeRouteTablesInput {
  35239. s.Filters = v
  35240. return s
  35241. }
  35242. // SetRouteTableIds sets the RouteTableIds field's value.
  35243. func (s *DescribeRouteTablesInput) SetRouteTableIds(v []*string) *DescribeRouteTablesInput {
  35244. s.RouteTableIds = v
  35245. return s
  35246. }
  35247. // Contains the output of DescribeRouteTables.
  35248. type DescribeRouteTablesOutput struct {
  35249. _ struct{} `type:"structure"`
  35250. // Information about one or more route tables.
  35251. RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
  35252. }
  35253. // String returns the string representation
  35254. func (s DescribeRouteTablesOutput) String() string {
  35255. return awsutil.Prettify(s)
  35256. }
  35257. // GoString returns the string representation
  35258. func (s DescribeRouteTablesOutput) GoString() string {
  35259. return s.String()
  35260. }
  35261. // SetRouteTables sets the RouteTables field's value.
  35262. func (s *DescribeRouteTablesOutput) SetRouteTables(v []*RouteTable) *DescribeRouteTablesOutput {
  35263. s.RouteTables = v
  35264. return s
  35265. }
  35266. // Contains the parameters for DescribeScheduledInstanceAvailability.
  35267. type DescribeScheduledInstanceAvailabilityInput struct {
  35268. _ struct{} `type:"structure"`
  35269. // Checks whether you have the required permissions for the action, without
  35270. // actually making the request, and provides an error response. If you have
  35271. // the required permissions, the error response is DryRunOperation. Otherwise,
  35272. // it is UnauthorizedOperation.
  35273. DryRun *bool `type:"boolean"`
  35274. // One or more filters.
  35275. //
  35276. // * availability-zone - The Availability Zone (for example, us-west-2a).
  35277. //
  35278. // * instance-type - The instance type (for example, c4.large).
  35279. //
  35280. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  35281. //
  35282. // * platform - The platform (Linux/UNIX or Windows).
  35283. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  35284. // The time period for the first schedule to start.
  35285. //
  35286. // FirstSlotStartTimeRange is a required field
  35287. FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
  35288. // The maximum number of results to return in a single call. This value can
  35289. // be between 5 and 300. The default value is 300. To retrieve the remaining
  35290. // results, make another call with the returned NextToken value.
  35291. MaxResults *int64 `type:"integer"`
  35292. // The maximum available duration, in hours. This value must be greater than
  35293. // MinSlotDurationInHours and less than 1,720.
  35294. MaxSlotDurationInHours *int64 `type:"integer"`
  35295. // The minimum available duration, in hours. The minimum required duration is
  35296. // 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
  35297. // the minimum weekly schedule is 24 hours, and the minimum monthly schedule
  35298. // is 100 hours.
  35299. MinSlotDurationInHours *int64 `type:"integer"`
  35300. // The token for the next set of results.
  35301. NextToken *string `type:"string"`
  35302. // The schedule recurrence.
  35303. //
  35304. // Recurrence is a required field
  35305. Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
  35306. }
  35307. // String returns the string representation
  35308. func (s DescribeScheduledInstanceAvailabilityInput) String() string {
  35309. return awsutil.Prettify(s)
  35310. }
  35311. // GoString returns the string representation
  35312. func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
  35313. return s.String()
  35314. }
  35315. // Validate inspects the fields of the type to determine if they are valid.
  35316. func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
  35317. invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
  35318. if s.FirstSlotStartTimeRange == nil {
  35319. invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
  35320. }
  35321. if s.Recurrence == nil {
  35322. invalidParams.Add(request.NewErrParamRequired("Recurrence"))
  35323. }
  35324. if s.FirstSlotStartTimeRange != nil {
  35325. if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
  35326. invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
  35327. }
  35328. }
  35329. if invalidParams.Len() > 0 {
  35330. return invalidParams
  35331. }
  35332. return nil
  35333. }
  35334. // SetDryRun sets the DryRun field's value.
  35335. func (s *DescribeScheduledInstanceAvailabilityInput) SetDryRun(v bool) *DescribeScheduledInstanceAvailabilityInput {
  35336. s.DryRun = &v
  35337. return s
  35338. }
  35339. // SetFilters sets the Filters field's value.
  35340. func (s *DescribeScheduledInstanceAvailabilityInput) SetFilters(v []*Filter) *DescribeScheduledInstanceAvailabilityInput {
  35341. s.Filters = v
  35342. return s
  35343. }
  35344. // SetFirstSlotStartTimeRange sets the FirstSlotStartTimeRange field's value.
  35345. func (s *DescribeScheduledInstanceAvailabilityInput) SetFirstSlotStartTimeRange(v *SlotDateTimeRangeRequest) *DescribeScheduledInstanceAvailabilityInput {
  35346. s.FirstSlotStartTimeRange = v
  35347. return s
  35348. }
  35349. // SetMaxResults sets the MaxResults field's value.
  35350. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxResults(v int64) *DescribeScheduledInstanceAvailabilityInput {
  35351. s.MaxResults = &v
  35352. return s
  35353. }
  35354. // SetMaxSlotDurationInHours sets the MaxSlotDurationInHours field's value.
  35355. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  35356. s.MaxSlotDurationInHours = &v
  35357. return s
  35358. }
  35359. // SetMinSlotDurationInHours sets the MinSlotDurationInHours field's value.
  35360. func (s *DescribeScheduledInstanceAvailabilityInput) SetMinSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  35361. s.MinSlotDurationInHours = &v
  35362. return s
  35363. }
  35364. // SetNextToken sets the NextToken field's value.
  35365. func (s *DescribeScheduledInstanceAvailabilityInput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityInput {
  35366. s.NextToken = &v
  35367. return s
  35368. }
  35369. // SetRecurrence sets the Recurrence field's value.
  35370. func (s *DescribeScheduledInstanceAvailabilityInput) SetRecurrence(v *ScheduledInstanceRecurrenceRequest) *DescribeScheduledInstanceAvailabilityInput {
  35371. s.Recurrence = v
  35372. return s
  35373. }
  35374. // Contains the output of DescribeScheduledInstanceAvailability.
  35375. type DescribeScheduledInstanceAvailabilityOutput struct {
  35376. _ struct{} `type:"structure"`
  35377. // The token required to retrieve the next set of results. This value is null
  35378. // when there are no more results to return.
  35379. NextToken *string `locationName:"nextToken" type:"string"`
  35380. // Information about the available Scheduled Instances.
  35381. ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
  35382. }
  35383. // String returns the string representation
  35384. func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
  35385. return awsutil.Prettify(s)
  35386. }
  35387. // GoString returns the string representation
  35388. func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
  35389. return s.String()
  35390. }
  35391. // SetNextToken sets the NextToken field's value.
  35392. func (s *DescribeScheduledInstanceAvailabilityOutput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityOutput {
  35393. s.NextToken = &v
  35394. return s
  35395. }
  35396. // SetScheduledInstanceAvailabilitySet sets the ScheduledInstanceAvailabilitySet field's value.
  35397. func (s *DescribeScheduledInstanceAvailabilityOutput) SetScheduledInstanceAvailabilitySet(v []*ScheduledInstanceAvailability) *DescribeScheduledInstanceAvailabilityOutput {
  35398. s.ScheduledInstanceAvailabilitySet = v
  35399. return s
  35400. }
  35401. // Contains the parameters for DescribeScheduledInstances.
  35402. type DescribeScheduledInstancesInput struct {
  35403. _ struct{} `type:"structure"`
  35404. // Checks whether you have the required permissions for the action, without
  35405. // actually making the request, and provides an error response. If you have
  35406. // the required permissions, the error response is DryRunOperation. Otherwise,
  35407. // it is UnauthorizedOperation.
  35408. DryRun *bool `type:"boolean"`
  35409. // One or more filters.
  35410. //
  35411. // * availability-zone - The Availability Zone (for example, us-west-2a).
  35412. //
  35413. // * instance-type - The instance type (for example, c4.large).
  35414. //
  35415. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  35416. //
  35417. // * platform - The platform (Linux/UNIX or Windows).
  35418. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  35419. // The maximum number of results to return in a single call. This value can
  35420. // be between 5 and 300. The default value is 100. To retrieve the remaining
  35421. // results, make another call with the returned NextToken value.
  35422. MaxResults *int64 `type:"integer"`
  35423. // The token for the next set of results.
  35424. NextToken *string `type:"string"`
  35425. // One or more Scheduled Instance IDs.
  35426. ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
  35427. // The time period for the first schedule to start.
  35428. SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
  35429. }
  35430. // String returns the string representation
  35431. func (s DescribeScheduledInstancesInput) String() string {
  35432. return awsutil.Prettify(s)
  35433. }
  35434. // GoString returns the string representation
  35435. func (s DescribeScheduledInstancesInput) GoString() string {
  35436. return s.String()
  35437. }
  35438. // SetDryRun sets the DryRun field's value.
  35439. func (s *DescribeScheduledInstancesInput) SetDryRun(v bool) *DescribeScheduledInstancesInput {
  35440. s.DryRun = &v
  35441. return s
  35442. }
  35443. // SetFilters sets the Filters field's value.
  35444. func (s *DescribeScheduledInstancesInput) SetFilters(v []*Filter) *DescribeScheduledInstancesInput {
  35445. s.Filters = v
  35446. return s
  35447. }
  35448. // SetMaxResults sets the MaxResults field's value.
  35449. func (s *DescribeScheduledInstancesInput) SetMaxResults(v int64) *DescribeScheduledInstancesInput {
  35450. s.MaxResults = &v
  35451. return s
  35452. }
  35453. // SetNextToken sets the NextToken field's value.
  35454. func (s *DescribeScheduledInstancesInput) SetNextToken(v string) *DescribeScheduledInstancesInput {
  35455. s.NextToken = &v
  35456. return s
  35457. }
  35458. // SetScheduledInstanceIds sets the ScheduledInstanceIds field's value.
  35459. func (s *DescribeScheduledInstancesInput) SetScheduledInstanceIds(v []*string) *DescribeScheduledInstancesInput {
  35460. s.ScheduledInstanceIds = v
  35461. return s
  35462. }
  35463. // SetSlotStartTimeRange sets the SlotStartTimeRange field's value.
  35464. func (s *DescribeScheduledInstancesInput) SetSlotStartTimeRange(v *SlotStartTimeRangeRequest) *DescribeScheduledInstancesInput {
  35465. s.SlotStartTimeRange = v
  35466. return s
  35467. }
  35468. // Contains the output of DescribeScheduledInstances.
  35469. type DescribeScheduledInstancesOutput struct {
  35470. _ struct{} `type:"structure"`
  35471. // The token required to retrieve the next set of results. This value is null
  35472. // when there are no more results to return.
  35473. NextToken *string `locationName:"nextToken" type:"string"`
  35474. // Information about the Scheduled Instances.
  35475. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  35476. }
  35477. // String returns the string representation
  35478. func (s DescribeScheduledInstancesOutput) String() string {
  35479. return awsutil.Prettify(s)
  35480. }
  35481. // GoString returns the string representation
  35482. func (s DescribeScheduledInstancesOutput) GoString() string {
  35483. return s.String()
  35484. }
  35485. // SetNextToken sets the NextToken field's value.
  35486. func (s *DescribeScheduledInstancesOutput) SetNextToken(v string) *DescribeScheduledInstancesOutput {
  35487. s.NextToken = &v
  35488. return s
  35489. }
  35490. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  35491. func (s *DescribeScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *DescribeScheduledInstancesOutput {
  35492. s.ScheduledInstanceSet = v
  35493. return s
  35494. }
  35495. type DescribeSecurityGroupReferencesInput struct {
  35496. _ struct{} `type:"structure"`
  35497. // Checks whether you have the required permissions for the operation, without
  35498. // actually making the request, and provides an error response. If you have
  35499. // the required permissions, the error response is DryRunOperation. Otherwise,
  35500. // it is UnauthorizedOperation.
  35501. DryRun *bool `type:"boolean"`
  35502. // One or more security group IDs in your account.
  35503. //
  35504. // GroupId is a required field
  35505. GroupId []*string `locationNameList:"item" type:"list" required:"true"`
  35506. }
  35507. // String returns the string representation
  35508. func (s DescribeSecurityGroupReferencesInput) String() string {
  35509. return awsutil.Prettify(s)
  35510. }
  35511. // GoString returns the string representation
  35512. func (s DescribeSecurityGroupReferencesInput) GoString() string {
  35513. return s.String()
  35514. }
  35515. // Validate inspects the fields of the type to determine if they are valid.
  35516. func (s *DescribeSecurityGroupReferencesInput) Validate() error {
  35517. invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
  35518. if s.GroupId == nil {
  35519. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  35520. }
  35521. if invalidParams.Len() > 0 {
  35522. return invalidParams
  35523. }
  35524. return nil
  35525. }
  35526. // SetDryRun sets the DryRun field's value.
  35527. func (s *DescribeSecurityGroupReferencesInput) SetDryRun(v bool) *DescribeSecurityGroupReferencesInput {
  35528. s.DryRun = &v
  35529. return s
  35530. }
  35531. // SetGroupId sets the GroupId field's value.
  35532. func (s *DescribeSecurityGroupReferencesInput) SetGroupId(v []*string) *DescribeSecurityGroupReferencesInput {
  35533. s.GroupId = v
  35534. return s
  35535. }
  35536. type DescribeSecurityGroupReferencesOutput struct {
  35537. _ struct{} `type:"structure"`
  35538. // Information about the VPCs with the referencing security groups.
  35539. SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
  35540. }
  35541. // String returns the string representation
  35542. func (s DescribeSecurityGroupReferencesOutput) String() string {
  35543. return awsutil.Prettify(s)
  35544. }
  35545. // GoString returns the string representation
  35546. func (s DescribeSecurityGroupReferencesOutput) GoString() string {
  35547. return s.String()
  35548. }
  35549. // SetSecurityGroupReferenceSet sets the SecurityGroupReferenceSet field's value.
  35550. func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v []*SecurityGroupReference) *DescribeSecurityGroupReferencesOutput {
  35551. s.SecurityGroupReferenceSet = v
  35552. return s
  35553. }
  35554. // Contains the parameters for DescribeSecurityGroups.
  35555. type DescribeSecurityGroupsInput struct {
  35556. _ struct{} `type:"structure"`
  35557. // Checks whether you have the required permissions for the action, without
  35558. // actually making the request, and provides an error response. If you have
  35559. // the required permissions, the error response is DryRunOperation. Otherwise,
  35560. // it is UnauthorizedOperation.
  35561. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35562. // One or more filters. If using multiple filters for rules, the results include
  35563. // security groups for which any combination of rules - not necessarily a single
  35564. // rule - match all filters.
  35565. //
  35566. // * description - The description of the security group.
  35567. //
  35568. // * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security
  35569. // group rule.
  35570. //
  35571. // * egress.ip-permission.from-port - For an outbound rule, the start of
  35572. // port range for the TCP and UDP protocols, or an ICMP type number.
  35573. //
  35574. // * egress.ip-permission.group-id - The ID of a security group that has
  35575. // been referenced in an outbound security group rule.
  35576. //
  35577. // * egress.ip-permission.group-name - The name of a security group that
  35578. // has been referenced in an outbound security group rule.
  35579. //
  35580. // * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound
  35581. // security group rule.
  35582. //
  35583. // * egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
  35584. // to which a security group rule allows outbound access.
  35585. //
  35586. // * egress.ip-permission.protocol - The IP protocol for an outbound security
  35587. // group rule (tcp | udp | icmp or a protocol number).
  35588. //
  35589. // * egress.ip-permission.to-port - For an outbound rule, the end of port
  35590. // range for the TCP and UDP protocols, or an ICMP code.
  35591. //
  35592. // * egress.ip-permission.user-id - The ID of an AWS account that has been
  35593. // referenced in an outbound security group rule.
  35594. //
  35595. // * group-id - The ID of the security group.
  35596. //
  35597. // * group-name - The name of the security group.
  35598. //
  35599. // * ip-permission.cidr - An IPv4 CIDR block for an inbound security group
  35600. // rule.
  35601. //
  35602. // * ip-permission.from-port - For an inbound rule, the start of port range
  35603. // for the TCP and UDP protocols, or an ICMP type number.
  35604. //
  35605. // * ip-permission.group-id - The ID of a security group that has been referenced
  35606. // in an inbound security group rule.
  35607. //
  35608. // * ip-permission.group-name - The name of a security group that has been
  35609. // referenced in an inbound security group rule.
  35610. //
  35611. // * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security
  35612. // group rule.
  35613. //
  35614. // * ip-permission.prefix-list-id - The ID (prefix) of the AWS service from
  35615. // which a security group rule allows inbound access.
  35616. //
  35617. // * ip-permission.protocol - The IP protocol for an inbound security group
  35618. // rule (tcp | udp | icmp or a protocol number).
  35619. //
  35620. // * ip-permission.to-port - For an inbound rule, the end of port range for
  35621. // the TCP and UDP protocols, or an ICMP code.
  35622. //
  35623. // * ip-permission.user-id - The ID of an AWS account that has been referenced
  35624. // in an inbound security group rule.
  35625. //
  35626. // * owner-id - The AWS account ID of the owner of the security group.
  35627. //
  35628. // * tag-key - The key of a tag assigned to the security group.
  35629. //
  35630. // * tag-value - The value of a tag assigned to the security group.
  35631. //
  35632. // * vpc-id - The ID of the VPC specified when the security group was created.
  35633. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  35634. // One or more security group IDs. Required for security groups in a nondefault
  35635. // VPC.
  35636. //
  35637. // Default: Describes all your security groups.
  35638. GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  35639. // [EC2-Classic and default VPC only] One or more security group names. You
  35640. // can specify either the security group name or the security group ID. For
  35641. // security groups in a nondefault VPC, use the group-name filter to describe
  35642. // security groups by name.
  35643. //
  35644. // Default: Describes all your security groups.
  35645. GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
  35646. // The maximum number of results to return in a single call. To retrieve the
  35647. // remaining results, make another request with the returned NextToken value.
  35648. // This value can be between 5 and 1000. If this parameter is not specified,
  35649. // then all results are returned.
  35650. MaxResults *int64 `type:"integer"`
  35651. // The token to request the next page of results.
  35652. NextToken *string `type:"string"`
  35653. }
  35654. // String returns the string representation
  35655. func (s DescribeSecurityGroupsInput) String() string {
  35656. return awsutil.Prettify(s)
  35657. }
  35658. // GoString returns the string representation
  35659. func (s DescribeSecurityGroupsInput) GoString() string {
  35660. return s.String()
  35661. }
  35662. // SetDryRun sets the DryRun field's value.
  35663. func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput {
  35664. s.DryRun = &v
  35665. return s
  35666. }
  35667. // SetFilters sets the Filters field's value.
  35668. func (s *DescribeSecurityGroupsInput) SetFilters(v []*Filter) *DescribeSecurityGroupsInput {
  35669. s.Filters = v
  35670. return s
  35671. }
  35672. // SetGroupIds sets the GroupIds field's value.
  35673. func (s *DescribeSecurityGroupsInput) SetGroupIds(v []*string) *DescribeSecurityGroupsInput {
  35674. s.GroupIds = v
  35675. return s
  35676. }
  35677. // SetGroupNames sets the GroupNames field's value.
  35678. func (s *DescribeSecurityGroupsInput) SetGroupNames(v []*string) *DescribeSecurityGroupsInput {
  35679. s.GroupNames = v
  35680. return s
  35681. }
  35682. // SetMaxResults sets the MaxResults field's value.
  35683. func (s *DescribeSecurityGroupsInput) SetMaxResults(v int64) *DescribeSecurityGroupsInput {
  35684. s.MaxResults = &v
  35685. return s
  35686. }
  35687. // SetNextToken sets the NextToken field's value.
  35688. func (s *DescribeSecurityGroupsInput) SetNextToken(v string) *DescribeSecurityGroupsInput {
  35689. s.NextToken = &v
  35690. return s
  35691. }
  35692. // Contains the output of DescribeSecurityGroups.
  35693. type DescribeSecurityGroupsOutput struct {
  35694. _ struct{} `type:"structure"`
  35695. // The token to use to retrieve the next page of results. This value is null
  35696. // when there are no more results to return.
  35697. NextToken *string `locationName:"nextToken" type:"string"`
  35698. // Information about one or more security groups.
  35699. SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
  35700. }
  35701. // String returns the string representation
  35702. func (s DescribeSecurityGroupsOutput) String() string {
  35703. return awsutil.Prettify(s)
  35704. }
  35705. // GoString returns the string representation
  35706. func (s DescribeSecurityGroupsOutput) GoString() string {
  35707. return s.String()
  35708. }
  35709. // SetNextToken sets the NextToken field's value.
  35710. func (s *DescribeSecurityGroupsOutput) SetNextToken(v string) *DescribeSecurityGroupsOutput {
  35711. s.NextToken = &v
  35712. return s
  35713. }
  35714. // SetSecurityGroups sets the SecurityGroups field's value.
  35715. func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *DescribeSecurityGroupsOutput {
  35716. s.SecurityGroups = v
  35717. return s
  35718. }
  35719. // Contains the parameters for DescribeSnapshotAttribute.
  35720. type DescribeSnapshotAttributeInput struct {
  35721. _ struct{} `type:"structure"`
  35722. // The snapshot attribute you would like to view.
  35723. //
  35724. // Attribute is a required field
  35725. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  35726. // Checks whether you have the required permissions for the action, without
  35727. // actually making the request, and provides an error response. If you have
  35728. // the required permissions, the error response is DryRunOperation. Otherwise,
  35729. // it is UnauthorizedOperation.
  35730. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35731. // The ID of the EBS snapshot.
  35732. //
  35733. // SnapshotId is a required field
  35734. SnapshotId *string `type:"string" required:"true"`
  35735. }
  35736. // String returns the string representation
  35737. func (s DescribeSnapshotAttributeInput) String() string {
  35738. return awsutil.Prettify(s)
  35739. }
  35740. // GoString returns the string representation
  35741. func (s DescribeSnapshotAttributeInput) GoString() string {
  35742. return s.String()
  35743. }
  35744. // Validate inspects the fields of the type to determine if they are valid.
  35745. func (s *DescribeSnapshotAttributeInput) Validate() error {
  35746. invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
  35747. if s.Attribute == nil {
  35748. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  35749. }
  35750. if s.SnapshotId == nil {
  35751. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  35752. }
  35753. if invalidParams.Len() > 0 {
  35754. return invalidParams
  35755. }
  35756. return nil
  35757. }
  35758. // SetAttribute sets the Attribute field's value.
  35759. func (s *DescribeSnapshotAttributeInput) SetAttribute(v string) *DescribeSnapshotAttributeInput {
  35760. s.Attribute = &v
  35761. return s
  35762. }
  35763. // SetDryRun sets the DryRun field's value.
  35764. func (s *DescribeSnapshotAttributeInput) SetDryRun(v bool) *DescribeSnapshotAttributeInput {
  35765. s.DryRun = &v
  35766. return s
  35767. }
  35768. // SetSnapshotId sets the SnapshotId field's value.
  35769. func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapshotAttributeInput {
  35770. s.SnapshotId = &v
  35771. return s
  35772. }
  35773. // Contains the output of DescribeSnapshotAttribute.
  35774. type DescribeSnapshotAttributeOutput struct {
  35775. _ struct{} `type:"structure"`
  35776. // A list of permissions for creating volumes from the snapshot.
  35777. CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
  35778. // A list of product codes.
  35779. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  35780. // The ID of the EBS snapshot.
  35781. SnapshotId *string `locationName:"snapshotId" type:"string"`
  35782. }
  35783. // String returns the string representation
  35784. func (s DescribeSnapshotAttributeOutput) String() string {
  35785. return awsutil.Prettify(s)
  35786. }
  35787. // GoString returns the string representation
  35788. func (s DescribeSnapshotAttributeOutput) GoString() string {
  35789. return s.String()
  35790. }
  35791. // SetCreateVolumePermissions sets the CreateVolumePermissions field's value.
  35792. func (s *DescribeSnapshotAttributeOutput) SetCreateVolumePermissions(v []*CreateVolumePermission) *DescribeSnapshotAttributeOutput {
  35793. s.CreateVolumePermissions = v
  35794. return s
  35795. }
  35796. // SetProductCodes sets the ProductCodes field's value.
  35797. func (s *DescribeSnapshotAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeSnapshotAttributeOutput {
  35798. s.ProductCodes = v
  35799. return s
  35800. }
  35801. // SetSnapshotId sets the SnapshotId field's value.
  35802. func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnapshotAttributeOutput {
  35803. s.SnapshotId = &v
  35804. return s
  35805. }
  35806. // Contains the parameters for DescribeSnapshots.
  35807. type DescribeSnapshotsInput struct {
  35808. _ struct{} `type:"structure"`
  35809. // Checks whether you have the required permissions for the action, without
  35810. // actually making the request, and provides an error response. If you have
  35811. // the required permissions, the error response is DryRunOperation. Otherwise,
  35812. // it is UnauthorizedOperation.
  35813. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35814. // One or more filters.
  35815. //
  35816. // * description - A description of the snapshot.
  35817. //
  35818. // * owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace
  35819. // | microsoft) of snapshot owners. Not to be confused with the user-configured
  35820. // AWS account alias, which is set from the IAM console.
  35821. //
  35822. // * owner-id - The ID of the AWS account that owns the snapshot.
  35823. //
  35824. // * progress - The progress of the snapshot, as a percentage (for example,
  35825. // 80%).
  35826. //
  35827. // * snapshot-id - The snapshot ID.
  35828. //
  35829. // * start-time - The time stamp when the snapshot was initiated.
  35830. //
  35831. // * status - The status of the snapshot (pending | completed | error).
  35832. //
  35833. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  35834. // Specify the key of the tag in the filter name and the value of the tag
  35835. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  35836. // for the filter name and X for the filter value.
  35837. //
  35838. // * tag-key - The key of a tag assigned to the resource. This filter is
  35839. // independent of the tag-value filter. For example, if you use both the
  35840. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  35841. // assigned both the tag key Purpose (regardless of what the tag's value
  35842. // is), and the tag value X (regardless of what the tag's key is). If you
  35843. // want to list only resources where Purpose is X, see the tag:key=value
  35844. // filter.
  35845. //
  35846. // * tag-value - The value of a tag assigned to the resource. This filter
  35847. // is independent of the tag-key filter.
  35848. //
  35849. // * volume-id - The ID of the volume the snapshot is for.
  35850. //
  35851. // * volume-size - The size of the volume, in GiB.
  35852. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  35853. // The maximum number of snapshot results returned by DescribeSnapshots in paginated
  35854. // output. When this parameter is used, DescribeSnapshots only returns MaxResults
  35855. // results in a single page along with a NextToken response element. The remaining
  35856. // results of the initial request can be seen by sending another DescribeSnapshots
  35857. // request with the returned NextToken value. This value can be between 5 and
  35858. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  35859. // are returned. If this parameter is not used, then DescribeSnapshots returns
  35860. // all results. You cannot specify this parameter and the snapshot IDs parameter
  35861. // in the same request.
  35862. MaxResults *int64 `type:"integer"`
  35863. // The NextToken value returned from a previous paginated DescribeSnapshots
  35864. // request where MaxResults was used and the results exceeded the value of that
  35865. // parameter. Pagination continues from the end of the previous results that
  35866. // returned the NextToken value. This value is null when there are no more results
  35867. // to return.
  35868. NextToken *string `type:"string"`
  35869. // Returns the snapshots owned by the specified owner. Multiple owners can be
  35870. // specified.
  35871. OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  35872. // One or more AWS accounts IDs that can create volumes from the snapshot.
  35873. RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
  35874. // One or more snapshot IDs.
  35875. //
  35876. // Default: Describes snapshots for which you have launch permissions.
  35877. SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
  35878. }
  35879. // String returns the string representation
  35880. func (s DescribeSnapshotsInput) String() string {
  35881. return awsutil.Prettify(s)
  35882. }
  35883. // GoString returns the string representation
  35884. func (s DescribeSnapshotsInput) GoString() string {
  35885. return s.String()
  35886. }
  35887. // SetDryRun sets the DryRun field's value.
  35888. func (s *DescribeSnapshotsInput) SetDryRun(v bool) *DescribeSnapshotsInput {
  35889. s.DryRun = &v
  35890. return s
  35891. }
  35892. // SetFilters sets the Filters field's value.
  35893. func (s *DescribeSnapshotsInput) SetFilters(v []*Filter) *DescribeSnapshotsInput {
  35894. s.Filters = v
  35895. return s
  35896. }
  35897. // SetMaxResults sets the MaxResults field's value.
  35898. func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
  35899. s.MaxResults = &v
  35900. return s
  35901. }
  35902. // SetNextToken sets the NextToken field's value.
  35903. func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
  35904. s.NextToken = &v
  35905. return s
  35906. }
  35907. // SetOwnerIds sets the OwnerIds field's value.
  35908. func (s *DescribeSnapshotsInput) SetOwnerIds(v []*string) *DescribeSnapshotsInput {
  35909. s.OwnerIds = v
  35910. return s
  35911. }
  35912. // SetRestorableByUserIds sets the RestorableByUserIds field's value.
  35913. func (s *DescribeSnapshotsInput) SetRestorableByUserIds(v []*string) *DescribeSnapshotsInput {
  35914. s.RestorableByUserIds = v
  35915. return s
  35916. }
  35917. // SetSnapshotIds sets the SnapshotIds field's value.
  35918. func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
  35919. s.SnapshotIds = v
  35920. return s
  35921. }
  35922. // Contains the output of DescribeSnapshots.
  35923. type DescribeSnapshotsOutput struct {
  35924. _ struct{} `type:"structure"`
  35925. // The NextToken value to include in a future DescribeSnapshots request. When
  35926. // the results of a DescribeSnapshots request exceed MaxResults, this value
  35927. // can be used to retrieve the next page of results. This value is null when
  35928. // there are no more results to return.
  35929. NextToken *string `locationName:"nextToken" type:"string"`
  35930. // Information about the snapshots.
  35931. Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
  35932. }
  35933. // String returns the string representation
  35934. func (s DescribeSnapshotsOutput) String() string {
  35935. return awsutil.Prettify(s)
  35936. }
  35937. // GoString returns the string representation
  35938. func (s DescribeSnapshotsOutput) GoString() string {
  35939. return s.String()
  35940. }
  35941. // SetNextToken sets the NextToken field's value.
  35942. func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
  35943. s.NextToken = &v
  35944. return s
  35945. }
  35946. // SetSnapshots sets the Snapshots field's value.
  35947. func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
  35948. s.Snapshots = v
  35949. return s
  35950. }
  35951. // Contains the parameters for DescribeSpotDatafeedSubscription.
  35952. type DescribeSpotDatafeedSubscriptionInput struct {
  35953. _ struct{} `type:"structure"`
  35954. // Checks whether you have the required permissions for the action, without
  35955. // actually making the request, and provides an error response. If you have
  35956. // the required permissions, the error response is DryRunOperation. Otherwise,
  35957. // it is UnauthorizedOperation.
  35958. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35959. }
  35960. // String returns the string representation
  35961. func (s DescribeSpotDatafeedSubscriptionInput) String() string {
  35962. return awsutil.Prettify(s)
  35963. }
  35964. // GoString returns the string representation
  35965. func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
  35966. return s.String()
  35967. }
  35968. // SetDryRun sets the DryRun field's value.
  35969. func (s *DescribeSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DescribeSpotDatafeedSubscriptionInput {
  35970. s.DryRun = &v
  35971. return s
  35972. }
  35973. // Contains the output of DescribeSpotDatafeedSubscription.
  35974. type DescribeSpotDatafeedSubscriptionOutput struct {
  35975. _ struct{} `type:"structure"`
  35976. // The Spot Instance data feed subscription.
  35977. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  35978. }
  35979. // String returns the string representation
  35980. func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
  35981. return awsutil.Prettify(s)
  35982. }
  35983. // GoString returns the string representation
  35984. func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
  35985. return s.String()
  35986. }
  35987. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  35988. func (s *DescribeSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *DescribeSpotDatafeedSubscriptionOutput {
  35989. s.SpotDatafeedSubscription = v
  35990. return s
  35991. }
  35992. // Contains the parameters for DescribeSpotFleetInstances.
  35993. type DescribeSpotFleetInstancesInput struct {
  35994. _ struct{} `type:"structure"`
  35995. // Checks whether you have the required permissions for the action, without
  35996. // actually making the request, and provides an error response. If you have
  35997. // the required permissions, the error response is DryRunOperation. Otherwise,
  35998. // it is UnauthorizedOperation.
  35999. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36000. // The maximum number of results to return in a single call. Specify a value
  36001. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  36002. // results, make another call with the returned NextToken value.
  36003. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  36004. // The token for the next set of results.
  36005. NextToken *string `locationName:"nextToken" type:"string"`
  36006. // The ID of the Spot Fleet request.
  36007. //
  36008. // SpotFleetRequestId is a required field
  36009. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  36010. }
  36011. // String returns the string representation
  36012. func (s DescribeSpotFleetInstancesInput) String() string {
  36013. return awsutil.Prettify(s)
  36014. }
  36015. // GoString returns the string representation
  36016. func (s DescribeSpotFleetInstancesInput) GoString() string {
  36017. return s.String()
  36018. }
  36019. // Validate inspects the fields of the type to determine if they are valid.
  36020. func (s *DescribeSpotFleetInstancesInput) Validate() error {
  36021. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
  36022. if s.SpotFleetRequestId == nil {
  36023. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  36024. }
  36025. if invalidParams.Len() > 0 {
  36026. return invalidParams
  36027. }
  36028. return nil
  36029. }
  36030. // SetDryRun sets the DryRun field's value.
  36031. func (s *DescribeSpotFleetInstancesInput) SetDryRun(v bool) *DescribeSpotFleetInstancesInput {
  36032. s.DryRun = &v
  36033. return s
  36034. }
  36035. // SetMaxResults sets the MaxResults field's value.
  36036. func (s *DescribeSpotFleetInstancesInput) SetMaxResults(v int64) *DescribeSpotFleetInstancesInput {
  36037. s.MaxResults = &v
  36038. return s
  36039. }
  36040. // SetNextToken sets the NextToken field's value.
  36041. func (s *DescribeSpotFleetInstancesInput) SetNextToken(v string) *DescribeSpotFleetInstancesInput {
  36042. s.NextToken = &v
  36043. return s
  36044. }
  36045. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  36046. func (s *DescribeSpotFleetInstancesInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesInput {
  36047. s.SpotFleetRequestId = &v
  36048. return s
  36049. }
  36050. // Contains the output of DescribeSpotFleetInstances.
  36051. type DescribeSpotFleetInstancesOutput struct {
  36052. _ struct{} `type:"structure"`
  36053. // The running instances. This list is refreshed periodically and might be out
  36054. // of date.
  36055. //
  36056. // ActiveInstances is a required field
  36057. ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list" required:"true"`
  36058. // The token required to retrieve the next set of results. This value is null
  36059. // when there are no more results to return.
  36060. NextToken *string `locationName:"nextToken" type:"string"`
  36061. // The ID of the Spot Fleet request.
  36062. //
  36063. // SpotFleetRequestId is a required field
  36064. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  36065. }
  36066. // String returns the string representation
  36067. func (s DescribeSpotFleetInstancesOutput) String() string {
  36068. return awsutil.Prettify(s)
  36069. }
  36070. // GoString returns the string representation
  36071. func (s DescribeSpotFleetInstancesOutput) GoString() string {
  36072. return s.String()
  36073. }
  36074. // SetActiveInstances sets the ActiveInstances field's value.
  36075. func (s *DescribeSpotFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeSpotFleetInstancesOutput {
  36076. s.ActiveInstances = v
  36077. return s
  36078. }
  36079. // SetNextToken sets the NextToken field's value.
  36080. func (s *DescribeSpotFleetInstancesOutput) SetNextToken(v string) *DescribeSpotFleetInstancesOutput {
  36081. s.NextToken = &v
  36082. return s
  36083. }
  36084. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  36085. func (s *DescribeSpotFleetInstancesOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesOutput {
  36086. s.SpotFleetRequestId = &v
  36087. return s
  36088. }
  36089. // Contains the parameters for DescribeSpotFleetRequestHistory.
  36090. type DescribeSpotFleetRequestHistoryInput struct {
  36091. _ struct{} `type:"structure"`
  36092. // Checks whether you have the required permissions for the action, without
  36093. // actually making the request, and provides an error response. If you have
  36094. // the required permissions, the error response is DryRunOperation. Otherwise,
  36095. // it is UnauthorizedOperation.
  36096. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36097. // The type of events to describe. By default, all events are described.
  36098. EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
  36099. // The maximum number of results to return in a single call. Specify a value
  36100. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  36101. // results, make another call with the returned NextToken value.
  36102. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  36103. // The token for the next set of results.
  36104. NextToken *string `locationName:"nextToken" type:"string"`
  36105. // The ID of the Spot Fleet request.
  36106. //
  36107. // SpotFleetRequestId is a required field
  36108. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  36109. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  36110. //
  36111. // StartTime is a required field
  36112. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  36113. }
  36114. // String returns the string representation
  36115. func (s DescribeSpotFleetRequestHistoryInput) String() string {
  36116. return awsutil.Prettify(s)
  36117. }
  36118. // GoString returns the string representation
  36119. func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
  36120. return s.String()
  36121. }
  36122. // Validate inspects the fields of the type to determine if they are valid.
  36123. func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
  36124. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
  36125. if s.SpotFleetRequestId == nil {
  36126. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  36127. }
  36128. if s.StartTime == nil {
  36129. invalidParams.Add(request.NewErrParamRequired("StartTime"))
  36130. }
  36131. if invalidParams.Len() > 0 {
  36132. return invalidParams
  36133. }
  36134. return nil
  36135. }
  36136. // SetDryRun sets the DryRun field's value.
  36137. func (s *DescribeSpotFleetRequestHistoryInput) SetDryRun(v bool) *DescribeSpotFleetRequestHistoryInput {
  36138. s.DryRun = &v
  36139. return s
  36140. }
  36141. // SetEventType sets the EventType field's value.
  36142. func (s *DescribeSpotFleetRequestHistoryInput) SetEventType(v string) *DescribeSpotFleetRequestHistoryInput {
  36143. s.EventType = &v
  36144. return s
  36145. }
  36146. // SetMaxResults sets the MaxResults field's value.
  36147. func (s *DescribeSpotFleetRequestHistoryInput) SetMaxResults(v int64) *DescribeSpotFleetRequestHistoryInput {
  36148. s.MaxResults = &v
  36149. return s
  36150. }
  36151. // SetNextToken sets the NextToken field's value.
  36152. func (s *DescribeSpotFleetRequestHistoryInput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryInput {
  36153. s.NextToken = &v
  36154. return s
  36155. }
  36156. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  36157. func (s *DescribeSpotFleetRequestHistoryInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryInput {
  36158. s.SpotFleetRequestId = &v
  36159. return s
  36160. }
  36161. // SetStartTime sets the StartTime field's value.
  36162. func (s *DescribeSpotFleetRequestHistoryInput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryInput {
  36163. s.StartTime = &v
  36164. return s
  36165. }
  36166. // Contains the output of DescribeSpotFleetRequestHistory.
  36167. type DescribeSpotFleetRequestHistoryOutput struct {
  36168. _ struct{} `type:"structure"`
  36169. // Information about the events in the history of the Spot Fleet request.
  36170. //
  36171. // HistoryRecords is a required field
  36172. HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list" required:"true"`
  36173. // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  36174. // All records up to this time were retrieved.
  36175. //
  36176. // If nextToken indicates that there are more results, this value is not present.
  36177. //
  36178. // LastEvaluatedTime is a required field
  36179. LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  36180. // The token required to retrieve the next set of results. This value is null
  36181. // when there are no more results to return.
  36182. NextToken *string `locationName:"nextToken" type:"string"`
  36183. // The ID of the Spot Fleet request.
  36184. //
  36185. // SpotFleetRequestId is a required field
  36186. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  36187. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  36188. //
  36189. // StartTime is a required field
  36190. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  36191. }
  36192. // String returns the string representation
  36193. func (s DescribeSpotFleetRequestHistoryOutput) String() string {
  36194. return awsutil.Prettify(s)
  36195. }
  36196. // GoString returns the string representation
  36197. func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
  36198. return s.String()
  36199. }
  36200. // SetHistoryRecords sets the HistoryRecords field's value.
  36201. func (s *DescribeSpotFleetRequestHistoryOutput) SetHistoryRecords(v []*HistoryRecord) *DescribeSpotFleetRequestHistoryOutput {
  36202. s.HistoryRecords = v
  36203. return s
  36204. }
  36205. // SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
  36206. func (s *DescribeSpotFleetRequestHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  36207. s.LastEvaluatedTime = &v
  36208. return s
  36209. }
  36210. // SetNextToken sets the NextToken field's value.
  36211. func (s *DescribeSpotFleetRequestHistoryOutput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryOutput {
  36212. s.NextToken = &v
  36213. return s
  36214. }
  36215. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  36216. func (s *DescribeSpotFleetRequestHistoryOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryOutput {
  36217. s.SpotFleetRequestId = &v
  36218. return s
  36219. }
  36220. // SetStartTime sets the StartTime field's value.
  36221. func (s *DescribeSpotFleetRequestHistoryOutput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  36222. s.StartTime = &v
  36223. return s
  36224. }
  36225. // Contains the parameters for DescribeSpotFleetRequests.
  36226. type DescribeSpotFleetRequestsInput struct {
  36227. _ struct{} `type:"structure"`
  36228. // Checks whether you have the required permissions for the action, without
  36229. // actually making the request, and provides an error response. If you have
  36230. // the required permissions, the error response is DryRunOperation. Otherwise,
  36231. // it is UnauthorizedOperation.
  36232. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36233. // The maximum number of results to return in a single call. Specify a value
  36234. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  36235. // results, make another call with the returned NextToken value.
  36236. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  36237. // The token for the next set of results.
  36238. NextToken *string `locationName:"nextToken" type:"string"`
  36239. // The IDs of the Spot Fleet requests.
  36240. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
  36241. }
  36242. // String returns the string representation
  36243. func (s DescribeSpotFleetRequestsInput) String() string {
  36244. return awsutil.Prettify(s)
  36245. }
  36246. // GoString returns the string representation
  36247. func (s DescribeSpotFleetRequestsInput) GoString() string {
  36248. return s.String()
  36249. }
  36250. // SetDryRun sets the DryRun field's value.
  36251. func (s *DescribeSpotFleetRequestsInput) SetDryRun(v bool) *DescribeSpotFleetRequestsInput {
  36252. s.DryRun = &v
  36253. return s
  36254. }
  36255. // SetMaxResults sets the MaxResults field's value.
  36256. func (s *DescribeSpotFleetRequestsInput) SetMaxResults(v int64) *DescribeSpotFleetRequestsInput {
  36257. s.MaxResults = &v
  36258. return s
  36259. }
  36260. // SetNextToken sets the NextToken field's value.
  36261. func (s *DescribeSpotFleetRequestsInput) SetNextToken(v string) *DescribeSpotFleetRequestsInput {
  36262. s.NextToken = &v
  36263. return s
  36264. }
  36265. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  36266. func (s *DescribeSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *DescribeSpotFleetRequestsInput {
  36267. s.SpotFleetRequestIds = v
  36268. return s
  36269. }
  36270. // Contains the output of DescribeSpotFleetRequests.
  36271. type DescribeSpotFleetRequestsOutput struct {
  36272. _ struct{} `type:"structure"`
  36273. // The token required to retrieve the next set of results. This value is null
  36274. // when there are no more results to return.
  36275. NextToken *string `locationName:"nextToken" type:"string"`
  36276. // Information about the configuration of your Spot Fleet.
  36277. //
  36278. // SpotFleetRequestConfigs is a required field
  36279. SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list" required:"true"`
  36280. }
  36281. // String returns the string representation
  36282. func (s DescribeSpotFleetRequestsOutput) String() string {
  36283. return awsutil.Prettify(s)
  36284. }
  36285. // GoString returns the string representation
  36286. func (s DescribeSpotFleetRequestsOutput) GoString() string {
  36287. return s.String()
  36288. }
  36289. // SetNextToken sets the NextToken field's value.
  36290. func (s *DescribeSpotFleetRequestsOutput) SetNextToken(v string) *DescribeSpotFleetRequestsOutput {
  36291. s.NextToken = &v
  36292. return s
  36293. }
  36294. // SetSpotFleetRequestConfigs sets the SpotFleetRequestConfigs field's value.
  36295. func (s *DescribeSpotFleetRequestsOutput) SetSpotFleetRequestConfigs(v []*SpotFleetRequestConfig) *DescribeSpotFleetRequestsOutput {
  36296. s.SpotFleetRequestConfigs = v
  36297. return s
  36298. }
  36299. // Contains the parameters for DescribeSpotInstanceRequests.
  36300. type DescribeSpotInstanceRequestsInput struct {
  36301. _ struct{} `type:"structure"`
  36302. // Checks whether you have the required permissions for the action, without
  36303. // actually making the request, and provides an error response. If you have
  36304. // the required permissions, the error response is DryRunOperation. Otherwise,
  36305. // it is UnauthorizedOperation.
  36306. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36307. // One or more filters.
  36308. //
  36309. // * availability-zone-group - The Availability Zone group.
  36310. //
  36311. // * create-time - The time stamp when the Spot Instance request was created.
  36312. //
  36313. // * fault-code - The fault code related to the request.
  36314. //
  36315. // * fault-message - The fault message related to the request.
  36316. //
  36317. // * instance-id - The ID of the instance that fulfilled the request.
  36318. //
  36319. // * launch-group - The Spot Instance launch group.
  36320. //
  36321. // * launch.block-device-mapping.delete-on-termination - Indicates whether
  36322. // the EBS volume is deleted on instance termination.
  36323. //
  36324. // * launch.block-device-mapping.device-name - The device name for the volume
  36325. // in the block device mapping (for example, /dev/sdh or xvdh).
  36326. //
  36327. // * launch.block-device-mapping.snapshot-id - The ID of the snapshot for
  36328. // the EBS volume.
  36329. //
  36330. // * launch.block-device-mapping.volume-size - The size of the EBS volume,
  36331. // in GiB.
  36332. //
  36333. // * launch.block-device-mapping.volume-type - The type of EBS volume: gp2
  36334. // for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput
  36335. // Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
  36336. //
  36337. // * launch.group-id - The ID of the security group for the instance.
  36338. //
  36339. // * launch.group-name - The name of the security group for the instance.
  36340. //
  36341. // * launch.image-id - The ID of the AMI.
  36342. //
  36343. // * launch.instance-type - The type of instance (for example, m3.medium).
  36344. //
  36345. // * launch.kernel-id - The kernel ID.
  36346. //
  36347. // * launch.key-name - The name of the key pair the instance launched with.
  36348. //
  36349. // * launch.monitoring-enabled - Whether detailed monitoring is enabled for
  36350. // the Spot Instance.
  36351. //
  36352. // * launch.ramdisk-id - The RAM disk ID.
  36353. //
  36354. // * launched-availability-zone - The Availability Zone in which the request
  36355. // is launched.
  36356. //
  36357. // * network-interface.addresses.primary - Indicates whether the IP address
  36358. // is the primary private IP address.
  36359. //
  36360. // * network-interface.delete-on-termination - Indicates whether the network
  36361. // interface is deleted when the instance is terminated.
  36362. //
  36363. // * network-interface.description - A description of the network interface.
  36364. //
  36365. // * network-interface.device-index - The index of the device for the network
  36366. // interface attachment on the instance.
  36367. //
  36368. // * network-interface.group-id - The ID of the security group associated
  36369. // with the network interface.
  36370. //
  36371. // * network-interface.network-interface-id - The ID of the network interface.
  36372. //
  36373. // * network-interface.private-ip-address - The primary private IP address
  36374. // of the network interface.
  36375. //
  36376. // * network-interface.subnet-id - The ID of the subnet for the instance.
  36377. //
  36378. // * product-description - The product description associated with the instance
  36379. // (Linux/UNIX | Windows).
  36380. //
  36381. // * spot-instance-request-id - The Spot Instance request ID.
  36382. //
  36383. // * spot-price - The maximum hourly price for any Spot Instance launched
  36384. // to fulfill the request.
  36385. //
  36386. // * state - The state of the Spot Instance request (open | active | closed
  36387. // | cancelled | failed). Spot request status information can help you track
  36388. // your Amazon EC2 Spot Instance requests. For more information, see Spot
  36389. // Request Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  36390. // in the Amazon EC2 User Guide for Linux Instances.
  36391. //
  36392. // * status-code - The short code describing the most recent evaluation of
  36393. // your Spot Instance request.
  36394. //
  36395. // * status-message - The message explaining the status of the Spot Instance
  36396. // request.
  36397. //
  36398. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  36399. // Specify the key of the tag in the filter name and the value of the tag
  36400. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  36401. // for the filter name and X for the filter value.
  36402. //
  36403. // * tag-key - The key of a tag assigned to the resource. This filter is
  36404. // independent of the tag-value filter. For example, if you use both the
  36405. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  36406. // assigned both the tag key Purpose (regardless of what the tag's value
  36407. // is), and the tag value X (regardless of what the tag's key is). If you
  36408. // want to list only resources where Purpose is X, see the tag:key=value
  36409. // filter.
  36410. //
  36411. // * tag-value - The value of a tag assigned to the resource. This filter
  36412. // is independent of the tag-key filter.
  36413. //
  36414. // * type - The type of Spot Instance request (one-time | persistent).
  36415. //
  36416. // * valid-from - The start date of the request.
  36417. //
  36418. // * valid-until - The end date of the request.
  36419. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  36420. // One or more Spot Instance request IDs.
  36421. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
  36422. }
  36423. // String returns the string representation
  36424. func (s DescribeSpotInstanceRequestsInput) String() string {
  36425. return awsutil.Prettify(s)
  36426. }
  36427. // GoString returns the string representation
  36428. func (s DescribeSpotInstanceRequestsInput) GoString() string {
  36429. return s.String()
  36430. }
  36431. // SetDryRun sets the DryRun field's value.
  36432. func (s *DescribeSpotInstanceRequestsInput) SetDryRun(v bool) *DescribeSpotInstanceRequestsInput {
  36433. s.DryRun = &v
  36434. return s
  36435. }
  36436. // SetFilters sets the Filters field's value.
  36437. func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpotInstanceRequestsInput {
  36438. s.Filters = v
  36439. return s
  36440. }
  36441. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  36442. func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput {
  36443. s.SpotInstanceRequestIds = v
  36444. return s
  36445. }
  36446. // Contains the output of DescribeSpotInstanceRequests.
  36447. type DescribeSpotInstanceRequestsOutput struct {
  36448. _ struct{} `type:"structure"`
  36449. // One or more Spot Instance requests.
  36450. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  36451. }
  36452. // String returns the string representation
  36453. func (s DescribeSpotInstanceRequestsOutput) String() string {
  36454. return awsutil.Prettify(s)
  36455. }
  36456. // GoString returns the string representation
  36457. func (s DescribeSpotInstanceRequestsOutput) GoString() string {
  36458. return s.String()
  36459. }
  36460. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  36461. func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput {
  36462. s.SpotInstanceRequests = v
  36463. return s
  36464. }
  36465. // Contains the parameters for DescribeSpotPriceHistory.
  36466. type DescribeSpotPriceHistoryInput struct {
  36467. _ struct{} `type:"structure"`
  36468. // Filters the results by the specified Availability Zone.
  36469. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  36470. // Checks whether you have the required permissions for the action, without
  36471. // actually making the request, and provides an error response. If you have
  36472. // the required permissions, the error response is DryRunOperation. Otherwise,
  36473. // it is UnauthorizedOperation.
  36474. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36475. // The date and time, up to the current date, from which to stop retrieving
  36476. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  36477. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  36478. // One or more filters.
  36479. //
  36480. // * availability-zone - The Availability Zone for which prices should be
  36481. // returned.
  36482. //
  36483. // * instance-type - The type of instance (for example, m3.medium).
  36484. //
  36485. // * product-description - The product description for the Spot price (Linux/UNIX
  36486. // | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon
  36487. // VPC) | Windows (Amazon VPC)).
  36488. //
  36489. // * spot-price - The Spot price. The value must match exactly (or use wildcards;
  36490. // greater than or less than comparison is not supported).
  36491. //
  36492. // * timestamp - The time stamp of the Spot price history, in UTC format
  36493. // (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?).
  36494. // Greater than or less than comparison is not supported.
  36495. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  36496. // Filters the results by the specified instance types.
  36497. InstanceTypes []*string `locationName:"InstanceType" type:"list"`
  36498. // The maximum number of results to return in a single call. Specify a value
  36499. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  36500. // results, make another call with the returned NextToken value.
  36501. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  36502. // The token for the next set of results.
  36503. NextToken *string `locationName:"nextToken" type:"string"`
  36504. // Filters the results by the specified basic product descriptions.
  36505. ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
  36506. // The date and time, up to the past 90 days, from which to start retrieving
  36507. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  36508. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  36509. }
  36510. // String returns the string representation
  36511. func (s DescribeSpotPriceHistoryInput) String() string {
  36512. return awsutil.Prettify(s)
  36513. }
  36514. // GoString returns the string representation
  36515. func (s DescribeSpotPriceHistoryInput) GoString() string {
  36516. return s.String()
  36517. }
  36518. // SetAvailabilityZone sets the AvailabilityZone field's value.
  36519. func (s *DescribeSpotPriceHistoryInput) SetAvailabilityZone(v string) *DescribeSpotPriceHistoryInput {
  36520. s.AvailabilityZone = &v
  36521. return s
  36522. }
  36523. // SetDryRun sets the DryRun field's value.
  36524. func (s *DescribeSpotPriceHistoryInput) SetDryRun(v bool) *DescribeSpotPriceHistoryInput {
  36525. s.DryRun = &v
  36526. return s
  36527. }
  36528. // SetEndTime sets the EndTime field's value.
  36529. func (s *DescribeSpotPriceHistoryInput) SetEndTime(v time.Time) *DescribeSpotPriceHistoryInput {
  36530. s.EndTime = &v
  36531. return s
  36532. }
  36533. // SetFilters sets the Filters field's value.
  36534. func (s *DescribeSpotPriceHistoryInput) SetFilters(v []*Filter) *DescribeSpotPriceHistoryInput {
  36535. s.Filters = v
  36536. return s
  36537. }
  36538. // SetInstanceTypes sets the InstanceTypes field's value.
  36539. func (s *DescribeSpotPriceHistoryInput) SetInstanceTypes(v []*string) *DescribeSpotPriceHistoryInput {
  36540. s.InstanceTypes = v
  36541. return s
  36542. }
  36543. // SetMaxResults sets the MaxResults field's value.
  36544. func (s *DescribeSpotPriceHistoryInput) SetMaxResults(v int64) *DescribeSpotPriceHistoryInput {
  36545. s.MaxResults = &v
  36546. return s
  36547. }
  36548. // SetNextToken sets the NextToken field's value.
  36549. func (s *DescribeSpotPriceHistoryInput) SetNextToken(v string) *DescribeSpotPriceHistoryInput {
  36550. s.NextToken = &v
  36551. return s
  36552. }
  36553. // SetProductDescriptions sets the ProductDescriptions field's value.
  36554. func (s *DescribeSpotPriceHistoryInput) SetProductDescriptions(v []*string) *DescribeSpotPriceHistoryInput {
  36555. s.ProductDescriptions = v
  36556. return s
  36557. }
  36558. // SetStartTime sets the StartTime field's value.
  36559. func (s *DescribeSpotPriceHistoryInput) SetStartTime(v time.Time) *DescribeSpotPriceHistoryInput {
  36560. s.StartTime = &v
  36561. return s
  36562. }
  36563. // Contains the output of DescribeSpotPriceHistory.
  36564. type DescribeSpotPriceHistoryOutput struct {
  36565. _ struct{} `type:"structure"`
  36566. // The token required to retrieve the next set of results. This value is null
  36567. // or an empty string when there are no more results to return.
  36568. NextToken *string `locationName:"nextToken" type:"string"`
  36569. // The historical Spot prices.
  36570. SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
  36571. }
  36572. // String returns the string representation
  36573. func (s DescribeSpotPriceHistoryOutput) String() string {
  36574. return awsutil.Prettify(s)
  36575. }
  36576. // GoString returns the string representation
  36577. func (s DescribeSpotPriceHistoryOutput) GoString() string {
  36578. return s.String()
  36579. }
  36580. // SetNextToken sets the NextToken field's value.
  36581. func (s *DescribeSpotPriceHistoryOutput) SetNextToken(v string) *DescribeSpotPriceHistoryOutput {
  36582. s.NextToken = &v
  36583. return s
  36584. }
  36585. // SetSpotPriceHistory sets the SpotPriceHistory field's value.
  36586. func (s *DescribeSpotPriceHistoryOutput) SetSpotPriceHistory(v []*SpotPrice) *DescribeSpotPriceHistoryOutput {
  36587. s.SpotPriceHistory = v
  36588. return s
  36589. }
  36590. type DescribeStaleSecurityGroupsInput struct {
  36591. _ struct{} `type:"structure"`
  36592. // Checks whether you have the required permissions for the operation, without
  36593. // actually making the request, and provides an error response. If you have
  36594. // the required permissions, the error response is DryRunOperation. Otherwise,
  36595. // it is UnauthorizedOperation.
  36596. DryRun *bool `type:"boolean"`
  36597. // The maximum number of items to return for this request. The request returns
  36598. // a token that you can specify in a subsequent call to get the next set of
  36599. // results.
  36600. MaxResults *int64 `min:"5" type:"integer"`
  36601. // The token for the next set of items to return. (You received this token from
  36602. // a prior call.)
  36603. NextToken *string `min:"1" type:"string"`
  36604. // The ID of the VPC.
  36605. //
  36606. // VpcId is a required field
  36607. VpcId *string `type:"string" required:"true"`
  36608. }
  36609. // String returns the string representation
  36610. func (s DescribeStaleSecurityGroupsInput) String() string {
  36611. return awsutil.Prettify(s)
  36612. }
  36613. // GoString returns the string representation
  36614. func (s DescribeStaleSecurityGroupsInput) GoString() string {
  36615. return s.String()
  36616. }
  36617. // Validate inspects the fields of the type to determine if they are valid.
  36618. func (s *DescribeStaleSecurityGroupsInput) Validate() error {
  36619. invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
  36620. if s.MaxResults != nil && *s.MaxResults < 5 {
  36621. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  36622. }
  36623. if s.NextToken != nil && len(*s.NextToken) < 1 {
  36624. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  36625. }
  36626. if s.VpcId == nil {
  36627. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  36628. }
  36629. if invalidParams.Len() > 0 {
  36630. return invalidParams
  36631. }
  36632. return nil
  36633. }
  36634. // SetDryRun sets the DryRun field's value.
  36635. func (s *DescribeStaleSecurityGroupsInput) SetDryRun(v bool) *DescribeStaleSecurityGroupsInput {
  36636. s.DryRun = &v
  36637. return s
  36638. }
  36639. // SetMaxResults sets the MaxResults field's value.
  36640. func (s *DescribeStaleSecurityGroupsInput) SetMaxResults(v int64) *DescribeStaleSecurityGroupsInput {
  36641. s.MaxResults = &v
  36642. return s
  36643. }
  36644. // SetNextToken sets the NextToken field's value.
  36645. func (s *DescribeStaleSecurityGroupsInput) SetNextToken(v string) *DescribeStaleSecurityGroupsInput {
  36646. s.NextToken = &v
  36647. return s
  36648. }
  36649. // SetVpcId sets the VpcId field's value.
  36650. func (s *DescribeStaleSecurityGroupsInput) SetVpcId(v string) *DescribeStaleSecurityGroupsInput {
  36651. s.VpcId = &v
  36652. return s
  36653. }
  36654. type DescribeStaleSecurityGroupsOutput struct {
  36655. _ struct{} `type:"structure"`
  36656. // The token to use when requesting the next set of items. If there are no additional
  36657. // items to return, the string is empty.
  36658. NextToken *string `locationName:"nextToken" type:"string"`
  36659. // Information about the stale security groups.
  36660. StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
  36661. }
  36662. // String returns the string representation
  36663. func (s DescribeStaleSecurityGroupsOutput) String() string {
  36664. return awsutil.Prettify(s)
  36665. }
  36666. // GoString returns the string representation
  36667. func (s DescribeStaleSecurityGroupsOutput) GoString() string {
  36668. return s.String()
  36669. }
  36670. // SetNextToken sets the NextToken field's value.
  36671. func (s *DescribeStaleSecurityGroupsOutput) SetNextToken(v string) *DescribeStaleSecurityGroupsOutput {
  36672. s.NextToken = &v
  36673. return s
  36674. }
  36675. // SetStaleSecurityGroupSet sets the StaleSecurityGroupSet field's value.
  36676. func (s *DescribeStaleSecurityGroupsOutput) SetStaleSecurityGroupSet(v []*StaleSecurityGroup) *DescribeStaleSecurityGroupsOutput {
  36677. s.StaleSecurityGroupSet = v
  36678. return s
  36679. }
  36680. // Contains the parameters for DescribeSubnets.
  36681. type DescribeSubnetsInput struct {
  36682. _ struct{} `type:"structure"`
  36683. // Checks whether you have the required permissions for the action, without
  36684. // actually making the request, and provides an error response. If you have
  36685. // the required permissions, the error response is DryRunOperation. Otherwise,
  36686. // it is UnauthorizedOperation.
  36687. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36688. // One or more filters.
  36689. //
  36690. // * availabilityZone - The Availability Zone for the subnet. You can also
  36691. // use availability-zone as the filter name.
  36692. //
  36693. // * available-ip-address-count - The number of IPv4 addresses in the subnet
  36694. // that are available.
  36695. //
  36696. // * cidrBlock - The IPv4 CIDR block of the subnet. The CIDR block you specify
  36697. // must exactly match the subnet's CIDR block for information to be returned
  36698. // for the subnet. You can also use cidr or cidr-block as the filter names.
  36699. //
  36700. // * defaultForAz - Indicates whether this is the default subnet for the
  36701. // Availability Zone. You can also use default-for-az as the filter name.
  36702. //
  36703. // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
  36704. // with the subnet.
  36705. //
  36706. // * ipv6-cidr-block-association.association-id - An association ID for an
  36707. // IPv6 CIDR block associated with the subnet.
  36708. //
  36709. // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
  36710. // associated with the subnet.
  36711. //
  36712. // * state - The state of the subnet (pending | available).
  36713. //
  36714. // * subnet-id - The ID of the subnet.
  36715. //
  36716. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  36717. // Specify the key of the tag in the filter name and the value of the tag
  36718. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  36719. // for the filter name and X for the filter value.
  36720. //
  36721. // * tag-key - The key of a tag assigned to the resource. This filter is
  36722. // independent of the tag-value filter. For example, if you use both the
  36723. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  36724. // assigned both the tag key Purpose (regardless of what the tag's value
  36725. // is), and the tag value X (regardless of what the tag's key is). If you
  36726. // want to list only resources where Purpose is X, see the tag:key=value
  36727. // filter.
  36728. //
  36729. // * tag-value - The value of a tag assigned to the resource. This filter
  36730. // is independent of the tag-key filter.
  36731. //
  36732. // * vpc-id - The ID of the VPC for the subnet.
  36733. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  36734. // One or more subnet IDs.
  36735. //
  36736. // Default: Describes all your subnets.
  36737. SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
  36738. }
  36739. // String returns the string representation
  36740. func (s DescribeSubnetsInput) String() string {
  36741. return awsutil.Prettify(s)
  36742. }
  36743. // GoString returns the string representation
  36744. func (s DescribeSubnetsInput) GoString() string {
  36745. return s.String()
  36746. }
  36747. // SetDryRun sets the DryRun field's value.
  36748. func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput {
  36749. s.DryRun = &v
  36750. return s
  36751. }
  36752. // SetFilters sets the Filters field's value.
  36753. func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput {
  36754. s.Filters = v
  36755. return s
  36756. }
  36757. // SetSubnetIds sets the SubnetIds field's value.
  36758. func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput {
  36759. s.SubnetIds = v
  36760. return s
  36761. }
  36762. // Contains the output of DescribeSubnets.
  36763. type DescribeSubnetsOutput struct {
  36764. _ struct{} `type:"structure"`
  36765. // Information about one or more subnets.
  36766. Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
  36767. }
  36768. // String returns the string representation
  36769. func (s DescribeSubnetsOutput) String() string {
  36770. return awsutil.Prettify(s)
  36771. }
  36772. // GoString returns the string representation
  36773. func (s DescribeSubnetsOutput) GoString() string {
  36774. return s.String()
  36775. }
  36776. // SetSubnets sets the Subnets field's value.
  36777. func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput {
  36778. s.Subnets = v
  36779. return s
  36780. }
  36781. // Contains the parameters for DescribeTags.
  36782. type DescribeTagsInput struct {
  36783. _ struct{} `type:"structure"`
  36784. // Checks whether you have the required permissions for the action, without
  36785. // actually making the request, and provides an error response. If you have
  36786. // the required permissions, the error response is DryRunOperation. Otherwise,
  36787. // it is UnauthorizedOperation.
  36788. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36789. // One or more filters.
  36790. //
  36791. // * key - The tag key.
  36792. //
  36793. // * resource-id - The resource ID.
  36794. //
  36795. // * resource-type - The resource type (customer-gateway | dhcp-options |
  36796. // elastic-ip | fpga-image | image | instance | internet-gateway | launch-template
  36797. // | natgateway | network-acl | network-interface | reserved-instances |
  36798. // route-table | security-group | snapshot | spot-instances-request | subnet
  36799. // | volume | vpc | vpc-peering-connection | vpn-connection | vpn-gateway).
  36800. //
  36801. // * value - The tag value.
  36802. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  36803. // The maximum number of results to return in a single call. This value can
  36804. // be between 5 and 1000. To retrieve the remaining results, make another call
  36805. // with the returned NextToken value.
  36806. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  36807. // The token to retrieve the next page of results.
  36808. NextToken *string `locationName:"nextToken" type:"string"`
  36809. }
  36810. // String returns the string representation
  36811. func (s DescribeTagsInput) String() string {
  36812. return awsutil.Prettify(s)
  36813. }
  36814. // GoString returns the string representation
  36815. func (s DescribeTagsInput) GoString() string {
  36816. return s.String()
  36817. }
  36818. // SetDryRun sets the DryRun field's value.
  36819. func (s *DescribeTagsInput) SetDryRun(v bool) *DescribeTagsInput {
  36820. s.DryRun = &v
  36821. return s
  36822. }
  36823. // SetFilters sets the Filters field's value.
  36824. func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput {
  36825. s.Filters = v
  36826. return s
  36827. }
  36828. // SetMaxResults sets the MaxResults field's value.
  36829. func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
  36830. s.MaxResults = &v
  36831. return s
  36832. }
  36833. // SetNextToken sets the NextToken field's value.
  36834. func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
  36835. s.NextToken = &v
  36836. return s
  36837. }
  36838. // Contains the output of DescribeTags.
  36839. type DescribeTagsOutput struct {
  36840. _ struct{} `type:"structure"`
  36841. // The token to use to retrieve the next page of results. This value is null
  36842. // when there are no more results to return..
  36843. NextToken *string `locationName:"nextToken" type:"string"`
  36844. // A list of tags.
  36845. Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
  36846. }
  36847. // String returns the string representation
  36848. func (s DescribeTagsOutput) String() string {
  36849. return awsutil.Prettify(s)
  36850. }
  36851. // GoString returns the string representation
  36852. func (s DescribeTagsOutput) GoString() string {
  36853. return s.String()
  36854. }
  36855. // SetNextToken sets the NextToken field's value.
  36856. func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
  36857. s.NextToken = &v
  36858. return s
  36859. }
  36860. // SetTags sets the Tags field's value.
  36861. func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
  36862. s.Tags = v
  36863. return s
  36864. }
  36865. // Contains the parameters for DescribeVolumeAttribute.
  36866. type DescribeVolumeAttributeInput struct {
  36867. _ struct{} `type:"structure"`
  36868. // The attribute of the volume. This parameter is required.
  36869. Attribute *string `type:"string" enum:"VolumeAttributeName"`
  36870. // Checks whether you have the required permissions for the action, without
  36871. // actually making the request, and provides an error response. If you have
  36872. // the required permissions, the error response is DryRunOperation. Otherwise,
  36873. // it is UnauthorizedOperation.
  36874. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36875. // The ID of the volume.
  36876. //
  36877. // VolumeId is a required field
  36878. VolumeId *string `type:"string" required:"true"`
  36879. }
  36880. // String returns the string representation
  36881. func (s DescribeVolumeAttributeInput) String() string {
  36882. return awsutil.Prettify(s)
  36883. }
  36884. // GoString returns the string representation
  36885. func (s DescribeVolumeAttributeInput) GoString() string {
  36886. return s.String()
  36887. }
  36888. // Validate inspects the fields of the type to determine if they are valid.
  36889. func (s *DescribeVolumeAttributeInput) Validate() error {
  36890. invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
  36891. if s.VolumeId == nil {
  36892. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  36893. }
  36894. if invalidParams.Len() > 0 {
  36895. return invalidParams
  36896. }
  36897. return nil
  36898. }
  36899. // SetAttribute sets the Attribute field's value.
  36900. func (s *DescribeVolumeAttributeInput) SetAttribute(v string) *DescribeVolumeAttributeInput {
  36901. s.Attribute = &v
  36902. return s
  36903. }
  36904. // SetDryRun sets the DryRun field's value.
  36905. func (s *DescribeVolumeAttributeInput) SetDryRun(v bool) *DescribeVolumeAttributeInput {
  36906. s.DryRun = &v
  36907. return s
  36908. }
  36909. // SetVolumeId sets the VolumeId field's value.
  36910. func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttributeInput {
  36911. s.VolumeId = &v
  36912. return s
  36913. }
  36914. // Contains the output of DescribeVolumeAttribute.
  36915. type DescribeVolumeAttributeOutput struct {
  36916. _ struct{} `type:"structure"`
  36917. // The state of autoEnableIO attribute.
  36918. AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
  36919. // A list of product codes.
  36920. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  36921. // The ID of the volume.
  36922. VolumeId *string `locationName:"volumeId" type:"string"`
  36923. }
  36924. // String returns the string representation
  36925. func (s DescribeVolumeAttributeOutput) String() string {
  36926. return awsutil.Prettify(s)
  36927. }
  36928. // GoString returns the string representation
  36929. func (s DescribeVolumeAttributeOutput) GoString() string {
  36930. return s.String()
  36931. }
  36932. // SetAutoEnableIO sets the AutoEnableIO field's value.
  36933. func (s *DescribeVolumeAttributeOutput) SetAutoEnableIO(v *AttributeBooleanValue) *DescribeVolumeAttributeOutput {
  36934. s.AutoEnableIO = v
  36935. return s
  36936. }
  36937. // SetProductCodes sets the ProductCodes field's value.
  36938. func (s *DescribeVolumeAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeVolumeAttributeOutput {
  36939. s.ProductCodes = v
  36940. return s
  36941. }
  36942. // SetVolumeId sets the VolumeId field's value.
  36943. func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAttributeOutput {
  36944. s.VolumeId = &v
  36945. return s
  36946. }
  36947. // Contains the parameters for DescribeVolumeStatus.
  36948. type DescribeVolumeStatusInput struct {
  36949. _ struct{} `type:"structure"`
  36950. // Checks whether you have the required permissions for the action, without
  36951. // actually making the request, and provides an error response. If you have
  36952. // the required permissions, the error response is DryRunOperation. Otherwise,
  36953. // it is UnauthorizedOperation.
  36954. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36955. // One or more filters.
  36956. //
  36957. // * action.code - The action code for the event (for example, enable-volume-io).
  36958. //
  36959. // * action.description - A description of the action.
  36960. //
  36961. // * action.event-id - The event ID associated with the action.
  36962. //
  36963. // * availability-zone - The Availability Zone of the instance.
  36964. //
  36965. // * event.description - A description of the event.
  36966. //
  36967. // * event.event-id - The event ID.
  36968. //
  36969. // * event.event-type - The event type (for io-enabled: passed | failed;
  36970. // for io-performance: io-performance:degraded | io-performance:severely-degraded
  36971. // | io-performance:stalled).
  36972. //
  36973. // * event.not-after - The latest end time for the event.
  36974. //
  36975. // * event.not-before - The earliest start time for the event.
  36976. //
  36977. // * volume-status.details-name - The cause for volume-status.status (io-enabled
  36978. // | io-performance).
  36979. //
  36980. // * volume-status.details-status - The status of volume-status.details-name
  36981. // (for io-enabled: passed | failed; for io-performance: normal | degraded
  36982. // | severely-degraded | stalled).
  36983. //
  36984. // * volume-status.status - The status of the volume (ok | impaired | warning
  36985. // | insufficient-data).
  36986. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  36987. // The maximum number of volume results returned by DescribeVolumeStatus in
  36988. // paginated output. When this parameter is used, the request only returns MaxResults
  36989. // results in a single page along with a NextToken response element. The remaining
  36990. // results of the initial request can be seen by sending another request with
  36991. // the returned NextToken value. This value can be between 5 and 1000; if MaxResults
  36992. // is given a value larger than 1000, only 1000 results are returned. If this
  36993. // parameter is not used, then DescribeVolumeStatus returns all results. You
  36994. // cannot specify this parameter and the volume IDs parameter in the same request.
  36995. MaxResults *int64 `type:"integer"`
  36996. // The NextToken value to include in a future DescribeVolumeStatus request.
  36997. // When the results of the request exceed MaxResults, this value can be used
  36998. // to retrieve the next page of results. This value is null when there are no
  36999. // more results to return.
  37000. NextToken *string `type:"string"`
  37001. // One or more volume IDs.
  37002. //
  37003. // Default: Describes all your volumes.
  37004. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  37005. }
  37006. // String returns the string representation
  37007. func (s DescribeVolumeStatusInput) String() string {
  37008. return awsutil.Prettify(s)
  37009. }
  37010. // GoString returns the string representation
  37011. func (s DescribeVolumeStatusInput) GoString() string {
  37012. return s.String()
  37013. }
  37014. // SetDryRun sets the DryRun field's value.
  37015. func (s *DescribeVolumeStatusInput) SetDryRun(v bool) *DescribeVolumeStatusInput {
  37016. s.DryRun = &v
  37017. return s
  37018. }
  37019. // SetFilters sets the Filters field's value.
  37020. func (s *DescribeVolumeStatusInput) SetFilters(v []*Filter) *DescribeVolumeStatusInput {
  37021. s.Filters = v
  37022. return s
  37023. }
  37024. // SetMaxResults sets the MaxResults field's value.
  37025. func (s *DescribeVolumeStatusInput) SetMaxResults(v int64) *DescribeVolumeStatusInput {
  37026. s.MaxResults = &v
  37027. return s
  37028. }
  37029. // SetNextToken sets the NextToken field's value.
  37030. func (s *DescribeVolumeStatusInput) SetNextToken(v string) *DescribeVolumeStatusInput {
  37031. s.NextToken = &v
  37032. return s
  37033. }
  37034. // SetVolumeIds sets the VolumeIds field's value.
  37035. func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeStatusInput {
  37036. s.VolumeIds = v
  37037. return s
  37038. }
  37039. // Contains the output of DescribeVolumeStatus.
  37040. type DescribeVolumeStatusOutput struct {
  37041. _ struct{} `type:"structure"`
  37042. // The token to use to retrieve the next page of results. This value is null
  37043. // when there are no more results to return.
  37044. NextToken *string `locationName:"nextToken" type:"string"`
  37045. // A list of volumes.
  37046. VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
  37047. }
  37048. // String returns the string representation
  37049. func (s DescribeVolumeStatusOutput) String() string {
  37050. return awsutil.Prettify(s)
  37051. }
  37052. // GoString returns the string representation
  37053. func (s DescribeVolumeStatusOutput) GoString() string {
  37054. return s.String()
  37055. }
  37056. // SetNextToken sets the NextToken field's value.
  37057. func (s *DescribeVolumeStatusOutput) SetNextToken(v string) *DescribeVolumeStatusOutput {
  37058. s.NextToken = &v
  37059. return s
  37060. }
  37061. // SetVolumeStatuses sets the VolumeStatuses field's value.
  37062. func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *DescribeVolumeStatusOutput {
  37063. s.VolumeStatuses = v
  37064. return s
  37065. }
  37066. // Contains the parameters for DescribeVolumes.
  37067. type DescribeVolumesInput struct {
  37068. _ struct{} `type:"structure"`
  37069. // Checks whether you have the required permissions for the action, without
  37070. // actually making the request, and provides an error response. If you have
  37071. // the required permissions, the error response is DryRunOperation. Otherwise,
  37072. // it is UnauthorizedOperation.
  37073. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37074. // One or more filters.
  37075. //
  37076. // * attachment.attach-time - The time stamp when the attachment initiated.
  37077. //
  37078. // * attachment.delete-on-termination - Whether the volume is deleted on
  37079. // instance termination.
  37080. //
  37081. // * attachment.device - The device name specified in the block device mapping
  37082. // (for example, /dev/sda1).
  37083. //
  37084. // * attachment.instance-id - The ID of the instance the volume is attached
  37085. // to.
  37086. //
  37087. // * attachment.status - The attachment state (attaching | attached | detaching).
  37088. //
  37089. // * availability-zone - The Availability Zone in which the volume was created.
  37090. //
  37091. // * create-time - The time stamp when the volume was created.
  37092. //
  37093. // * encrypted - The encryption status of the volume.
  37094. //
  37095. // * size - The size of the volume, in GiB.
  37096. //
  37097. // * snapshot-id - The snapshot from which the volume was created.
  37098. //
  37099. // * status - The status of the volume (creating | available | in-use | deleting
  37100. // | deleted | error).
  37101. //
  37102. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  37103. // Specify the key of the tag in the filter name and the value of the tag
  37104. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  37105. // for the filter name and X for the filter value.
  37106. //
  37107. // * tag-key - The key of a tag assigned to the resource. This filter is
  37108. // independent of the tag-value filter. For example, if you use both the
  37109. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  37110. // assigned both the tag key Purpose (regardless of what the tag's value
  37111. // is), and the tag value X (regardless of what the tag's key is). If you
  37112. // want to list only resources where Purpose is X, see the tag:key=value
  37113. // filter.
  37114. //
  37115. // * tag-value - The value of a tag assigned to the resource. This filter
  37116. // is independent of the tag-key filter.
  37117. //
  37118. // * volume-id - The volume ID.
  37119. //
  37120. // * volume-type - The Amazon EBS volume type. This can be gp2 for General
  37121. // Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized
  37122. // HDD, sc1 for Cold HDD, or standard for Magnetic volumes.
  37123. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37124. // The maximum number of volume results returned by DescribeVolumes in paginated
  37125. // output. When this parameter is used, DescribeVolumes only returns MaxResults
  37126. // results in a single page along with a NextToken response element. The remaining
  37127. // results of the initial request can be seen by sending another DescribeVolumes
  37128. // request with the returned NextToken value. This value can be between 5 and
  37129. // 500; if MaxResults is given a value larger than 500, only 500 results are
  37130. // returned. If this parameter is not used, then DescribeVolumes returns all
  37131. // results. You cannot specify this parameter and the volume IDs parameter in
  37132. // the same request.
  37133. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  37134. // The NextToken value returned from a previous paginated DescribeVolumes request
  37135. // where MaxResults was used and the results exceeded the value of that parameter.
  37136. // Pagination continues from the end of the previous results that returned the
  37137. // NextToken value. This value is null when there are no more results to return.
  37138. NextToken *string `locationName:"nextToken" type:"string"`
  37139. // One or more volume IDs.
  37140. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  37141. }
  37142. // String returns the string representation
  37143. func (s DescribeVolumesInput) String() string {
  37144. return awsutil.Prettify(s)
  37145. }
  37146. // GoString returns the string representation
  37147. func (s DescribeVolumesInput) GoString() string {
  37148. return s.String()
  37149. }
  37150. // SetDryRun sets the DryRun field's value.
  37151. func (s *DescribeVolumesInput) SetDryRun(v bool) *DescribeVolumesInput {
  37152. s.DryRun = &v
  37153. return s
  37154. }
  37155. // SetFilters sets the Filters field's value.
  37156. func (s *DescribeVolumesInput) SetFilters(v []*Filter) *DescribeVolumesInput {
  37157. s.Filters = v
  37158. return s
  37159. }
  37160. // SetMaxResults sets the MaxResults field's value.
  37161. func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
  37162. s.MaxResults = &v
  37163. return s
  37164. }
  37165. // SetNextToken sets the NextToken field's value.
  37166. func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
  37167. s.NextToken = &v
  37168. return s
  37169. }
  37170. // SetVolumeIds sets the VolumeIds field's value.
  37171. func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
  37172. s.VolumeIds = v
  37173. return s
  37174. }
  37175. type DescribeVolumesModificationsInput struct {
  37176. _ struct{} `type:"structure"`
  37177. // Checks whether you have the required permissions for the action, without
  37178. // actually making the request, and provides an error response. If you have
  37179. // the required permissions, the error response is DryRunOperation. Otherwise,
  37180. // it is UnauthorizedOperation.
  37181. DryRun *bool `type:"boolean"`
  37182. // One or more filters. Supported filters: volume-id, modification-state, target-size,
  37183. // target-iops, target-volume-type, original-size, original-iops, original-volume-type,
  37184. // start-time.
  37185. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37186. // The maximum number of results (up to a limit of 500) to be returned in a
  37187. // paginated request.
  37188. MaxResults *int64 `type:"integer"`
  37189. // The nextToken value returned by a previous paginated request.
  37190. NextToken *string `type:"string"`
  37191. // One or more volume IDs for which in-progress modifications will be described.
  37192. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  37193. }
  37194. // String returns the string representation
  37195. func (s DescribeVolumesModificationsInput) String() string {
  37196. return awsutil.Prettify(s)
  37197. }
  37198. // GoString returns the string representation
  37199. func (s DescribeVolumesModificationsInput) GoString() string {
  37200. return s.String()
  37201. }
  37202. // SetDryRun sets the DryRun field's value.
  37203. func (s *DescribeVolumesModificationsInput) SetDryRun(v bool) *DescribeVolumesModificationsInput {
  37204. s.DryRun = &v
  37205. return s
  37206. }
  37207. // SetFilters sets the Filters field's value.
  37208. func (s *DescribeVolumesModificationsInput) SetFilters(v []*Filter) *DescribeVolumesModificationsInput {
  37209. s.Filters = v
  37210. return s
  37211. }
  37212. // SetMaxResults sets the MaxResults field's value.
  37213. func (s *DescribeVolumesModificationsInput) SetMaxResults(v int64) *DescribeVolumesModificationsInput {
  37214. s.MaxResults = &v
  37215. return s
  37216. }
  37217. // SetNextToken sets the NextToken field's value.
  37218. func (s *DescribeVolumesModificationsInput) SetNextToken(v string) *DescribeVolumesModificationsInput {
  37219. s.NextToken = &v
  37220. return s
  37221. }
  37222. // SetVolumeIds sets the VolumeIds field's value.
  37223. func (s *DescribeVolumesModificationsInput) SetVolumeIds(v []*string) *DescribeVolumesModificationsInput {
  37224. s.VolumeIds = v
  37225. return s
  37226. }
  37227. type DescribeVolumesModificationsOutput struct {
  37228. _ struct{} `type:"structure"`
  37229. // Token for pagination, null if there are no more results
  37230. NextToken *string `locationName:"nextToken" type:"string"`
  37231. // A list of returned VolumeModification objects.
  37232. VolumesModifications []*VolumeModification `locationName:"volumeModificationSet" locationNameList:"item" type:"list"`
  37233. }
  37234. // String returns the string representation
  37235. func (s DescribeVolumesModificationsOutput) String() string {
  37236. return awsutil.Prettify(s)
  37237. }
  37238. // GoString returns the string representation
  37239. func (s DescribeVolumesModificationsOutput) GoString() string {
  37240. return s.String()
  37241. }
  37242. // SetNextToken sets the NextToken field's value.
  37243. func (s *DescribeVolumesModificationsOutput) SetNextToken(v string) *DescribeVolumesModificationsOutput {
  37244. s.NextToken = &v
  37245. return s
  37246. }
  37247. // SetVolumesModifications sets the VolumesModifications field's value.
  37248. func (s *DescribeVolumesModificationsOutput) SetVolumesModifications(v []*VolumeModification) *DescribeVolumesModificationsOutput {
  37249. s.VolumesModifications = v
  37250. return s
  37251. }
  37252. // Contains the output of DescribeVolumes.
  37253. type DescribeVolumesOutput struct {
  37254. _ struct{} `type:"structure"`
  37255. // The NextToken value to include in a future DescribeVolumes request. When
  37256. // the results of a DescribeVolumes request exceed MaxResults, this value can
  37257. // be used to retrieve the next page of results. This value is null when there
  37258. // are no more results to return.
  37259. NextToken *string `locationName:"nextToken" type:"string"`
  37260. // Information about the volumes.
  37261. Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
  37262. }
  37263. // String returns the string representation
  37264. func (s DescribeVolumesOutput) String() string {
  37265. return awsutil.Prettify(s)
  37266. }
  37267. // GoString returns the string representation
  37268. func (s DescribeVolumesOutput) GoString() string {
  37269. return s.String()
  37270. }
  37271. // SetNextToken sets the NextToken field's value.
  37272. func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
  37273. s.NextToken = &v
  37274. return s
  37275. }
  37276. // SetVolumes sets the Volumes field's value.
  37277. func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
  37278. s.Volumes = v
  37279. return s
  37280. }
  37281. // Contains the parameters for DescribeVpcAttribute.
  37282. type DescribeVpcAttributeInput struct {
  37283. _ struct{} `type:"structure"`
  37284. // The VPC attribute.
  37285. //
  37286. // Attribute is a required field
  37287. Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
  37288. // Checks whether you have the required permissions for the action, without
  37289. // actually making the request, and provides an error response. If you have
  37290. // the required permissions, the error response is DryRunOperation. Otherwise,
  37291. // it is UnauthorizedOperation.
  37292. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37293. // The ID of the VPC.
  37294. //
  37295. // VpcId is a required field
  37296. VpcId *string `type:"string" required:"true"`
  37297. }
  37298. // String returns the string representation
  37299. func (s DescribeVpcAttributeInput) String() string {
  37300. return awsutil.Prettify(s)
  37301. }
  37302. // GoString returns the string representation
  37303. func (s DescribeVpcAttributeInput) GoString() string {
  37304. return s.String()
  37305. }
  37306. // Validate inspects the fields of the type to determine if they are valid.
  37307. func (s *DescribeVpcAttributeInput) Validate() error {
  37308. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
  37309. if s.Attribute == nil {
  37310. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  37311. }
  37312. if s.VpcId == nil {
  37313. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  37314. }
  37315. if invalidParams.Len() > 0 {
  37316. return invalidParams
  37317. }
  37318. return nil
  37319. }
  37320. // SetAttribute sets the Attribute field's value.
  37321. func (s *DescribeVpcAttributeInput) SetAttribute(v string) *DescribeVpcAttributeInput {
  37322. s.Attribute = &v
  37323. return s
  37324. }
  37325. // SetDryRun sets the DryRun field's value.
  37326. func (s *DescribeVpcAttributeInput) SetDryRun(v bool) *DescribeVpcAttributeInput {
  37327. s.DryRun = &v
  37328. return s
  37329. }
  37330. // SetVpcId sets the VpcId field's value.
  37331. func (s *DescribeVpcAttributeInput) SetVpcId(v string) *DescribeVpcAttributeInput {
  37332. s.VpcId = &v
  37333. return s
  37334. }
  37335. // Contains the output of DescribeVpcAttribute.
  37336. type DescribeVpcAttributeOutput struct {
  37337. _ struct{} `type:"structure"`
  37338. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  37339. // this attribute is true, instances in the VPC get DNS hostnames; otherwise,
  37340. // they do not.
  37341. EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
  37342. // Indicates whether DNS resolution is enabled for the VPC. If this attribute
  37343. // is true, the Amazon DNS server resolves DNS hostnames for your instances
  37344. // to their corresponding IP addresses; otherwise, it does not.
  37345. EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
  37346. // The ID of the VPC.
  37347. VpcId *string `locationName:"vpcId" type:"string"`
  37348. }
  37349. // String returns the string representation
  37350. func (s DescribeVpcAttributeOutput) String() string {
  37351. return awsutil.Prettify(s)
  37352. }
  37353. // GoString returns the string representation
  37354. func (s DescribeVpcAttributeOutput) GoString() string {
  37355. return s.String()
  37356. }
  37357. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  37358. func (s *DescribeVpcAttributeOutput) SetEnableDnsHostnames(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  37359. s.EnableDnsHostnames = v
  37360. return s
  37361. }
  37362. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  37363. func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  37364. s.EnableDnsSupport = v
  37365. return s
  37366. }
  37367. // SetVpcId sets the VpcId field's value.
  37368. func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput {
  37369. s.VpcId = &v
  37370. return s
  37371. }
  37372. // Contains the parameters for DescribeVpcClassicLinkDnsSupport.
  37373. type DescribeVpcClassicLinkDnsSupportInput struct {
  37374. _ struct{} `type:"structure"`
  37375. // The maximum number of items to return for this request. The request returns
  37376. // a token that you can specify in a subsequent call to get the next set of
  37377. // results.
  37378. MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
  37379. // The token for the next set of items to return. (You received this token from
  37380. // a prior call.)
  37381. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  37382. // One or more VPC IDs.
  37383. VpcIds []*string `locationNameList:"VpcId" type:"list"`
  37384. }
  37385. // String returns the string representation
  37386. func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
  37387. return awsutil.Prettify(s)
  37388. }
  37389. // GoString returns the string representation
  37390. func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
  37391. return s.String()
  37392. }
  37393. // Validate inspects the fields of the type to determine if they are valid.
  37394. func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
  37395. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
  37396. if s.MaxResults != nil && *s.MaxResults < 5 {
  37397. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  37398. }
  37399. if s.NextToken != nil && len(*s.NextToken) < 1 {
  37400. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  37401. }
  37402. if invalidParams.Len() > 0 {
  37403. return invalidParams
  37404. }
  37405. return nil
  37406. }
  37407. // SetMaxResults sets the MaxResults field's value.
  37408. func (s *DescribeVpcClassicLinkDnsSupportInput) SetMaxResults(v int64) *DescribeVpcClassicLinkDnsSupportInput {
  37409. s.MaxResults = &v
  37410. return s
  37411. }
  37412. // SetNextToken sets the NextToken field's value.
  37413. func (s *DescribeVpcClassicLinkDnsSupportInput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportInput {
  37414. s.NextToken = &v
  37415. return s
  37416. }
  37417. // SetVpcIds sets the VpcIds field's value.
  37418. func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkDnsSupportInput {
  37419. s.VpcIds = v
  37420. return s
  37421. }
  37422. // Contains the output of DescribeVpcClassicLinkDnsSupport.
  37423. type DescribeVpcClassicLinkDnsSupportOutput struct {
  37424. _ struct{} `type:"structure"`
  37425. // The token to use when requesting the next set of items.
  37426. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  37427. // Information about the ClassicLink DNS support status of the VPCs.
  37428. Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
  37429. }
  37430. // String returns the string representation
  37431. func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
  37432. return awsutil.Prettify(s)
  37433. }
  37434. // GoString returns the string representation
  37435. func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
  37436. return s.String()
  37437. }
  37438. // SetNextToken sets the NextToken field's value.
  37439. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportOutput {
  37440. s.NextToken = &v
  37441. return s
  37442. }
  37443. // SetVpcs sets the Vpcs field's value.
  37444. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetVpcs(v []*ClassicLinkDnsSupport) *DescribeVpcClassicLinkDnsSupportOutput {
  37445. s.Vpcs = v
  37446. return s
  37447. }
  37448. // Contains the parameters for DescribeVpcClassicLink.
  37449. type DescribeVpcClassicLinkInput struct {
  37450. _ struct{} `type:"structure"`
  37451. // Checks whether you have the required permissions for the action, without
  37452. // actually making the request, and provides an error response. If you have
  37453. // the required permissions, the error response is DryRunOperation. Otherwise,
  37454. // it is UnauthorizedOperation.
  37455. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37456. // One or more filters.
  37457. //
  37458. // * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
  37459. // (true | false).
  37460. //
  37461. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  37462. // Specify the key of the tag in the filter name and the value of the tag
  37463. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  37464. // for the filter name and X for the filter value.
  37465. //
  37466. // * tag-key - The key of a tag assigned to the resource. This filter is
  37467. // independent of the tag-value filter. For example, if you use both the
  37468. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  37469. // assigned both the tag key Purpose (regardless of what the tag's value
  37470. // is), and the tag value X (regardless of what the tag's key is). If you
  37471. // want to list only resources where Purpose is X, see the tag:key=value
  37472. // filter.
  37473. //
  37474. // * tag-value - The value of a tag assigned to the resource. This filter
  37475. // is independent of the tag-key filter.
  37476. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37477. // One or more VPCs for which you want to describe the ClassicLink status.
  37478. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  37479. }
  37480. // String returns the string representation
  37481. func (s DescribeVpcClassicLinkInput) String() string {
  37482. return awsutil.Prettify(s)
  37483. }
  37484. // GoString returns the string representation
  37485. func (s DescribeVpcClassicLinkInput) GoString() string {
  37486. return s.String()
  37487. }
  37488. // SetDryRun sets the DryRun field's value.
  37489. func (s *DescribeVpcClassicLinkInput) SetDryRun(v bool) *DescribeVpcClassicLinkInput {
  37490. s.DryRun = &v
  37491. return s
  37492. }
  37493. // SetFilters sets the Filters field's value.
  37494. func (s *DescribeVpcClassicLinkInput) SetFilters(v []*Filter) *DescribeVpcClassicLinkInput {
  37495. s.Filters = v
  37496. return s
  37497. }
  37498. // SetVpcIds sets the VpcIds field's value.
  37499. func (s *DescribeVpcClassicLinkInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkInput {
  37500. s.VpcIds = v
  37501. return s
  37502. }
  37503. // Contains the output of DescribeVpcClassicLink.
  37504. type DescribeVpcClassicLinkOutput struct {
  37505. _ struct{} `type:"structure"`
  37506. // The ClassicLink status of one or more VPCs.
  37507. Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
  37508. }
  37509. // String returns the string representation
  37510. func (s DescribeVpcClassicLinkOutput) String() string {
  37511. return awsutil.Prettify(s)
  37512. }
  37513. // GoString returns the string representation
  37514. func (s DescribeVpcClassicLinkOutput) GoString() string {
  37515. return s.String()
  37516. }
  37517. // SetVpcs sets the Vpcs field's value.
  37518. func (s *DescribeVpcClassicLinkOutput) SetVpcs(v []*VpcClassicLink) *DescribeVpcClassicLinkOutput {
  37519. s.Vpcs = v
  37520. return s
  37521. }
  37522. type DescribeVpcEndpointConnectionNotificationsInput struct {
  37523. _ struct{} `type:"structure"`
  37524. // The ID of the notification.
  37525. ConnectionNotificationId *string `type:"string"`
  37526. // Checks whether you have the required permissions for the action, without
  37527. // actually making the request, and provides an error response. If you have
  37528. // the required permissions, the error response is DryRunOperation. Otherwise,
  37529. // it is UnauthorizedOperation.
  37530. DryRun *bool `type:"boolean"`
  37531. // One or more filters.
  37532. //
  37533. // * connection-notification-arn - The ARN of SNS topic for the notification.
  37534. //
  37535. // * connection-notification-id - The ID of the notification.
  37536. //
  37537. // * connection-notification-state - The state of the notification (Enabled
  37538. // | Disabled).
  37539. //
  37540. // * connection-notification-type - The type of notification (Topic).
  37541. //
  37542. // * service-id - The ID of the endpoint service.
  37543. //
  37544. // * vpc-endpoint-id - The ID of the VPC endpoint.
  37545. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37546. // The maximum number of results to return in a single call. To retrieve the
  37547. // remaining results, make another request with the returned NextToken value.
  37548. MaxResults *int64 `type:"integer"`
  37549. // The token to request the next page of results.
  37550. NextToken *string `type:"string"`
  37551. }
  37552. // String returns the string representation
  37553. func (s DescribeVpcEndpointConnectionNotificationsInput) String() string {
  37554. return awsutil.Prettify(s)
  37555. }
  37556. // GoString returns the string representation
  37557. func (s DescribeVpcEndpointConnectionNotificationsInput) GoString() string {
  37558. return s.String()
  37559. }
  37560. // SetConnectionNotificationId sets the ConnectionNotificationId field's value.
  37561. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetConnectionNotificationId(v string) *DescribeVpcEndpointConnectionNotificationsInput {
  37562. s.ConnectionNotificationId = &v
  37563. return s
  37564. }
  37565. // SetDryRun sets the DryRun field's value.
  37566. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionNotificationsInput {
  37567. s.DryRun = &v
  37568. return s
  37569. }
  37570. // SetFilters sets the Filters field's value.
  37571. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionNotificationsInput {
  37572. s.Filters = v
  37573. return s
  37574. }
  37575. // SetMaxResults sets the MaxResults field's value.
  37576. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionNotificationsInput {
  37577. s.MaxResults = &v
  37578. return s
  37579. }
  37580. // SetNextToken sets the NextToken field's value.
  37581. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsInput {
  37582. s.NextToken = &v
  37583. return s
  37584. }
  37585. type DescribeVpcEndpointConnectionNotificationsOutput struct {
  37586. _ struct{} `type:"structure"`
  37587. // One or more notifications.
  37588. ConnectionNotificationSet []*ConnectionNotification `locationName:"connectionNotificationSet" locationNameList:"item" type:"list"`
  37589. // The token to use to retrieve the next page of results. This value is null
  37590. // when there are no more results to return.
  37591. NextToken *string `locationName:"nextToken" type:"string"`
  37592. }
  37593. // String returns the string representation
  37594. func (s DescribeVpcEndpointConnectionNotificationsOutput) String() string {
  37595. return awsutil.Prettify(s)
  37596. }
  37597. // GoString returns the string representation
  37598. func (s DescribeVpcEndpointConnectionNotificationsOutput) GoString() string {
  37599. return s.String()
  37600. }
  37601. // SetConnectionNotificationSet sets the ConnectionNotificationSet field's value.
  37602. func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetConnectionNotificationSet(v []*ConnectionNotification) *DescribeVpcEndpointConnectionNotificationsOutput {
  37603. s.ConnectionNotificationSet = v
  37604. return s
  37605. }
  37606. // SetNextToken sets the NextToken field's value.
  37607. func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsOutput {
  37608. s.NextToken = &v
  37609. return s
  37610. }
  37611. type DescribeVpcEndpointConnectionsInput struct {
  37612. _ struct{} `type:"structure"`
  37613. // Checks whether you have the required permissions for the action, without
  37614. // actually making the request, and provides an error response. If you have
  37615. // the required permissions, the error response is DryRunOperation. Otherwise,
  37616. // it is UnauthorizedOperation.
  37617. DryRun *bool `type:"boolean"`
  37618. // One or more filters.
  37619. //
  37620. // * service-id - The ID of the service.
  37621. //
  37622. // * vpc-endpoint-owner - The AWS account number of the owner of the endpoint.
  37623. //
  37624. // * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
  37625. // pending | available | deleting | deleted | rejected | failed).
  37626. //
  37627. // * vpc-endpoint-id - The ID of the endpoint.
  37628. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37629. // The maximum number of results to return for the request in a single page.
  37630. // The remaining results of the initial request can be seen by sending another
  37631. // request with the returned NextToken value. This value can be between 5 and
  37632. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  37633. // are returned.
  37634. MaxResults *int64 `type:"integer"`
  37635. // The token to retrieve the next page of results.
  37636. NextToken *string `type:"string"`
  37637. }
  37638. // String returns the string representation
  37639. func (s DescribeVpcEndpointConnectionsInput) String() string {
  37640. return awsutil.Prettify(s)
  37641. }
  37642. // GoString returns the string representation
  37643. func (s DescribeVpcEndpointConnectionsInput) GoString() string {
  37644. return s.String()
  37645. }
  37646. // SetDryRun sets the DryRun field's value.
  37647. func (s *DescribeVpcEndpointConnectionsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionsInput {
  37648. s.DryRun = &v
  37649. return s
  37650. }
  37651. // SetFilters sets the Filters field's value.
  37652. func (s *DescribeVpcEndpointConnectionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionsInput {
  37653. s.Filters = v
  37654. return s
  37655. }
  37656. // SetMaxResults sets the MaxResults field's value.
  37657. func (s *DescribeVpcEndpointConnectionsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionsInput {
  37658. s.MaxResults = &v
  37659. return s
  37660. }
  37661. // SetNextToken sets the NextToken field's value.
  37662. func (s *DescribeVpcEndpointConnectionsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionsInput {
  37663. s.NextToken = &v
  37664. return s
  37665. }
  37666. type DescribeVpcEndpointConnectionsOutput struct {
  37667. _ struct{} `type:"structure"`
  37668. // The token to use to retrieve the next page of results. This value is null
  37669. // when there are no more results to return.
  37670. NextToken *string `locationName:"nextToken" type:"string"`
  37671. // Information about one or more VPC endpoint connections.
  37672. VpcEndpointConnections []*VpcEndpointConnection `locationName:"vpcEndpointConnectionSet" locationNameList:"item" type:"list"`
  37673. }
  37674. // String returns the string representation
  37675. func (s DescribeVpcEndpointConnectionsOutput) String() string {
  37676. return awsutil.Prettify(s)
  37677. }
  37678. // GoString returns the string representation
  37679. func (s DescribeVpcEndpointConnectionsOutput) GoString() string {
  37680. return s.String()
  37681. }
  37682. // SetNextToken sets the NextToken field's value.
  37683. func (s *DescribeVpcEndpointConnectionsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionsOutput {
  37684. s.NextToken = &v
  37685. return s
  37686. }
  37687. // SetVpcEndpointConnections sets the VpcEndpointConnections field's value.
  37688. func (s *DescribeVpcEndpointConnectionsOutput) SetVpcEndpointConnections(v []*VpcEndpointConnection) *DescribeVpcEndpointConnectionsOutput {
  37689. s.VpcEndpointConnections = v
  37690. return s
  37691. }
  37692. type DescribeVpcEndpointServiceConfigurationsInput struct {
  37693. _ struct{} `type:"structure"`
  37694. // Checks whether you have the required permissions for the action, without
  37695. // actually making the request, and provides an error response. If you have
  37696. // the required permissions, the error response is DryRunOperation. Otherwise,
  37697. // it is UnauthorizedOperation.
  37698. DryRun *bool `type:"boolean"`
  37699. // One or more filters.
  37700. //
  37701. // * service-name - The name of the service.
  37702. //
  37703. // * service-id - The ID of the service.
  37704. //
  37705. // * service-state - The state of the service (Pending | Available | Deleting
  37706. // | Deleted | Failed).
  37707. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37708. // The maximum number of results to return for the request in a single page.
  37709. // The remaining results of the initial request can be seen by sending another
  37710. // request with the returned NextToken value. This value can be between 5 and
  37711. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  37712. // are returned.
  37713. MaxResults *int64 `type:"integer"`
  37714. // The token to retrieve the next page of results.
  37715. NextToken *string `type:"string"`
  37716. // The IDs of one or more services.
  37717. ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list"`
  37718. }
  37719. // String returns the string representation
  37720. func (s DescribeVpcEndpointServiceConfigurationsInput) String() string {
  37721. return awsutil.Prettify(s)
  37722. }
  37723. // GoString returns the string representation
  37724. func (s DescribeVpcEndpointServiceConfigurationsInput) GoString() string {
  37725. return s.String()
  37726. }
  37727. // SetDryRun sets the DryRun field's value.
  37728. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DescribeVpcEndpointServiceConfigurationsInput {
  37729. s.DryRun = &v
  37730. return s
  37731. }
  37732. // SetFilters sets the Filters field's value.
  37733. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServiceConfigurationsInput {
  37734. s.Filters = v
  37735. return s
  37736. }
  37737. // SetMaxResults sets the MaxResults field's value.
  37738. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetMaxResults(v int64) *DescribeVpcEndpointServiceConfigurationsInput {
  37739. s.MaxResults = &v
  37740. return s
  37741. }
  37742. // SetNextToken sets the NextToken field's value.
  37743. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsInput {
  37744. s.NextToken = &v
  37745. return s
  37746. }
  37747. // SetServiceIds sets the ServiceIds field's value.
  37748. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DescribeVpcEndpointServiceConfigurationsInput {
  37749. s.ServiceIds = v
  37750. return s
  37751. }
  37752. type DescribeVpcEndpointServiceConfigurationsOutput struct {
  37753. _ struct{} `type:"structure"`
  37754. // The token to use to retrieve the next page of results. This value is null
  37755. // when there are no more results to return.
  37756. NextToken *string `locationName:"nextToken" type:"string"`
  37757. // Information about one or more services.
  37758. ServiceConfigurations []*ServiceConfiguration `locationName:"serviceConfigurationSet" locationNameList:"item" type:"list"`
  37759. }
  37760. // String returns the string representation
  37761. func (s DescribeVpcEndpointServiceConfigurationsOutput) String() string {
  37762. return awsutil.Prettify(s)
  37763. }
  37764. // GoString returns the string representation
  37765. func (s DescribeVpcEndpointServiceConfigurationsOutput) GoString() string {
  37766. return s.String()
  37767. }
  37768. // SetNextToken sets the NextToken field's value.
  37769. func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsOutput {
  37770. s.NextToken = &v
  37771. return s
  37772. }
  37773. // SetServiceConfigurations sets the ServiceConfigurations field's value.
  37774. func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetServiceConfigurations(v []*ServiceConfiguration) *DescribeVpcEndpointServiceConfigurationsOutput {
  37775. s.ServiceConfigurations = v
  37776. return s
  37777. }
  37778. type DescribeVpcEndpointServicePermissionsInput struct {
  37779. _ struct{} `type:"structure"`
  37780. // Checks whether you have the required permissions for the action, without
  37781. // actually making the request, and provides an error response. If you have
  37782. // the required permissions, the error response is DryRunOperation. Otherwise,
  37783. // it is UnauthorizedOperation.
  37784. DryRun *bool `type:"boolean"`
  37785. // One or more filters.
  37786. //
  37787. // * principal - The ARN of the principal.
  37788. //
  37789. // * principal-type - The principal type (All | Service | OrganizationUnit
  37790. // | Account | User | Role).
  37791. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37792. // The maximum number of results to return for the request in a single page.
  37793. // The remaining results of the initial request can be seen by sending another
  37794. // request with the returned NextToken value. This value can be between 5 and
  37795. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  37796. // are returned.
  37797. MaxResults *int64 `type:"integer"`
  37798. // The token to retrieve the next page of results.
  37799. NextToken *string `type:"string"`
  37800. // The ID of the service.
  37801. //
  37802. // ServiceId is a required field
  37803. ServiceId *string `type:"string" required:"true"`
  37804. }
  37805. // String returns the string representation
  37806. func (s DescribeVpcEndpointServicePermissionsInput) String() string {
  37807. return awsutil.Prettify(s)
  37808. }
  37809. // GoString returns the string representation
  37810. func (s DescribeVpcEndpointServicePermissionsInput) GoString() string {
  37811. return s.String()
  37812. }
  37813. // Validate inspects the fields of the type to determine if they are valid.
  37814. func (s *DescribeVpcEndpointServicePermissionsInput) Validate() error {
  37815. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcEndpointServicePermissionsInput"}
  37816. if s.ServiceId == nil {
  37817. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  37818. }
  37819. if invalidParams.Len() > 0 {
  37820. return invalidParams
  37821. }
  37822. return nil
  37823. }
  37824. // SetDryRun sets the DryRun field's value.
  37825. func (s *DescribeVpcEndpointServicePermissionsInput) SetDryRun(v bool) *DescribeVpcEndpointServicePermissionsInput {
  37826. s.DryRun = &v
  37827. return s
  37828. }
  37829. // SetFilters sets the Filters field's value.
  37830. func (s *DescribeVpcEndpointServicePermissionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicePermissionsInput {
  37831. s.Filters = v
  37832. return s
  37833. }
  37834. // SetMaxResults sets the MaxResults field's value.
  37835. func (s *DescribeVpcEndpointServicePermissionsInput) SetMaxResults(v int64) *DescribeVpcEndpointServicePermissionsInput {
  37836. s.MaxResults = &v
  37837. return s
  37838. }
  37839. // SetNextToken sets the NextToken field's value.
  37840. func (s *DescribeVpcEndpointServicePermissionsInput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsInput {
  37841. s.NextToken = &v
  37842. return s
  37843. }
  37844. // SetServiceId sets the ServiceId field's value.
  37845. func (s *DescribeVpcEndpointServicePermissionsInput) SetServiceId(v string) *DescribeVpcEndpointServicePermissionsInput {
  37846. s.ServiceId = &v
  37847. return s
  37848. }
  37849. type DescribeVpcEndpointServicePermissionsOutput struct {
  37850. _ struct{} `type:"structure"`
  37851. // Information about one or more allowed principals.
  37852. AllowedPrincipals []*AllowedPrincipal `locationName:"allowedPrincipals" locationNameList:"item" type:"list"`
  37853. // The token to use to retrieve the next page of results. This value is null
  37854. // when there are no more results to return.
  37855. NextToken *string `locationName:"nextToken" type:"string"`
  37856. }
  37857. // String returns the string representation
  37858. func (s DescribeVpcEndpointServicePermissionsOutput) String() string {
  37859. return awsutil.Prettify(s)
  37860. }
  37861. // GoString returns the string representation
  37862. func (s DescribeVpcEndpointServicePermissionsOutput) GoString() string {
  37863. return s.String()
  37864. }
  37865. // SetAllowedPrincipals sets the AllowedPrincipals field's value.
  37866. func (s *DescribeVpcEndpointServicePermissionsOutput) SetAllowedPrincipals(v []*AllowedPrincipal) *DescribeVpcEndpointServicePermissionsOutput {
  37867. s.AllowedPrincipals = v
  37868. return s
  37869. }
  37870. // SetNextToken sets the NextToken field's value.
  37871. func (s *DescribeVpcEndpointServicePermissionsOutput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsOutput {
  37872. s.NextToken = &v
  37873. return s
  37874. }
  37875. // Contains the parameters for DescribeVpcEndpointServices.
  37876. type DescribeVpcEndpointServicesInput struct {
  37877. _ struct{} `type:"structure"`
  37878. // Checks whether you have the required permissions for the action, without
  37879. // actually making the request, and provides an error response. If you have
  37880. // the required permissions, the error response is DryRunOperation. Otherwise,
  37881. // it is UnauthorizedOperation.
  37882. DryRun *bool `type:"boolean"`
  37883. // One or more filters.
  37884. //
  37885. // * service-name: The name of the service.
  37886. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37887. // The maximum number of items to return for this request. The request returns
  37888. // a token that you can specify in a subsequent call to get the next set of
  37889. // results.
  37890. //
  37891. // Constraint: If the value is greater than 1000, we return only 1000 items.
  37892. MaxResults *int64 `type:"integer"`
  37893. // The token for the next set of items to return. (You received this token from
  37894. // a prior call.)
  37895. NextToken *string `type:"string"`
  37896. // One or more service names.
  37897. ServiceNames []*string `locationName:"ServiceName" locationNameList:"item" type:"list"`
  37898. }
  37899. // String returns the string representation
  37900. func (s DescribeVpcEndpointServicesInput) String() string {
  37901. return awsutil.Prettify(s)
  37902. }
  37903. // GoString returns the string representation
  37904. func (s DescribeVpcEndpointServicesInput) GoString() string {
  37905. return s.String()
  37906. }
  37907. // SetDryRun sets the DryRun field's value.
  37908. func (s *DescribeVpcEndpointServicesInput) SetDryRun(v bool) *DescribeVpcEndpointServicesInput {
  37909. s.DryRun = &v
  37910. return s
  37911. }
  37912. // SetFilters sets the Filters field's value.
  37913. func (s *DescribeVpcEndpointServicesInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicesInput {
  37914. s.Filters = v
  37915. return s
  37916. }
  37917. // SetMaxResults sets the MaxResults field's value.
  37918. func (s *DescribeVpcEndpointServicesInput) SetMaxResults(v int64) *DescribeVpcEndpointServicesInput {
  37919. s.MaxResults = &v
  37920. return s
  37921. }
  37922. // SetNextToken sets the NextToken field's value.
  37923. func (s *DescribeVpcEndpointServicesInput) SetNextToken(v string) *DescribeVpcEndpointServicesInput {
  37924. s.NextToken = &v
  37925. return s
  37926. }
  37927. // SetServiceNames sets the ServiceNames field's value.
  37928. func (s *DescribeVpcEndpointServicesInput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesInput {
  37929. s.ServiceNames = v
  37930. return s
  37931. }
  37932. // Contains the output of DescribeVpcEndpointServices.
  37933. type DescribeVpcEndpointServicesOutput struct {
  37934. _ struct{} `type:"structure"`
  37935. // The token to use when requesting the next set of items. If there are no additional
  37936. // items to return, the string is empty.
  37937. NextToken *string `locationName:"nextToken" type:"string"`
  37938. // Information about the service.
  37939. ServiceDetails []*ServiceDetail `locationName:"serviceDetailSet" locationNameList:"item" type:"list"`
  37940. // A list of supported services.
  37941. ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
  37942. }
  37943. // String returns the string representation
  37944. func (s DescribeVpcEndpointServicesOutput) String() string {
  37945. return awsutil.Prettify(s)
  37946. }
  37947. // GoString returns the string representation
  37948. func (s DescribeVpcEndpointServicesOutput) GoString() string {
  37949. return s.String()
  37950. }
  37951. // SetNextToken sets the NextToken field's value.
  37952. func (s *DescribeVpcEndpointServicesOutput) SetNextToken(v string) *DescribeVpcEndpointServicesOutput {
  37953. s.NextToken = &v
  37954. return s
  37955. }
  37956. // SetServiceDetails sets the ServiceDetails field's value.
  37957. func (s *DescribeVpcEndpointServicesOutput) SetServiceDetails(v []*ServiceDetail) *DescribeVpcEndpointServicesOutput {
  37958. s.ServiceDetails = v
  37959. return s
  37960. }
  37961. // SetServiceNames sets the ServiceNames field's value.
  37962. func (s *DescribeVpcEndpointServicesOutput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesOutput {
  37963. s.ServiceNames = v
  37964. return s
  37965. }
  37966. // Contains the parameters for DescribeVpcEndpoints.
  37967. type DescribeVpcEndpointsInput struct {
  37968. _ struct{} `type:"structure"`
  37969. // Checks whether you have the required permissions for the action, without
  37970. // actually making the request, and provides an error response. If you have
  37971. // the required permissions, the error response is DryRunOperation. Otherwise,
  37972. // it is UnauthorizedOperation.
  37973. DryRun *bool `type:"boolean"`
  37974. // One or more filters.
  37975. //
  37976. // * service-name: The name of the service.
  37977. //
  37978. // * vpc-id: The ID of the VPC in which the endpoint resides.
  37979. //
  37980. // * vpc-endpoint-id: The ID of the endpoint.
  37981. //
  37982. // * vpc-endpoint-state: The state of the endpoint. (pending | available
  37983. // | deleting | deleted)
  37984. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37985. // The maximum number of items to return for this request. The request returns
  37986. // a token that you can specify in a subsequent call to get the next set of
  37987. // results.
  37988. //
  37989. // Constraint: If the value is greater than 1000, we return only 1000 items.
  37990. MaxResults *int64 `type:"integer"`
  37991. // The token for the next set of items to return. (You received this token from
  37992. // a prior call.)
  37993. NextToken *string `type:"string"`
  37994. // One or more endpoint IDs.
  37995. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
  37996. }
  37997. // String returns the string representation
  37998. func (s DescribeVpcEndpointsInput) String() string {
  37999. return awsutil.Prettify(s)
  38000. }
  38001. // GoString returns the string representation
  38002. func (s DescribeVpcEndpointsInput) GoString() string {
  38003. return s.String()
  38004. }
  38005. // SetDryRun sets the DryRun field's value.
  38006. func (s *DescribeVpcEndpointsInput) SetDryRun(v bool) *DescribeVpcEndpointsInput {
  38007. s.DryRun = &v
  38008. return s
  38009. }
  38010. // SetFilters sets the Filters field's value.
  38011. func (s *DescribeVpcEndpointsInput) SetFilters(v []*Filter) *DescribeVpcEndpointsInput {
  38012. s.Filters = v
  38013. return s
  38014. }
  38015. // SetMaxResults sets the MaxResults field's value.
  38016. func (s *DescribeVpcEndpointsInput) SetMaxResults(v int64) *DescribeVpcEndpointsInput {
  38017. s.MaxResults = &v
  38018. return s
  38019. }
  38020. // SetNextToken sets the NextToken field's value.
  38021. func (s *DescribeVpcEndpointsInput) SetNextToken(v string) *DescribeVpcEndpointsInput {
  38022. s.NextToken = &v
  38023. return s
  38024. }
  38025. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  38026. func (s *DescribeVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DescribeVpcEndpointsInput {
  38027. s.VpcEndpointIds = v
  38028. return s
  38029. }
  38030. // Contains the output of DescribeVpcEndpoints.
  38031. type DescribeVpcEndpointsOutput struct {
  38032. _ struct{} `type:"structure"`
  38033. // The token to use when requesting the next set of items. If there are no additional
  38034. // items to return, the string is empty.
  38035. NextToken *string `locationName:"nextToken" type:"string"`
  38036. // Information about the endpoints.
  38037. VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
  38038. }
  38039. // String returns the string representation
  38040. func (s DescribeVpcEndpointsOutput) String() string {
  38041. return awsutil.Prettify(s)
  38042. }
  38043. // GoString returns the string representation
  38044. func (s DescribeVpcEndpointsOutput) GoString() string {
  38045. return s.String()
  38046. }
  38047. // SetNextToken sets the NextToken field's value.
  38048. func (s *DescribeVpcEndpointsOutput) SetNextToken(v string) *DescribeVpcEndpointsOutput {
  38049. s.NextToken = &v
  38050. return s
  38051. }
  38052. // SetVpcEndpoints sets the VpcEndpoints field's value.
  38053. func (s *DescribeVpcEndpointsOutput) SetVpcEndpoints(v []*VpcEndpoint) *DescribeVpcEndpointsOutput {
  38054. s.VpcEndpoints = v
  38055. return s
  38056. }
  38057. // Contains the parameters for DescribeVpcPeeringConnections.
  38058. type DescribeVpcPeeringConnectionsInput struct {
  38059. _ struct{} `type:"structure"`
  38060. // Checks whether you have the required permissions for the action, without
  38061. // actually making the request, and provides an error response. If you have
  38062. // the required permissions, the error response is DryRunOperation. Otherwise,
  38063. // it is UnauthorizedOperation.
  38064. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38065. // One or more filters.
  38066. //
  38067. // * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter VPC.
  38068. //
  38069. // * accepter-vpc-info.owner-id - The AWS account ID of the owner of the
  38070. // accepter VPC.
  38071. //
  38072. // * accepter-vpc-info.vpc-id - The ID of the accepter VPC.
  38073. //
  38074. // * expiration-time - The expiration date and time for the VPC peering connection.
  38075. //
  38076. // * requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's
  38077. // VPC.
  38078. //
  38079. // * requester-vpc-info.owner-id - The AWS account ID of the owner of the
  38080. // requester VPC.
  38081. //
  38082. // * requester-vpc-info.vpc-id - The ID of the requester VPC.
  38083. //
  38084. // * status-code - The status of the VPC peering connection (pending-acceptance
  38085. // | failed | expired | provisioning | active | deleting | deleted | rejected).
  38086. //
  38087. // * status-message - A message that provides more information about the
  38088. // status of the VPC peering connection, if applicable.
  38089. //
  38090. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  38091. // Specify the key of the tag in the filter name and the value of the tag
  38092. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  38093. // for the filter name and X for the filter value.
  38094. //
  38095. // * tag-key - The key of a tag assigned to the resource. This filter is
  38096. // independent of the tag-value filter. For example, if you use both the
  38097. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  38098. // assigned both the tag key Purpose (regardless of what the tag's value
  38099. // is), and the tag value X (regardless of what the tag's key is). If you
  38100. // want to list only resources where Purpose is X, see the tag:key=value
  38101. // filter.
  38102. //
  38103. // * tag-value - The value of a tag assigned to the resource. This filter
  38104. // is independent of the tag-key filter.
  38105. //
  38106. // * vpc-peering-connection-id - The ID of the VPC peering connection.
  38107. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  38108. // One or more VPC peering connection IDs.
  38109. //
  38110. // Default: Describes all your VPC peering connections.
  38111. VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
  38112. }
  38113. // String returns the string representation
  38114. func (s DescribeVpcPeeringConnectionsInput) String() string {
  38115. return awsutil.Prettify(s)
  38116. }
  38117. // GoString returns the string representation
  38118. func (s DescribeVpcPeeringConnectionsInput) GoString() string {
  38119. return s.String()
  38120. }
  38121. // SetDryRun sets the DryRun field's value.
  38122. func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput {
  38123. s.DryRun = &v
  38124. return s
  38125. }
  38126. // SetFilters sets the Filters field's value.
  38127. func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVpcPeeringConnectionsInput {
  38128. s.Filters = v
  38129. return s
  38130. }
  38131. // SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value.
  38132. func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput {
  38133. s.VpcPeeringConnectionIds = v
  38134. return s
  38135. }
  38136. // Contains the output of DescribeVpcPeeringConnections.
  38137. type DescribeVpcPeeringConnectionsOutput struct {
  38138. _ struct{} `type:"structure"`
  38139. // Information about the VPC peering connections.
  38140. VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
  38141. }
  38142. // String returns the string representation
  38143. func (s DescribeVpcPeeringConnectionsOutput) String() string {
  38144. return awsutil.Prettify(s)
  38145. }
  38146. // GoString returns the string representation
  38147. func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
  38148. return s.String()
  38149. }
  38150. // SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
  38151. func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
  38152. s.VpcPeeringConnections = v
  38153. return s
  38154. }
  38155. // Contains the parameters for DescribeVpcs.
  38156. type DescribeVpcsInput struct {
  38157. _ struct{} `type:"structure"`
  38158. // Checks whether you have the required permissions for the action, without
  38159. // actually making the request, and provides an error response. If you have
  38160. // the required permissions, the error response is DryRunOperation. Otherwise,
  38161. // it is UnauthorizedOperation.
  38162. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38163. // One or more filters.
  38164. //
  38165. // * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify
  38166. // must exactly match the VPC's CIDR block for information to be returned
  38167. // for the VPC. Must contain the slash followed by one or two digits (for
  38168. // example, /28).
  38169. //
  38170. // * cidr-block-association.cidr-block - An IPv4 CIDR block associated with
  38171. // the VPC.
  38172. //
  38173. // * cidr-block-association.association-id - The association ID for an IPv4
  38174. // CIDR block associated with the VPC.
  38175. //
  38176. // * cidr-block-association.state - The state of an IPv4 CIDR block associated
  38177. // with the VPC.
  38178. //
  38179. // * dhcp-options-id - The ID of a set of DHCP options.
  38180. //
  38181. // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
  38182. // with the VPC.
  38183. //
  38184. // * ipv6-cidr-block-association.association-id - The association ID for
  38185. // an IPv6 CIDR block associated with the VPC.
  38186. //
  38187. // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
  38188. // associated with the VPC.
  38189. //
  38190. // * isDefault - Indicates whether the VPC is the default VPC.
  38191. //
  38192. // * state - The state of the VPC (pending | available).
  38193. //
  38194. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  38195. // Specify the key of the tag in the filter name and the value of the tag
  38196. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  38197. // for the filter name and X for the filter value.
  38198. //
  38199. // * tag-key - The key of a tag assigned to the resource. This filter is
  38200. // independent of the tag-value filter. For example, if you use both the
  38201. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  38202. // assigned both the tag key Purpose (regardless of what the tag's value
  38203. // is), and the tag value X (regardless of what the tag's key is). If you
  38204. // want to list only resources where Purpose is X, see the tag:key=value
  38205. // filter.
  38206. //
  38207. // * tag-value - The value of a tag assigned to the resource. This filter
  38208. // is independent of the tag-key filter.
  38209. //
  38210. // * vpc-id - The ID of the VPC.
  38211. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  38212. // One or more VPC IDs.
  38213. //
  38214. // Default: Describes all your VPCs.
  38215. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  38216. }
  38217. // String returns the string representation
  38218. func (s DescribeVpcsInput) String() string {
  38219. return awsutil.Prettify(s)
  38220. }
  38221. // GoString returns the string representation
  38222. func (s DescribeVpcsInput) GoString() string {
  38223. return s.String()
  38224. }
  38225. // SetDryRun sets the DryRun field's value.
  38226. func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput {
  38227. s.DryRun = &v
  38228. return s
  38229. }
  38230. // SetFilters sets the Filters field's value.
  38231. func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput {
  38232. s.Filters = v
  38233. return s
  38234. }
  38235. // SetVpcIds sets the VpcIds field's value.
  38236. func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput {
  38237. s.VpcIds = v
  38238. return s
  38239. }
  38240. // Contains the output of DescribeVpcs.
  38241. type DescribeVpcsOutput struct {
  38242. _ struct{} `type:"structure"`
  38243. // Information about one or more VPCs.
  38244. Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
  38245. }
  38246. // String returns the string representation
  38247. func (s DescribeVpcsOutput) String() string {
  38248. return awsutil.Prettify(s)
  38249. }
  38250. // GoString returns the string representation
  38251. func (s DescribeVpcsOutput) GoString() string {
  38252. return s.String()
  38253. }
  38254. // SetVpcs sets the Vpcs field's value.
  38255. func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput {
  38256. s.Vpcs = v
  38257. return s
  38258. }
  38259. // Contains the parameters for DescribeVpnConnections.
  38260. type DescribeVpnConnectionsInput struct {
  38261. _ struct{} `type:"structure"`
  38262. // Checks whether you have the required permissions for the action, without
  38263. // actually making the request, and provides an error response. If you have
  38264. // the required permissions, the error response is DryRunOperation. Otherwise,
  38265. // it is UnauthorizedOperation.
  38266. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38267. // One or more filters.
  38268. //
  38269. // * customer-gateway-configuration - The configuration information for the
  38270. // customer gateway.
  38271. //
  38272. // * customer-gateway-id - The ID of a customer gateway associated with the
  38273. // VPN connection.
  38274. //
  38275. // * state - The state of the VPN connection (pending | available | deleting
  38276. // | deleted).
  38277. //
  38278. // * option.static-routes-only - Indicates whether the connection has static
  38279. // routes only. Used for devices that do not support Border Gateway Protocol
  38280. // (BGP).
  38281. //
  38282. // * route.destination-cidr-block - The destination CIDR block. This corresponds
  38283. // to the subnet used in a customer data center.
  38284. //
  38285. // * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
  38286. // device.
  38287. //
  38288. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  38289. // Specify the key of the tag in the filter name and the value of the tag
  38290. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  38291. // for the filter name and X for the filter value.
  38292. //
  38293. // * tag-key - The key of a tag assigned to the resource. This filter is
  38294. // independent of the tag-value filter. For example, if you use both the
  38295. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  38296. // assigned both the tag key Purpose (regardless of what the tag's value
  38297. // is), and the tag value X (regardless of what the tag's key is). If you
  38298. // want to list only resources where Purpose is X, see the tag:key=value
  38299. // filter.
  38300. //
  38301. // * tag-value - The value of a tag assigned to the resource. This filter
  38302. // is independent of the tag-key filter.
  38303. //
  38304. // * type - The type of VPN connection. Currently the only supported type
  38305. // is ipsec.1.
  38306. //
  38307. // * vpn-connection-id - The ID of the VPN connection.
  38308. //
  38309. // * vpn-gateway-id - The ID of a virtual private gateway associated with
  38310. // the VPN connection.
  38311. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  38312. // One or more VPN connection IDs.
  38313. //
  38314. // Default: Describes your VPN connections.
  38315. VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
  38316. }
  38317. // String returns the string representation
  38318. func (s DescribeVpnConnectionsInput) String() string {
  38319. return awsutil.Prettify(s)
  38320. }
  38321. // GoString returns the string representation
  38322. func (s DescribeVpnConnectionsInput) GoString() string {
  38323. return s.String()
  38324. }
  38325. // SetDryRun sets the DryRun field's value.
  38326. func (s *DescribeVpnConnectionsInput) SetDryRun(v bool) *DescribeVpnConnectionsInput {
  38327. s.DryRun = &v
  38328. return s
  38329. }
  38330. // SetFilters sets the Filters field's value.
  38331. func (s *DescribeVpnConnectionsInput) SetFilters(v []*Filter) *DescribeVpnConnectionsInput {
  38332. s.Filters = v
  38333. return s
  38334. }
  38335. // SetVpnConnectionIds sets the VpnConnectionIds field's value.
  38336. func (s *DescribeVpnConnectionsInput) SetVpnConnectionIds(v []*string) *DescribeVpnConnectionsInput {
  38337. s.VpnConnectionIds = v
  38338. return s
  38339. }
  38340. // Contains the output of DescribeVpnConnections.
  38341. type DescribeVpnConnectionsOutput struct {
  38342. _ struct{} `type:"structure"`
  38343. // Information about one or more VPN connections.
  38344. VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
  38345. }
  38346. // String returns the string representation
  38347. func (s DescribeVpnConnectionsOutput) String() string {
  38348. return awsutil.Prettify(s)
  38349. }
  38350. // GoString returns the string representation
  38351. func (s DescribeVpnConnectionsOutput) GoString() string {
  38352. return s.String()
  38353. }
  38354. // SetVpnConnections sets the VpnConnections field's value.
  38355. func (s *DescribeVpnConnectionsOutput) SetVpnConnections(v []*VpnConnection) *DescribeVpnConnectionsOutput {
  38356. s.VpnConnections = v
  38357. return s
  38358. }
  38359. // Contains the parameters for DescribeVpnGateways.
  38360. type DescribeVpnGatewaysInput struct {
  38361. _ struct{} `type:"structure"`
  38362. // Checks whether you have the required permissions for the action, without
  38363. // actually making the request, and provides an error response. If you have
  38364. // the required permissions, the error response is DryRunOperation. Otherwise,
  38365. // it is UnauthorizedOperation.
  38366. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38367. // One or more filters.
  38368. //
  38369. // * amazon-side-asn - The Autonomous System Number (ASN) for the Amazon
  38370. // side of the gateway.
  38371. //
  38372. // * attachment.state - The current state of the attachment between the gateway
  38373. // and the VPC (attaching | attached | detaching | detached).
  38374. //
  38375. // * attachment.vpc-id - The ID of an attached VPC.
  38376. //
  38377. // * availability-zone - The Availability Zone for the virtual private gateway
  38378. // (if applicable).
  38379. //
  38380. // * state - The state of the virtual private gateway (pending | available
  38381. // | deleting | deleted).
  38382. //
  38383. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  38384. // Specify the key of the tag in the filter name and the value of the tag
  38385. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  38386. // for the filter name and X for the filter value.
  38387. //
  38388. // * tag-key - The key of a tag assigned to the resource. This filter is
  38389. // independent of the tag-value filter. For example, if you use both the
  38390. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  38391. // assigned both the tag key Purpose (regardless of what the tag's value
  38392. // is), and the tag value X (regardless of what the tag's key is). If you
  38393. // want to list only resources where Purpose is X, see the tag:key=value
  38394. // filter.
  38395. //
  38396. // * tag-value - The value of a tag assigned to the resource. This filter
  38397. // is independent of the tag-key filter.
  38398. //
  38399. // * type - The type of virtual private gateway. Currently the only supported
  38400. // type is ipsec.1.
  38401. //
  38402. // * vpn-gateway-id - The ID of the virtual private gateway.
  38403. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  38404. // One or more virtual private gateway IDs.
  38405. //
  38406. // Default: Describes all your virtual private gateways.
  38407. VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
  38408. }
  38409. // String returns the string representation
  38410. func (s DescribeVpnGatewaysInput) String() string {
  38411. return awsutil.Prettify(s)
  38412. }
  38413. // GoString returns the string representation
  38414. func (s DescribeVpnGatewaysInput) GoString() string {
  38415. return s.String()
  38416. }
  38417. // SetDryRun sets the DryRun field's value.
  38418. func (s *DescribeVpnGatewaysInput) SetDryRun(v bool) *DescribeVpnGatewaysInput {
  38419. s.DryRun = &v
  38420. return s
  38421. }
  38422. // SetFilters sets the Filters field's value.
  38423. func (s *DescribeVpnGatewaysInput) SetFilters(v []*Filter) *DescribeVpnGatewaysInput {
  38424. s.Filters = v
  38425. return s
  38426. }
  38427. // SetVpnGatewayIds sets the VpnGatewayIds field's value.
  38428. func (s *DescribeVpnGatewaysInput) SetVpnGatewayIds(v []*string) *DescribeVpnGatewaysInput {
  38429. s.VpnGatewayIds = v
  38430. return s
  38431. }
  38432. // Contains the output of DescribeVpnGateways.
  38433. type DescribeVpnGatewaysOutput struct {
  38434. _ struct{} `type:"structure"`
  38435. // Information about one or more virtual private gateways.
  38436. VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
  38437. }
  38438. // String returns the string representation
  38439. func (s DescribeVpnGatewaysOutput) String() string {
  38440. return awsutil.Prettify(s)
  38441. }
  38442. // GoString returns the string representation
  38443. func (s DescribeVpnGatewaysOutput) GoString() string {
  38444. return s.String()
  38445. }
  38446. // SetVpnGateways sets the VpnGateways field's value.
  38447. func (s *DescribeVpnGatewaysOutput) SetVpnGateways(v []*VpnGateway) *DescribeVpnGatewaysOutput {
  38448. s.VpnGateways = v
  38449. return s
  38450. }
  38451. // Contains the parameters for DetachClassicLinkVpc.
  38452. type DetachClassicLinkVpcInput struct {
  38453. _ struct{} `type:"structure"`
  38454. // Checks whether you have the required permissions for the action, without
  38455. // actually making the request, and provides an error response. If you have
  38456. // the required permissions, the error response is DryRunOperation. Otherwise,
  38457. // it is UnauthorizedOperation.
  38458. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38459. // The ID of the instance to unlink from the VPC.
  38460. //
  38461. // InstanceId is a required field
  38462. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  38463. // The ID of the VPC to which the instance is linked.
  38464. //
  38465. // VpcId is a required field
  38466. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  38467. }
  38468. // String returns the string representation
  38469. func (s DetachClassicLinkVpcInput) String() string {
  38470. return awsutil.Prettify(s)
  38471. }
  38472. // GoString returns the string representation
  38473. func (s DetachClassicLinkVpcInput) GoString() string {
  38474. return s.String()
  38475. }
  38476. // Validate inspects the fields of the type to determine if they are valid.
  38477. func (s *DetachClassicLinkVpcInput) Validate() error {
  38478. invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
  38479. if s.InstanceId == nil {
  38480. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  38481. }
  38482. if s.VpcId == nil {
  38483. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  38484. }
  38485. if invalidParams.Len() > 0 {
  38486. return invalidParams
  38487. }
  38488. return nil
  38489. }
  38490. // SetDryRun sets the DryRun field's value.
  38491. func (s *DetachClassicLinkVpcInput) SetDryRun(v bool) *DetachClassicLinkVpcInput {
  38492. s.DryRun = &v
  38493. return s
  38494. }
  38495. // SetInstanceId sets the InstanceId field's value.
  38496. func (s *DetachClassicLinkVpcInput) SetInstanceId(v string) *DetachClassicLinkVpcInput {
  38497. s.InstanceId = &v
  38498. return s
  38499. }
  38500. // SetVpcId sets the VpcId field's value.
  38501. func (s *DetachClassicLinkVpcInput) SetVpcId(v string) *DetachClassicLinkVpcInput {
  38502. s.VpcId = &v
  38503. return s
  38504. }
  38505. // Contains the output of DetachClassicLinkVpc.
  38506. type DetachClassicLinkVpcOutput struct {
  38507. _ struct{} `type:"structure"`
  38508. // Returns true if the request succeeds; otherwise, it returns an error.
  38509. Return *bool `locationName:"return" type:"boolean"`
  38510. }
  38511. // String returns the string representation
  38512. func (s DetachClassicLinkVpcOutput) String() string {
  38513. return awsutil.Prettify(s)
  38514. }
  38515. // GoString returns the string representation
  38516. func (s DetachClassicLinkVpcOutput) GoString() string {
  38517. return s.String()
  38518. }
  38519. // SetReturn sets the Return field's value.
  38520. func (s *DetachClassicLinkVpcOutput) SetReturn(v bool) *DetachClassicLinkVpcOutput {
  38521. s.Return = &v
  38522. return s
  38523. }
  38524. // Contains the parameters for DetachInternetGateway.
  38525. type DetachInternetGatewayInput struct {
  38526. _ struct{} `type:"structure"`
  38527. // Checks whether you have the required permissions for the action, without
  38528. // actually making the request, and provides an error response. If you have
  38529. // the required permissions, the error response is DryRunOperation. Otherwise,
  38530. // it is UnauthorizedOperation.
  38531. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38532. // The ID of the Internet gateway.
  38533. //
  38534. // InternetGatewayId is a required field
  38535. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  38536. // The ID of the VPC.
  38537. //
  38538. // VpcId is a required field
  38539. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  38540. }
  38541. // String returns the string representation
  38542. func (s DetachInternetGatewayInput) String() string {
  38543. return awsutil.Prettify(s)
  38544. }
  38545. // GoString returns the string representation
  38546. func (s DetachInternetGatewayInput) GoString() string {
  38547. return s.String()
  38548. }
  38549. // Validate inspects the fields of the type to determine if they are valid.
  38550. func (s *DetachInternetGatewayInput) Validate() error {
  38551. invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
  38552. if s.InternetGatewayId == nil {
  38553. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  38554. }
  38555. if s.VpcId == nil {
  38556. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  38557. }
  38558. if invalidParams.Len() > 0 {
  38559. return invalidParams
  38560. }
  38561. return nil
  38562. }
  38563. // SetDryRun sets the DryRun field's value.
  38564. func (s *DetachInternetGatewayInput) SetDryRun(v bool) *DetachInternetGatewayInput {
  38565. s.DryRun = &v
  38566. return s
  38567. }
  38568. // SetInternetGatewayId sets the InternetGatewayId field's value.
  38569. func (s *DetachInternetGatewayInput) SetInternetGatewayId(v string) *DetachInternetGatewayInput {
  38570. s.InternetGatewayId = &v
  38571. return s
  38572. }
  38573. // SetVpcId sets the VpcId field's value.
  38574. func (s *DetachInternetGatewayInput) SetVpcId(v string) *DetachInternetGatewayInput {
  38575. s.VpcId = &v
  38576. return s
  38577. }
  38578. type DetachInternetGatewayOutput struct {
  38579. _ struct{} `type:"structure"`
  38580. }
  38581. // String returns the string representation
  38582. func (s DetachInternetGatewayOutput) String() string {
  38583. return awsutil.Prettify(s)
  38584. }
  38585. // GoString returns the string representation
  38586. func (s DetachInternetGatewayOutput) GoString() string {
  38587. return s.String()
  38588. }
  38589. // Contains the parameters for DetachNetworkInterface.
  38590. type DetachNetworkInterfaceInput struct {
  38591. _ struct{} `type:"structure"`
  38592. // The ID of the attachment.
  38593. //
  38594. // AttachmentId is a required field
  38595. AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
  38596. // Checks whether you have the required permissions for the action, without
  38597. // actually making the request, and provides an error response. If you have
  38598. // the required permissions, the error response is DryRunOperation. Otherwise,
  38599. // it is UnauthorizedOperation.
  38600. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38601. // Specifies whether to force a detachment.
  38602. Force *bool `locationName:"force" type:"boolean"`
  38603. }
  38604. // String returns the string representation
  38605. func (s DetachNetworkInterfaceInput) String() string {
  38606. return awsutil.Prettify(s)
  38607. }
  38608. // GoString returns the string representation
  38609. func (s DetachNetworkInterfaceInput) GoString() string {
  38610. return s.String()
  38611. }
  38612. // Validate inspects the fields of the type to determine if they are valid.
  38613. func (s *DetachNetworkInterfaceInput) Validate() error {
  38614. invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
  38615. if s.AttachmentId == nil {
  38616. invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
  38617. }
  38618. if invalidParams.Len() > 0 {
  38619. return invalidParams
  38620. }
  38621. return nil
  38622. }
  38623. // SetAttachmentId sets the AttachmentId field's value.
  38624. func (s *DetachNetworkInterfaceInput) SetAttachmentId(v string) *DetachNetworkInterfaceInput {
  38625. s.AttachmentId = &v
  38626. return s
  38627. }
  38628. // SetDryRun sets the DryRun field's value.
  38629. func (s *DetachNetworkInterfaceInput) SetDryRun(v bool) *DetachNetworkInterfaceInput {
  38630. s.DryRun = &v
  38631. return s
  38632. }
  38633. // SetForce sets the Force field's value.
  38634. func (s *DetachNetworkInterfaceInput) SetForce(v bool) *DetachNetworkInterfaceInput {
  38635. s.Force = &v
  38636. return s
  38637. }
  38638. type DetachNetworkInterfaceOutput struct {
  38639. _ struct{} `type:"structure"`
  38640. }
  38641. // String returns the string representation
  38642. func (s DetachNetworkInterfaceOutput) String() string {
  38643. return awsutil.Prettify(s)
  38644. }
  38645. // GoString returns the string representation
  38646. func (s DetachNetworkInterfaceOutput) GoString() string {
  38647. return s.String()
  38648. }
  38649. // Contains the parameters for DetachVolume.
  38650. type DetachVolumeInput struct {
  38651. _ struct{} `type:"structure"`
  38652. // The device name.
  38653. Device *string `type:"string"`
  38654. // Checks whether you have the required permissions for the action, without
  38655. // actually making the request, and provides an error response. If you have
  38656. // the required permissions, the error response is DryRunOperation. Otherwise,
  38657. // it is UnauthorizedOperation.
  38658. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38659. // Forces detachment if the previous detachment attempt did not occur cleanly
  38660. // (for example, logging into an instance, unmounting the volume, and detaching
  38661. // normally). This option can lead to data loss or a corrupted file system.
  38662. // Use this option only as a last resort to detach a volume from a failed instance.
  38663. // The instance won't have an opportunity to flush file system caches or file
  38664. // system metadata. If you use this option, you must perform file system check
  38665. // and repair procedures.
  38666. Force *bool `type:"boolean"`
  38667. // The ID of the instance.
  38668. InstanceId *string `type:"string"`
  38669. // The ID of the volume.
  38670. //
  38671. // VolumeId is a required field
  38672. VolumeId *string `type:"string" required:"true"`
  38673. }
  38674. // String returns the string representation
  38675. func (s DetachVolumeInput) String() string {
  38676. return awsutil.Prettify(s)
  38677. }
  38678. // GoString returns the string representation
  38679. func (s DetachVolumeInput) GoString() string {
  38680. return s.String()
  38681. }
  38682. // Validate inspects the fields of the type to determine if they are valid.
  38683. func (s *DetachVolumeInput) Validate() error {
  38684. invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
  38685. if s.VolumeId == nil {
  38686. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  38687. }
  38688. if invalidParams.Len() > 0 {
  38689. return invalidParams
  38690. }
  38691. return nil
  38692. }
  38693. // SetDevice sets the Device field's value.
  38694. func (s *DetachVolumeInput) SetDevice(v string) *DetachVolumeInput {
  38695. s.Device = &v
  38696. return s
  38697. }
  38698. // SetDryRun sets the DryRun field's value.
  38699. func (s *DetachVolumeInput) SetDryRun(v bool) *DetachVolumeInput {
  38700. s.DryRun = &v
  38701. return s
  38702. }
  38703. // SetForce sets the Force field's value.
  38704. func (s *DetachVolumeInput) SetForce(v bool) *DetachVolumeInput {
  38705. s.Force = &v
  38706. return s
  38707. }
  38708. // SetInstanceId sets the InstanceId field's value.
  38709. func (s *DetachVolumeInput) SetInstanceId(v string) *DetachVolumeInput {
  38710. s.InstanceId = &v
  38711. return s
  38712. }
  38713. // SetVolumeId sets the VolumeId field's value.
  38714. func (s *DetachVolumeInput) SetVolumeId(v string) *DetachVolumeInput {
  38715. s.VolumeId = &v
  38716. return s
  38717. }
  38718. // Contains the parameters for DetachVpnGateway.
  38719. type DetachVpnGatewayInput struct {
  38720. _ struct{} `type:"structure"`
  38721. // Checks whether you have the required permissions for the action, without
  38722. // actually making the request, and provides an error response. If you have
  38723. // the required permissions, the error response is DryRunOperation. Otherwise,
  38724. // it is UnauthorizedOperation.
  38725. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38726. // The ID of the VPC.
  38727. //
  38728. // VpcId is a required field
  38729. VpcId *string `type:"string" required:"true"`
  38730. // The ID of the virtual private gateway.
  38731. //
  38732. // VpnGatewayId is a required field
  38733. VpnGatewayId *string `type:"string" required:"true"`
  38734. }
  38735. // String returns the string representation
  38736. func (s DetachVpnGatewayInput) String() string {
  38737. return awsutil.Prettify(s)
  38738. }
  38739. // GoString returns the string representation
  38740. func (s DetachVpnGatewayInput) GoString() string {
  38741. return s.String()
  38742. }
  38743. // Validate inspects the fields of the type to determine if they are valid.
  38744. func (s *DetachVpnGatewayInput) Validate() error {
  38745. invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
  38746. if s.VpcId == nil {
  38747. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  38748. }
  38749. if s.VpnGatewayId == nil {
  38750. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  38751. }
  38752. if invalidParams.Len() > 0 {
  38753. return invalidParams
  38754. }
  38755. return nil
  38756. }
  38757. // SetDryRun sets the DryRun field's value.
  38758. func (s *DetachVpnGatewayInput) SetDryRun(v bool) *DetachVpnGatewayInput {
  38759. s.DryRun = &v
  38760. return s
  38761. }
  38762. // SetVpcId sets the VpcId field's value.
  38763. func (s *DetachVpnGatewayInput) SetVpcId(v string) *DetachVpnGatewayInput {
  38764. s.VpcId = &v
  38765. return s
  38766. }
  38767. // SetVpnGatewayId sets the VpnGatewayId field's value.
  38768. func (s *DetachVpnGatewayInput) SetVpnGatewayId(v string) *DetachVpnGatewayInput {
  38769. s.VpnGatewayId = &v
  38770. return s
  38771. }
  38772. type DetachVpnGatewayOutput struct {
  38773. _ struct{} `type:"structure"`
  38774. }
  38775. // String returns the string representation
  38776. func (s DetachVpnGatewayOutput) String() string {
  38777. return awsutil.Prettify(s)
  38778. }
  38779. // GoString returns the string representation
  38780. func (s DetachVpnGatewayOutput) GoString() string {
  38781. return s.String()
  38782. }
  38783. // Describes a DHCP configuration option.
  38784. type DhcpConfiguration struct {
  38785. _ struct{} `type:"structure"`
  38786. // The name of a DHCP option.
  38787. Key *string `locationName:"key" type:"string"`
  38788. // One or more values for the DHCP option.
  38789. Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
  38790. }
  38791. // String returns the string representation
  38792. func (s DhcpConfiguration) String() string {
  38793. return awsutil.Prettify(s)
  38794. }
  38795. // GoString returns the string representation
  38796. func (s DhcpConfiguration) GoString() string {
  38797. return s.String()
  38798. }
  38799. // SetKey sets the Key field's value.
  38800. func (s *DhcpConfiguration) SetKey(v string) *DhcpConfiguration {
  38801. s.Key = &v
  38802. return s
  38803. }
  38804. // SetValues sets the Values field's value.
  38805. func (s *DhcpConfiguration) SetValues(v []*AttributeValue) *DhcpConfiguration {
  38806. s.Values = v
  38807. return s
  38808. }
  38809. // Describes a set of DHCP options.
  38810. type DhcpOptions struct {
  38811. _ struct{} `type:"structure"`
  38812. // One or more DHCP options in the set.
  38813. DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
  38814. // The ID of the set of DHCP options.
  38815. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  38816. // Any tags assigned to the DHCP options set.
  38817. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  38818. }
  38819. // String returns the string representation
  38820. func (s DhcpOptions) String() string {
  38821. return awsutil.Prettify(s)
  38822. }
  38823. // GoString returns the string representation
  38824. func (s DhcpOptions) GoString() string {
  38825. return s.String()
  38826. }
  38827. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  38828. func (s *DhcpOptions) SetDhcpConfigurations(v []*DhcpConfiguration) *DhcpOptions {
  38829. s.DhcpConfigurations = v
  38830. return s
  38831. }
  38832. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  38833. func (s *DhcpOptions) SetDhcpOptionsId(v string) *DhcpOptions {
  38834. s.DhcpOptionsId = &v
  38835. return s
  38836. }
  38837. // SetTags sets the Tags field's value.
  38838. func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions {
  38839. s.Tags = v
  38840. return s
  38841. }
  38842. // Contains the parameters for DisableVgwRoutePropagation.
  38843. type DisableVgwRoutePropagationInput struct {
  38844. _ struct{} `type:"structure"`
  38845. // The ID of the virtual private gateway.
  38846. //
  38847. // GatewayId is a required field
  38848. GatewayId *string `type:"string" required:"true"`
  38849. // The ID of the route table.
  38850. //
  38851. // RouteTableId is a required field
  38852. RouteTableId *string `type:"string" required:"true"`
  38853. }
  38854. // String returns the string representation
  38855. func (s DisableVgwRoutePropagationInput) String() string {
  38856. return awsutil.Prettify(s)
  38857. }
  38858. // GoString returns the string representation
  38859. func (s DisableVgwRoutePropagationInput) GoString() string {
  38860. return s.String()
  38861. }
  38862. // Validate inspects the fields of the type to determine if they are valid.
  38863. func (s *DisableVgwRoutePropagationInput) Validate() error {
  38864. invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
  38865. if s.GatewayId == nil {
  38866. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  38867. }
  38868. if s.RouteTableId == nil {
  38869. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  38870. }
  38871. if invalidParams.Len() > 0 {
  38872. return invalidParams
  38873. }
  38874. return nil
  38875. }
  38876. // SetGatewayId sets the GatewayId field's value.
  38877. func (s *DisableVgwRoutePropagationInput) SetGatewayId(v string) *DisableVgwRoutePropagationInput {
  38878. s.GatewayId = &v
  38879. return s
  38880. }
  38881. // SetRouteTableId sets the RouteTableId field's value.
  38882. func (s *DisableVgwRoutePropagationInput) SetRouteTableId(v string) *DisableVgwRoutePropagationInput {
  38883. s.RouteTableId = &v
  38884. return s
  38885. }
  38886. type DisableVgwRoutePropagationOutput struct {
  38887. _ struct{} `type:"structure"`
  38888. }
  38889. // String returns the string representation
  38890. func (s DisableVgwRoutePropagationOutput) String() string {
  38891. return awsutil.Prettify(s)
  38892. }
  38893. // GoString returns the string representation
  38894. func (s DisableVgwRoutePropagationOutput) GoString() string {
  38895. return s.String()
  38896. }
  38897. // Contains the parameters for DisableVpcClassicLinkDnsSupport.
  38898. type DisableVpcClassicLinkDnsSupportInput struct {
  38899. _ struct{} `type:"structure"`
  38900. // The ID of the VPC.
  38901. VpcId *string `type:"string"`
  38902. }
  38903. // String returns the string representation
  38904. func (s DisableVpcClassicLinkDnsSupportInput) String() string {
  38905. return awsutil.Prettify(s)
  38906. }
  38907. // GoString returns the string representation
  38908. func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
  38909. return s.String()
  38910. }
  38911. // SetVpcId sets the VpcId field's value.
  38912. func (s *DisableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *DisableVpcClassicLinkDnsSupportInput {
  38913. s.VpcId = &v
  38914. return s
  38915. }
  38916. // Contains the output of DisableVpcClassicLinkDnsSupport.
  38917. type DisableVpcClassicLinkDnsSupportOutput struct {
  38918. _ struct{} `type:"structure"`
  38919. // Returns true if the request succeeds; otherwise, it returns an error.
  38920. Return *bool `locationName:"return" type:"boolean"`
  38921. }
  38922. // String returns the string representation
  38923. func (s DisableVpcClassicLinkDnsSupportOutput) String() string {
  38924. return awsutil.Prettify(s)
  38925. }
  38926. // GoString returns the string representation
  38927. func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
  38928. return s.String()
  38929. }
  38930. // SetReturn sets the Return field's value.
  38931. func (s *DisableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *DisableVpcClassicLinkDnsSupportOutput {
  38932. s.Return = &v
  38933. return s
  38934. }
  38935. // Contains the parameters for DisableVpcClassicLink.
  38936. type DisableVpcClassicLinkInput struct {
  38937. _ struct{} `type:"structure"`
  38938. // Checks whether you have the required permissions for the action, without
  38939. // actually making the request, and provides an error response. If you have
  38940. // the required permissions, the error response is DryRunOperation. Otherwise,
  38941. // it is UnauthorizedOperation.
  38942. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38943. // The ID of the VPC.
  38944. //
  38945. // VpcId is a required field
  38946. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  38947. }
  38948. // String returns the string representation
  38949. func (s DisableVpcClassicLinkInput) String() string {
  38950. return awsutil.Prettify(s)
  38951. }
  38952. // GoString returns the string representation
  38953. func (s DisableVpcClassicLinkInput) GoString() string {
  38954. return s.String()
  38955. }
  38956. // Validate inspects the fields of the type to determine if they are valid.
  38957. func (s *DisableVpcClassicLinkInput) Validate() error {
  38958. invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
  38959. if s.VpcId == nil {
  38960. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  38961. }
  38962. if invalidParams.Len() > 0 {
  38963. return invalidParams
  38964. }
  38965. return nil
  38966. }
  38967. // SetDryRun sets the DryRun field's value.
  38968. func (s *DisableVpcClassicLinkInput) SetDryRun(v bool) *DisableVpcClassicLinkInput {
  38969. s.DryRun = &v
  38970. return s
  38971. }
  38972. // SetVpcId sets the VpcId field's value.
  38973. func (s *DisableVpcClassicLinkInput) SetVpcId(v string) *DisableVpcClassicLinkInput {
  38974. s.VpcId = &v
  38975. return s
  38976. }
  38977. // Contains the output of DisableVpcClassicLink.
  38978. type DisableVpcClassicLinkOutput struct {
  38979. _ struct{} `type:"structure"`
  38980. // Returns true if the request succeeds; otherwise, it returns an error.
  38981. Return *bool `locationName:"return" type:"boolean"`
  38982. }
  38983. // String returns the string representation
  38984. func (s DisableVpcClassicLinkOutput) String() string {
  38985. return awsutil.Prettify(s)
  38986. }
  38987. // GoString returns the string representation
  38988. func (s DisableVpcClassicLinkOutput) GoString() string {
  38989. return s.String()
  38990. }
  38991. // SetReturn sets the Return field's value.
  38992. func (s *DisableVpcClassicLinkOutput) SetReturn(v bool) *DisableVpcClassicLinkOutput {
  38993. s.Return = &v
  38994. return s
  38995. }
  38996. // Contains the parameters for DisassociateAddress.
  38997. type DisassociateAddressInput struct {
  38998. _ struct{} `type:"structure"`
  38999. // [EC2-VPC] The association ID. Required for EC2-VPC.
  39000. AssociationId *string `type:"string"`
  39001. // Checks whether you have the required permissions for the action, without
  39002. // actually making the request, and provides an error response. If you have
  39003. // the required permissions, the error response is DryRunOperation. Otherwise,
  39004. // it is UnauthorizedOperation.
  39005. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39006. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  39007. PublicIp *string `type:"string"`
  39008. }
  39009. // String returns the string representation
  39010. func (s DisassociateAddressInput) String() string {
  39011. return awsutil.Prettify(s)
  39012. }
  39013. // GoString returns the string representation
  39014. func (s DisassociateAddressInput) GoString() string {
  39015. return s.String()
  39016. }
  39017. // SetAssociationId sets the AssociationId field's value.
  39018. func (s *DisassociateAddressInput) SetAssociationId(v string) *DisassociateAddressInput {
  39019. s.AssociationId = &v
  39020. return s
  39021. }
  39022. // SetDryRun sets the DryRun field's value.
  39023. func (s *DisassociateAddressInput) SetDryRun(v bool) *DisassociateAddressInput {
  39024. s.DryRun = &v
  39025. return s
  39026. }
  39027. // SetPublicIp sets the PublicIp field's value.
  39028. func (s *DisassociateAddressInput) SetPublicIp(v string) *DisassociateAddressInput {
  39029. s.PublicIp = &v
  39030. return s
  39031. }
  39032. type DisassociateAddressOutput struct {
  39033. _ struct{} `type:"structure"`
  39034. }
  39035. // String returns the string representation
  39036. func (s DisassociateAddressOutput) String() string {
  39037. return awsutil.Prettify(s)
  39038. }
  39039. // GoString returns the string representation
  39040. func (s DisassociateAddressOutput) GoString() string {
  39041. return s.String()
  39042. }
  39043. type DisassociateIamInstanceProfileInput struct {
  39044. _ struct{} `type:"structure"`
  39045. // The ID of the IAM instance profile association.
  39046. //
  39047. // AssociationId is a required field
  39048. AssociationId *string `type:"string" required:"true"`
  39049. }
  39050. // String returns the string representation
  39051. func (s DisassociateIamInstanceProfileInput) String() string {
  39052. return awsutil.Prettify(s)
  39053. }
  39054. // GoString returns the string representation
  39055. func (s DisassociateIamInstanceProfileInput) GoString() string {
  39056. return s.String()
  39057. }
  39058. // Validate inspects the fields of the type to determine if they are valid.
  39059. func (s *DisassociateIamInstanceProfileInput) Validate() error {
  39060. invalidParams := request.ErrInvalidParams{Context: "DisassociateIamInstanceProfileInput"}
  39061. if s.AssociationId == nil {
  39062. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  39063. }
  39064. if invalidParams.Len() > 0 {
  39065. return invalidParams
  39066. }
  39067. return nil
  39068. }
  39069. // SetAssociationId sets the AssociationId field's value.
  39070. func (s *DisassociateIamInstanceProfileInput) SetAssociationId(v string) *DisassociateIamInstanceProfileInput {
  39071. s.AssociationId = &v
  39072. return s
  39073. }
  39074. type DisassociateIamInstanceProfileOutput struct {
  39075. _ struct{} `type:"structure"`
  39076. // Information about the IAM instance profile association.
  39077. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  39078. }
  39079. // String returns the string representation
  39080. func (s DisassociateIamInstanceProfileOutput) String() string {
  39081. return awsutil.Prettify(s)
  39082. }
  39083. // GoString returns the string representation
  39084. func (s DisassociateIamInstanceProfileOutput) GoString() string {
  39085. return s.String()
  39086. }
  39087. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  39088. func (s *DisassociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *DisassociateIamInstanceProfileOutput {
  39089. s.IamInstanceProfileAssociation = v
  39090. return s
  39091. }
  39092. // Contains the parameters for DisassociateRouteTable.
  39093. type DisassociateRouteTableInput struct {
  39094. _ struct{} `type:"structure"`
  39095. // The association ID representing the current association between the route
  39096. // table and subnet.
  39097. //
  39098. // AssociationId is a required field
  39099. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  39100. // Checks whether you have the required permissions for the action, without
  39101. // actually making the request, and provides an error response. If you have
  39102. // the required permissions, the error response is DryRunOperation. Otherwise,
  39103. // it is UnauthorizedOperation.
  39104. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39105. }
  39106. // String returns the string representation
  39107. func (s DisassociateRouteTableInput) String() string {
  39108. return awsutil.Prettify(s)
  39109. }
  39110. // GoString returns the string representation
  39111. func (s DisassociateRouteTableInput) GoString() string {
  39112. return s.String()
  39113. }
  39114. // Validate inspects the fields of the type to determine if they are valid.
  39115. func (s *DisassociateRouteTableInput) Validate() error {
  39116. invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
  39117. if s.AssociationId == nil {
  39118. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  39119. }
  39120. if invalidParams.Len() > 0 {
  39121. return invalidParams
  39122. }
  39123. return nil
  39124. }
  39125. // SetAssociationId sets the AssociationId field's value.
  39126. func (s *DisassociateRouteTableInput) SetAssociationId(v string) *DisassociateRouteTableInput {
  39127. s.AssociationId = &v
  39128. return s
  39129. }
  39130. // SetDryRun sets the DryRun field's value.
  39131. func (s *DisassociateRouteTableInput) SetDryRun(v bool) *DisassociateRouteTableInput {
  39132. s.DryRun = &v
  39133. return s
  39134. }
  39135. type DisassociateRouteTableOutput struct {
  39136. _ struct{} `type:"structure"`
  39137. }
  39138. // String returns the string representation
  39139. func (s DisassociateRouteTableOutput) String() string {
  39140. return awsutil.Prettify(s)
  39141. }
  39142. // GoString returns the string representation
  39143. func (s DisassociateRouteTableOutput) GoString() string {
  39144. return s.String()
  39145. }
  39146. type DisassociateSubnetCidrBlockInput struct {
  39147. _ struct{} `type:"structure"`
  39148. // The association ID for the CIDR block.
  39149. //
  39150. // AssociationId is a required field
  39151. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  39152. }
  39153. // String returns the string representation
  39154. func (s DisassociateSubnetCidrBlockInput) String() string {
  39155. return awsutil.Prettify(s)
  39156. }
  39157. // GoString returns the string representation
  39158. func (s DisassociateSubnetCidrBlockInput) GoString() string {
  39159. return s.String()
  39160. }
  39161. // Validate inspects the fields of the type to determine if they are valid.
  39162. func (s *DisassociateSubnetCidrBlockInput) Validate() error {
  39163. invalidParams := request.ErrInvalidParams{Context: "DisassociateSubnetCidrBlockInput"}
  39164. if s.AssociationId == nil {
  39165. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  39166. }
  39167. if invalidParams.Len() > 0 {
  39168. return invalidParams
  39169. }
  39170. return nil
  39171. }
  39172. // SetAssociationId sets the AssociationId field's value.
  39173. func (s *DisassociateSubnetCidrBlockInput) SetAssociationId(v string) *DisassociateSubnetCidrBlockInput {
  39174. s.AssociationId = &v
  39175. return s
  39176. }
  39177. type DisassociateSubnetCidrBlockOutput struct {
  39178. _ struct{} `type:"structure"`
  39179. // Information about the IPv6 CIDR block association.
  39180. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  39181. // The ID of the subnet.
  39182. SubnetId *string `locationName:"subnetId" type:"string"`
  39183. }
  39184. // String returns the string representation
  39185. func (s DisassociateSubnetCidrBlockOutput) String() string {
  39186. return awsutil.Prettify(s)
  39187. }
  39188. // GoString returns the string representation
  39189. func (s DisassociateSubnetCidrBlockOutput) GoString() string {
  39190. return s.String()
  39191. }
  39192. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  39193. func (s *DisassociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *DisassociateSubnetCidrBlockOutput {
  39194. s.Ipv6CidrBlockAssociation = v
  39195. return s
  39196. }
  39197. // SetSubnetId sets the SubnetId field's value.
  39198. func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateSubnetCidrBlockOutput {
  39199. s.SubnetId = &v
  39200. return s
  39201. }
  39202. type DisassociateVpcCidrBlockInput struct {
  39203. _ struct{} `type:"structure"`
  39204. // The association ID for the CIDR block.
  39205. //
  39206. // AssociationId is a required field
  39207. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  39208. }
  39209. // String returns the string representation
  39210. func (s DisassociateVpcCidrBlockInput) String() string {
  39211. return awsutil.Prettify(s)
  39212. }
  39213. // GoString returns the string representation
  39214. func (s DisassociateVpcCidrBlockInput) GoString() string {
  39215. return s.String()
  39216. }
  39217. // Validate inspects the fields of the type to determine if they are valid.
  39218. func (s *DisassociateVpcCidrBlockInput) Validate() error {
  39219. invalidParams := request.ErrInvalidParams{Context: "DisassociateVpcCidrBlockInput"}
  39220. if s.AssociationId == nil {
  39221. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  39222. }
  39223. if invalidParams.Len() > 0 {
  39224. return invalidParams
  39225. }
  39226. return nil
  39227. }
  39228. // SetAssociationId sets the AssociationId field's value.
  39229. func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *DisassociateVpcCidrBlockInput {
  39230. s.AssociationId = &v
  39231. return s
  39232. }
  39233. type DisassociateVpcCidrBlockOutput struct {
  39234. _ struct{} `type:"structure"`
  39235. // Information about the IPv4 CIDR block association.
  39236. CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
  39237. // Information about the IPv6 CIDR block association.
  39238. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  39239. // The ID of the VPC.
  39240. VpcId *string `locationName:"vpcId" type:"string"`
  39241. }
  39242. // String returns the string representation
  39243. func (s DisassociateVpcCidrBlockOutput) String() string {
  39244. return awsutil.Prettify(s)
  39245. }
  39246. // GoString returns the string representation
  39247. func (s DisassociateVpcCidrBlockOutput) GoString() string {
  39248. return s.String()
  39249. }
  39250. // SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
  39251. func (s *DisassociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
  39252. s.CidrBlockAssociation = v
  39253. return s
  39254. }
  39255. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  39256. func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
  39257. s.Ipv6CidrBlockAssociation = v
  39258. return s
  39259. }
  39260. // SetVpcId sets the VpcId field's value.
  39261. func (s *DisassociateVpcCidrBlockOutput) SetVpcId(v string) *DisassociateVpcCidrBlockOutput {
  39262. s.VpcId = &v
  39263. return s
  39264. }
  39265. // Describes a disk image.
  39266. type DiskImage struct {
  39267. _ struct{} `type:"structure"`
  39268. // A description of the disk image.
  39269. Description *string `type:"string"`
  39270. // Information about the disk image.
  39271. Image *DiskImageDetail `type:"structure"`
  39272. // Information about the volume.
  39273. Volume *VolumeDetail `type:"structure"`
  39274. }
  39275. // String returns the string representation
  39276. func (s DiskImage) String() string {
  39277. return awsutil.Prettify(s)
  39278. }
  39279. // GoString returns the string representation
  39280. func (s DiskImage) GoString() string {
  39281. return s.String()
  39282. }
  39283. // Validate inspects the fields of the type to determine if they are valid.
  39284. func (s *DiskImage) Validate() error {
  39285. invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
  39286. if s.Image != nil {
  39287. if err := s.Image.Validate(); err != nil {
  39288. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  39289. }
  39290. }
  39291. if s.Volume != nil {
  39292. if err := s.Volume.Validate(); err != nil {
  39293. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  39294. }
  39295. }
  39296. if invalidParams.Len() > 0 {
  39297. return invalidParams
  39298. }
  39299. return nil
  39300. }
  39301. // SetDescription sets the Description field's value.
  39302. func (s *DiskImage) SetDescription(v string) *DiskImage {
  39303. s.Description = &v
  39304. return s
  39305. }
  39306. // SetImage sets the Image field's value.
  39307. func (s *DiskImage) SetImage(v *DiskImageDetail) *DiskImage {
  39308. s.Image = v
  39309. return s
  39310. }
  39311. // SetVolume sets the Volume field's value.
  39312. func (s *DiskImage) SetVolume(v *VolumeDetail) *DiskImage {
  39313. s.Volume = v
  39314. return s
  39315. }
  39316. // Describes a disk image.
  39317. type DiskImageDescription struct {
  39318. _ struct{} `type:"structure"`
  39319. // The checksum computed for the disk image.
  39320. Checksum *string `locationName:"checksum" type:"string"`
  39321. // The disk image format.
  39322. Format *string `locationName:"format" type:"string" enum:"DiskImageFormat"`
  39323. // A presigned URL for the import manifest stored in Amazon S3. For information
  39324. // about creating a presigned URL for an Amazon S3 object, read the "Query String
  39325. // Request Authentication Alternative" section of the Authenticating REST Requests
  39326. // (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  39327. // topic in the Amazon Simple Storage Service Developer Guide.
  39328. //
  39329. // For information about the import manifest referenced by this API action,
  39330. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  39331. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string"`
  39332. // The size of the disk image, in GiB.
  39333. Size *int64 `locationName:"size" type:"long"`
  39334. }
  39335. // String returns the string representation
  39336. func (s DiskImageDescription) String() string {
  39337. return awsutil.Prettify(s)
  39338. }
  39339. // GoString returns the string representation
  39340. func (s DiskImageDescription) GoString() string {
  39341. return s.String()
  39342. }
  39343. // SetChecksum sets the Checksum field's value.
  39344. func (s *DiskImageDescription) SetChecksum(v string) *DiskImageDescription {
  39345. s.Checksum = &v
  39346. return s
  39347. }
  39348. // SetFormat sets the Format field's value.
  39349. func (s *DiskImageDescription) SetFormat(v string) *DiskImageDescription {
  39350. s.Format = &v
  39351. return s
  39352. }
  39353. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  39354. func (s *DiskImageDescription) SetImportManifestUrl(v string) *DiskImageDescription {
  39355. s.ImportManifestUrl = &v
  39356. return s
  39357. }
  39358. // SetSize sets the Size field's value.
  39359. func (s *DiskImageDescription) SetSize(v int64) *DiskImageDescription {
  39360. s.Size = &v
  39361. return s
  39362. }
  39363. // Describes a disk image.
  39364. type DiskImageDetail struct {
  39365. _ struct{} `type:"structure"`
  39366. // The size of the disk image, in GiB.
  39367. //
  39368. // Bytes is a required field
  39369. Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
  39370. // The disk image format.
  39371. //
  39372. // Format is a required field
  39373. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  39374. // A presigned URL for the import manifest stored in Amazon S3 and presented
  39375. // here as an Amazon S3 presigned URL. For information about creating a presigned
  39376. // URL for an Amazon S3 object, read the "Query String Request Authentication
  39377. // Alternative" section of the Authenticating REST Requests (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  39378. // topic in the Amazon Simple Storage Service Developer Guide.
  39379. //
  39380. // For information about the import manifest referenced by this API action,
  39381. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  39382. //
  39383. // ImportManifestUrl is a required field
  39384. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  39385. }
  39386. // String returns the string representation
  39387. func (s DiskImageDetail) String() string {
  39388. return awsutil.Prettify(s)
  39389. }
  39390. // GoString returns the string representation
  39391. func (s DiskImageDetail) GoString() string {
  39392. return s.String()
  39393. }
  39394. // Validate inspects the fields of the type to determine if they are valid.
  39395. func (s *DiskImageDetail) Validate() error {
  39396. invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
  39397. if s.Bytes == nil {
  39398. invalidParams.Add(request.NewErrParamRequired("Bytes"))
  39399. }
  39400. if s.Format == nil {
  39401. invalidParams.Add(request.NewErrParamRequired("Format"))
  39402. }
  39403. if s.ImportManifestUrl == nil {
  39404. invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
  39405. }
  39406. if invalidParams.Len() > 0 {
  39407. return invalidParams
  39408. }
  39409. return nil
  39410. }
  39411. // SetBytes sets the Bytes field's value.
  39412. func (s *DiskImageDetail) SetBytes(v int64) *DiskImageDetail {
  39413. s.Bytes = &v
  39414. return s
  39415. }
  39416. // SetFormat sets the Format field's value.
  39417. func (s *DiskImageDetail) SetFormat(v string) *DiskImageDetail {
  39418. s.Format = &v
  39419. return s
  39420. }
  39421. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  39422. func (s *DiskImageDetail) SetImportManifestUrl(v string) *DiskImageDetail {
  39423. s.ImportManifestUrl = &v
  39424. return s
  39425. }
  39426. // Describes a disk image volume.
  39427. type DiskImageVolumeDescription struct {
  39428. _ struct{} `type:"structure"`
  39429. // The volume identifier.
  39430. Id *string `locationName:"id" type:"string"`
  39431. // The size of the volume, in GiB.
  39432. Size *int64 `locationName:"size" type:"long"`
  39433. }
  39434. // String returns the string representation
  39435. func (s DiskImageVolumeDescription) String() string {
  39436. return awsutil.Prettify(s)
  39437. }
  39438. // GoString returns the string representation
  39439. func (s DiskImageVolumeDescription) GoString() string {
  39440. return s.String()
  39441. }
  39442. // SetId sets the Id field's value.
  39443. func (s *DiskImageVolumeDescription) SetId(v string) *DiskImageVolumeDescription {
  39444. s.Id = &v
  39445. return s
  39446. }
  39447. // SetSize sets the Size field's value.
  39448. func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescription {
  39449. s.Size = &v
  39450. return s
  39451. }
  39452. // Describes a DNS entry.
  39453. type DnsEntry struct {
  39454. _ struct{} `type:"structure"`
  39455. // The DNS name.
  39456. DnsName *string `locationName:"dnsName" type:"string"`
  39457. // The ID of the private hosted zone.
  39458. HostedZoneId *string `locationName:"hostedZoneId" type:"string"`
  39459. }
  39460. // String returns the string representation
  39461. func (s DnsEntry) String() string {
  39462. return awsutil.Prettify(s)
  39463. }
  39464. // GoString returns the string representation
  39465. func (s DnsEntry) GoString() string {
  39466. return s.String()
  39467. }
  39468. // SetDnsName sets the DnsName field's value.
  39469. func (s *DnsEntry) SetDnsName(v string) *DnsEntry {
  39470. s.DnsName = &v
  39471. return s
  39472. }
  39473. // SetHostedZoneId sets the HostedZoneId field's value.
  39474. func (s *DnsEntry) SetHostedZoneId(v string) *DnsEntry {
  39475. s.HostedZoneId = &v
  39476. return s
  39477. }
  39478. // Describes a block device for an EBS volume.
  39479. type EbsBlockDevice struct {
  39480. _ struct{} `type:"structure"`
  39481. // Indicates whether the EBS volume is deleted on instance termination.
  39482. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  39483. // Indicates whether the EBS volume is encrypted. Encrypted volumes can only
  39484. // be attached to instances that support Amazon EBS encryption. If you are creating
  39485. // a volume from a snapshot, you can't specify an encryption value. This is
  39486. // because only blank volumes can be encrypted on creation.
  39487. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  39488. // The number of I/O operations per second (IOPS) that the volume supports.
  39489. // For io1, this represents the number of IOPS that are provisioned for the
  39490. // volume. For gp2, this represents the baseline performance of the volume and
  39491. // the rate at which the volume accumulates I/O credits for bursting. For more
  39492. // information about General Purpose SSD baseline performance, I/O credits,
  39493. // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  39494. // in the Amazon Elastic Compute Cloud User Guide.
  39495. //
  39496. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  39497. // gp2 volumes.
  39498. //
  39499. // Condition: This parameter is required for requests to create io1 volumes;
  39500. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  39501. Iops *int64 `locationName:"iops" type:"integer"`
  39502. // Identifier (key ID, key alias, ID ARN, or alias ARN) for a user-managed CMK
  39503. // under which the EBS volume is encrypted.
  39504. //
  39505. // Note: This parameter is only supported on BlockDeviceMapping objects called
  39506. // by RunInstances (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html),
  39507. // RequestSpotFleet (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html),
  39508. // and RequestSpotInstances (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html).
  39509. KmsKeyId *string `type:"string"`
  39510. // The ID of the snapshot.
  39511. SnapshotId *string `locationName:"snapshotId" type:"string"`
  39512. // The size of the volume, in GiB.
  39513. //
  39514. // Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned
  39515. // IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for
  39516. // Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify
  39517. // a snapshot, the volume size must be equal to or larger than the snapshot
  39518. // size.
  39519. //
  39520. // Default: If you're creating the volume from a snapshot and don't specify
  39521. // a volume size, the default is the snapshot size.
  39522. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  39523. // The volume type: gp2, io1, st1, sc1, or standard.
  39524. //
  39525. // Default: standard
  39526. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  39527. }
  39528. // String returns the string representation
  39529. func (s EbsBlockDevice) String() string {
  39530. return awsutil.Prettify(s)
  39531. }
  39532. // GoString returns the string representation
  39533. func (s EbsBlockDevice) GoString() string {
  39534. return s.String()
  39535. }
  39536. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  39537. func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
  39538. s.DeleteOnTermination = &v
  39539. return s
  39540. }
  39541. // SetEncrypted sets the Encrypted field's value.
  39542. func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice {
  39543. s.Encrypted = &v
  39544. return s
  39545. }
  39546. // SetIops sets the Iops field's value.
  39547. func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
  39548. s.Iops = &v
  39549. return s
  39550. }
  39551. // SetKmsKeyId sets the KmsKeyId field's value.
  39552. func (s *EbsBlockDevice) SetKmsKeyId(v string) *EbsBlockDevice {
  39553. s.KmsKeyId = &v
  39554. return s
  39555. }
  39556. // SetSnapshotId sets the SnapshotId field's value.
  39557. func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
  39558. s.SnapshotId = &v
  39559. return s
  39560. }
  39561. // SetVolumeSize sets the VolumeSize field's value.
  39562. func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
  39563. s.VolumeSize = &v
  39564. return s
  39565. }
  39566. // SetVolumeType sets the VolumeType field's value.
  39567. func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
  39568. s.VolumeType = &v
  39569. return s
  39570. }
  39571. // Describes a parameter used to set up an EBS volume in a block device mapping.
  39572. type EbsInstanceBlockDevice struct {
  39573. _ struct{} `type:"structure"`
  39574. // The time stamp when the attachment initiated.
  39575. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  39576. // Indicates whether the volume is deleted on instance termination.
  39577. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  39578. // The attachment state.
  39579. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  39580. // The ID of the EBS volume.
  39581. VolumeId *string `locationName:"volumeId" type:"string"`
  39582. }
  39583. // String returns the string representation
  39584. func (s EbsInstanceBlockDevice) String() string {
  39585. return awsutil.Prettify(s)
  39586. }
  39587. // GoString returns the string representation
  39588. func (s EbsInstanceBlockDevice) GoString() string {
  39589. return s.String()
  39590. }
  39591. // SetAttachTime sets the AttachTime field's value.
  39592. func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
  39593. s.AttachTime = &v
  39594. return s
  39595. }
  39596. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  39597. func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
  39598. s.DeleteOnTermination = &v
  39599. return s
  39600. }
  39601. // SetStatus sets the Status field's value.
  39602. func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
  39603. s.Status = &v
  39604. return s
  39605. }
  39606. // SetVolumeId sets the VolumeId field's value.
  39607. func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
  39608. s.VolumeId = &v
  39609. return s
  39610. }
  39611. // Describes information used to set up an EBS volume specified in a block device
  39612. // mapping.
  39613. type EbsInstanceBlockDeviceSpecification struct {
  39614. _ struct{} `type:"structure"`
  39615. // Indicates whether the volume is deleted on instance termination.
  39616. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  39617. // The ID of the EBS volume.
  39618. VolumeId *string `locationName:"volumeId" type:"string"`
  39619. }
  39620. // String returns the string representation
  39621. func (s EbsInstanceBlockDeviceSpecification) String() string {
  39622. return awsutil.Prettify(s)
  39623. }
  39624. // GoString returns the string representation
  39625. func (s EbsInstanceBlockDeviceSpecification) GoString() string {
  39626. return s.String()
  39627. }
  39628. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  39629. func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
  39630. s.DeleteOnTermination = &v
  39631. return s
  39632. }
  39633. // SetVolumeId sets the VolumeId field's value.
  39634. func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstanceBlockDeviceSpecification {
  39635. s.VolumeId = &v
  39636. return s
  39637. }
  39638. // Describes an egress-only Internet gateway.
  39639. type EgressOnlyInternetGateway struct {
  39640. _ struct{} `type:"structure"`
  39641. // Information about the attachment of the egress-only Internet gateway.
  39642. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  39643. // The ID of the egress-only Internet gateway.
  39644. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  39645. }
  39646. // String returns the string representation
  39647. func (s EgressOnlyInternetGateway) String() string {
  39648. return awsutil.Prettify(s)
  39649. }
  39650. // GoString returns the string representation
  39651. func (s EgressOnlyInternetGateway) GoString() string {
  39652. return s.String()
  39653. }
  39654. // SetAttachments sets the Attachments field's value.
  39655. func (s *EgressOnlyInternetGateway) SetAttachments(v []*InternetGatewayAttachment) *EgressOnlyInternetGateway {
  39656. s.Attachments = v
  39657. return s
  39658. }
  39659. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  39660. func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *EgressOnlyInternetGateway {
  39661. s.EgressOnlyInternetGatewayId = &v
  39662. return s
  39663. }
  39664. // Describes the association between an instance and an Elastic GPU.
  39665. type ElasticGpuAssociation struct {
  39666. _ struct{} `type:"structure"`
  39667. // The ID of the association.
  39668. ElasticGpuAssociationId *string `locationName:"elasticGpuAssociationId" type:"string"`
  39669. // The state of the association between the instance and the Elastic GPU.
  39670. ElasticGpuAssociationState *string `locationName:"elasticGpuAssociationState" type:"string"`
  39671. // The time the Elastic GPU was associated with the instance.
  39672. ElasticGpuAssociationTime *string `locationName:"elasticGpuAssociationTime" type:"string"`
  39673. // The ID of the Elastic GPU.
  39674. ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
  39675. }
  39676. // String returns the string representation
  39677. func (s ElasticGpuAssociation) String() string {
  39678. return awsutil.Prettify(s)
  39679. }
  39680. // GoString returns the string representation
  39681. func (s ElasticGpuAssociation) GoString() string {
  39682. return s.String()
  39683. }
  39684. // SetElasticGpuAssociationId sets the ElasticGpuAssociationId field's value.
  39685. func (s *ElasticGpuAssociation) SetElasticGpuAssociationId(v string) *ElasticGpuAssociation {
  39686. s.ElasticGpuAssociationId = &v
  39687. return s
  39688. }
  39689. // SetElasticGpuAssociationState sets the ElasticGpuAssociationState field's value.
  39690. func (s *ElasticGpuAssociation) SetElasticGpuAssociationState(v string) *ElasticGpuAssociation {
  39691. s.ElasticGpuAssociationState = &v
  39692. return s
  39693. }
  39694. // SetElasticGpuAssociationTime sets the ElasticGpuAssociationTime field's value.
  39695. func (s *ElasticGpuAssociation) SetElasticGpuAssociationTime(v string) *ElasticGpuAssociation {
  39696. s.ElasticGpuAssociationTime = &v
  39697. return s
  39698. }
  39699. // SetElasticGpuId sets the ElasticGpuId field's value.
  39700. func (s *ElasticGpuAssociation) SetElasticGpuId(v string) *ElasticGpuAssociation {
  39701. s.ElasticGpuId = &v
  39702. return s
  39703. }
  39704. // Describes the status of an Elastic GPU.
  39705. type ElasticGpuHealth struct {
  39706. _ struct{} `type:"structure"`
  39707. // The health status.
  39708. Status *string `locationName:"status" type:"string" enum:"ElasticGpuStatus"`
  39709. }
  39710. // String returns the string representation
  39711. func (s ElasticGpuHealth) String() string {
  39712. return awsutil.Prettify(s)
  39713. }
  39714. // GoString returns the string representation
  39715. func (s ElasticGpuHealth) GoString() string {
  39716. return s.String()
  39717. }
  39718. // SetStatus sets the Status field's value.
  39719. func (s *ElasticGpuHealth) SetStatus(v string) *ElasticGpuHealth {
  39720. s.Status = &v
  39721. return s
  39722. }
  39723. // A specification for an Elastic GPU.
  39724. type ElasticGpuSpecification struct {
  39725. _ struct{} `type:"structure"`
  39726. // The type of Elastic GPU.
  39727. //
  39728. // Type is a required field
  39729. Type *string `type:"string" required:"true"`
  39730. }
  39731. // String returns the string representation
  39732. func (s ElasticGpuSpecification) String() string {
  39733. return awsutil.Prettify(s)
  39734. }
  39735. // GoString returns the string representation
  39736. func (s ElasticGpuSpecification) GoString() string {
  39737. return s.String()
  39738. }
  39739. // Validate inspects the fields of the type to determine if they are valid.
  39740. func (s *ElasticGpuSpecification) Validate() error {
  39741. invalidParams := request.ErrInvalidParams{Context: "ElasticGpuSpecification"}
  39742. if s.Type == nil {
  39743. invalidParams.Add(request.NewErrParamRequired("Type"))
  39744. }
  39745. if invalidParams.Len() > 0 {
  39746. return invalidParams
  39747. }
  39748. return nil
  39749. }
  39750. // SetType sets the Type field's value.
  39751. func (s *ElasticGpuSpecification) SetType(v string) *ElasticGpuSpecification {
  39752. s.Type = &v
  39753. return s
  39754. }
  39755. // Describes an elastic GPU.
  39756. type ElasticGpuSpecificationResponse struct {
  39757. _ struct{} `type:"structure"`
  39758. // The elastic GPU type.
  39759. Type *string `locationName:"type" type:"string"`
  39760. }
  39761. // String returns the string representation
  39762. func (s ElasticGpuSpecificationResponse) String() string {
  39763. return awsutil.Prettify(s)
  39764. }
  39765. // GoString returns the string representation
  39766. func (s ElasticGpuSpecificationResponse) GoString() string {
  39767. return s.String()
  39768. }
  39769. // SetType sets the Type field's value.
  39770. func (s *ElasticGpuSpecificationResponse) SetType(v string) *ElasticGpuSpecificationResponse {
  39771. s.Type = &v
  39772. return s
  39773. }
  39774. // Describes an Elastic GPU.
  39775. type ElasticGpus struct {
  39776. _ struct{} `type:"structure"`
  39777. // The Availability Zone in the which the Elastic GPU resides.
  39778. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  39779. // The status of the Elastic GPU.
  39780. ElasticGpuHealth *ElasticGpuHealth `locationName:"elasticGpuHealth" type:"structure"`
  39781. // The ID of the Elastic GPU.
  39782. ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
  39783. // The state of the Elastic GPU.
  39784. ElasticGpuState *string `locationName:"elasticGpuState" type:"string" enum:"ElasticGpuState"`
  39785. // The type of Elastic GPU.
  39786. ElasticGpuType *string `locationName:"elasticGpuType" type:"string"`
  39787. // The ID of the instance to which the Elastic GPU is attached.
  39788. InstanceId *string `locationName:"instanceId" type:"string"`
  39789. }
  39790. // String returns the string representation
  39791. func (s ElasticGpus) String() string {
  39792. return awsutil.Prettify(s)
  39793. }
  39794. // GoString returns the string representation
  39795. func (s ElasticGpus) GoString() string {
  39796. return s.String()
  39797. }
  39798. // SetAvailabilityZone sets the AvailabilityZone field's value.
  39799. func (s *ElasticGpus) SetAvailabilityZone(v string) *ElasticGpus {
  39800. s.AvailabilityZone = &v
  39801. return s
  39802. }
  39803. // SetElasticGpuHealth sets the ElasticGpuHealth field's value.
  39804. func (s *ElasticGpus) SetElasticGpuHealth(v *ElasticGpuHealth) *ElasticGpus {
  39805. s.ElasticGpuHealth = v
  39806. return s
  39807. }
  39808. // SetElasticGpuId sets the ElasticGpuId field's value.
  39809. func (s *ElasticGpus) SetElasticGpuId(v string) *ElasticGpus {
  39810. s.ElasticGpuId = &v
  39811. return s
  39812. }
  39813. // SetElasticGpuState sets the ElasticGpuState field's value.
  39814. func (s *ElasticGpus) SetElasticGpuState(v string) *ElasticGpus {
  39815. s.ElasticGpuState = &v
  39816. return s
  39817. }
  39818. // SetElasticGpuType sets the ElasticGpuType field's value.
  39819. func (s *ElasticGpus) SetElasticGpuType(v string) *ElasticGpus {
  39820. s.ElasticGpuType = &v
  39821. return s
  39822. }
  39823. // SetInstanceId sets the InstanceId field's value.
  39824. func (s *ElasticGpus) SetInstanceId(v string) *ElasticGpus {
  39825. s.InstanceId = &v
  39826. return s
  39827. }
  39828. // Contains the parameters for EnableVgwRoutePropagation.
  39829. type EnableVgwRoutePropagationInput struct {
  39830. _ struct{} `type:"structure"`
  39831. // The ID of the virtual private gateway.
  39832. //
  39833. // GatewayId is a required field
  39834. GatewayId *string `type:"string" required:"true"`
  39835. // The ID of the route table.
  39836. //
  39837. // RouteTableId is a required field
  39838. RouteTableId *string `type:"string" required:"true"`
  39839. }
  39840. // String returns the string representation
  39841. func (s EnableVgwRoutePropagationInput) String() string {
  39842. return awsutil.Prettify(s)
  39843. }
  39844. // GoString returns the string representation
  39845. func (s EnableVgwRoutePropagationInput) GoString() string {
  39846. return s.String()
  39847. }
  39848. // Validate inspects the fields of the type to determine if they are valid.
  39849. func (s *EnableVgwRoutePropagationInput) Validate() error {
  39850. invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
  39851. if s.GatewayId == nil {
  39852. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  39853. }
  39854. if s.RouteTableId == nil {
  39855. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  39856. }
  39857. if invalidParams.Len() > 0 {
  39858. return invalidParams
  39859. }
  39860. return nil
  39861. }
  39862. // SetGatewayId sets the GatewayId field's value.
  39863. func (s *EnableVgwRoutePropagationInput) SetGatewayId(v string) *EnableVgwRoutePropagationInput {
  39864. s.GatewayId = &v
  39865. return s
  39866. }
  39867. // SetRouteTableId sets the RouteTableId field's value.
  39868. func (s *EnableVgwRoutePropagationInput) SetRouteTableId(v string) *EnableVgwRoutePropagationInput {
  39869. s.RouteTableId = &v
  39870. return s
  39871. }
  39872. type EnableVgwRoutePropagationOutput struct {
  39873. _ struct{} `type:"structure"`
  39874. }
  39875. // String returns the string representation
  39876. func (s EnableVgwRoutePropagationOutput) String() string {
  39877. return awsutil.Prettify(s)
  39878. }
  39879. // GoString returns the string representation
  39880. func (s EnableVgwRoutePropagationOutput) GoString() string {
  39881. return s.String()
  39882. }
  39883. // Contains the parameters for EnableVolumeIO.
  39884. type EnableVolumeIOInput struct {
  39885. _ struct{} `type:"structure"`
  39886. // Checks whether you have the required permissions for the action, without
  39887. // actually making the request, and provides an error response. If you have
  39888. // the required permissions, the error response is DryRunOperation. Otherwise,
  39889. // it is UnauthorizedOperation.
  39890. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39891. // The ID of the volume.
  39892. //
  39893. // VolumeId is a required field
  39894. VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
  39895. }
  39896. // String returns the string representation
  39897. func (s EnableVolumeIOInput) String() string {
  39898. return awsutil.Prettify(s)
  39899. }
  39900. // GoString returns the string representation
  39901. func (s EnableVolumeIOInput) GoString() string {
  39902. return s.String()
  39903. }
  39904. // Validate inspects the fields of the type to determine if they are valid.
  39905. func (s *EnableVolumeIOInput) Validate() error {
  39906. invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
  39907. if s.VolumeId == nil {
  39908. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  39909. }
  39910. if invalidParams.Len() > 0 {
  39911. return invalidParams
  39912. }
  39913. return nil
  39914. }
  39915. // SetDryRun sets the DryRun field's value.
  39916. func (s *EnableVolumeIOInput) SetDryRun(v bool) *EnableVolumeIOInput {
  39917. s.DryRun = &v
  39918. return s
  39919. }
  39920. // SetVolumeId sets the VolumeId field's value.
  39921. func (s *EnableVolumeIOInput) SetVolumeId(v string) *EnableVolumeIOInput {
  39922. s.VolumeId = &v
  39923. return s
  39924. }
  39925. type EnableVolumeIOOutput struct {
  39926. _ struct{} `type:"structure"`
  39927. }
  39928. // String returns the string representation
  39929. func (s EnableVolumeIOOutput) String() string {
  39930. return awsutil.Prettify(s)
  39931. }
  39932. // GoString returns the string representation
  39933. func (s EnableVolumeIOOutput) GoString() string {
  39934. return s.String()
  39935. }
  39936. // Contains the parameters for EnableVpcClassicLinkDnsSupport.
  39937. type EnableVpcClassicLinkDnsSupportInput struct {
  39938. _ struct{} `type:"structure"`
  39939. // The ID of the VPC.
  39940. VpcId *string `type:"string"`
  39941. }
  39942. // String returns the string representation
  39943. func (s EnableVpcClassicLinkDnsSupportInput) String() string {
  39944. return awsutil.Prettify(s)
  39945. }
  39946. // GoString returns the string representation
  39947. func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
  39948. return s.String()
  39949. }
  39950. // SetVpcId sets the VpcId field's value.
  39951. func (s *EnableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *EnableVpcClassicLinkDnsSupportInput {
  39952. s.VpcId = &v
  39953. return s
  39954. }
  39955. // Contains the output of EnableVpcClassicLinkDnsSupport.
  39956. type EnableVpcClassicLinkDnsSupportOutput struct {
  39957. _ struct{} `type:"structure"`
  39958. // Returns true if the request succeeds; otherwise, it returns an error.
  39959. Return *bool `locationName:"return" type:"boolean"`
  39960. }
  39961. // String returns the string representation
  39962. func (s EnableVpcClassicLinkDnsSupportOutput) String() string {
  39963. return awsutil.Prettify(s)
  39964. }
  39965. // GoString returns the string representation
  39966. func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
  39967. return s.String()
  39968. }
  39969. // SetReturn sets the Return field's value.
  39970. func (s *EnableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *EnableVpcClassicLinkDnsSupportOutput {
  39971. s.Return = &v
  39972. return s
  39973. }
  39974. // Contains the parameters for EnableVpcClassicLink.
  39975. type EnableVpcClassicLinkInput struct {
  39976. _ struct{} `type:"structure"`
  39977. // Checks whether you have the required permissions for the action, without
  39978. // actually making the request, and provides an error response. If you have
  39979. // the required permissions, the error response is DryRunOperation. Otherwise,
  39980. // it is UnauthorizedOperation.
  39981. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39982. // The ID of the VPC.
  39983. //
  39984. // VpcId is a required field
  39985. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  39986. }
  39987. // String returns the string representation
  39988. func (s EnableVpcClassicLinkInput) String() string {
  39989. return awsutil.Prettify(s)
  39990. }
  39991. // GoString returns the string representation
  39992. func (s EnableVpcClassicLinkInput) GoString() string {
  39993. return s.String()
  39994. }
  39995. // Validate inspects the fields of the type to determine if they are valid.
  39996. func (s *EnableVpcClassicLinkInput) Validate() error {
  39997. invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
  39998. if s.VpcId == nil {
  39999. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  40000. }
  40001. if invalidParams.Len() > 0 {
  40002. return invalidParams
  40003. }
  40004. return nil
  40005. }
  40006. // SetDryRun sets the DryRun field's value.
  40007. func (s *EnableVpcClassicLinkInput) SetDryRun(v bool) *EnableVpcClassicLinkInput {
  40008. s.DryRun = &v
  40009. return s
  40010. }
  40011. // SetVpcId sets the VpcId field's value.
  40012. func (s *EnableVpcClassicLinkInput) SetVpcId(v string) *EnableVpcClassicLinkInput {
  40013. s.VpcId = &v
  40014. return s
  40015. }
  40016. // Contains the output of EnableVpcClassicLink.
  40017. type EnableVpcClassicLinkOutput struct {
  40018. _ struct{} `type:"structure"`
  40019. // Returns true if the request succeeds; otherwise, it returns an error.
  40020. Return *bool `locationName:"return" type:"boolean"`
  40021. }
  40022. // String returns the string representation
  40023. func (s EnableVpcClassicLinkOutput) String() string {
  40024. return awsutil.Prettify(s)
  40025. }
  40026. // GoString returns the string representation
  40027. func (s EnableVpcClassicLinkOutput) GoString() string {
  40028. return s.String()
  40029. }
  40030. // SetReturn sets the Return field's value.
  40031. func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutput {
  40032. s.Return = &v
  40033. return s
  40034. }
  40035. // Describes a Spot Fleet event.
  40036. type EventInformation struct {
  40037. _ struct{} `type:"structure"`
  40038. // The description of the event.
  40039. EventDescription *string `locationName:"eventDescription" type:"string"`
  40040. // The event.
  40041. //
  40042. // The following are the error events:
  40043. //
  40044. // * iamFleetRoleInvalid - The Spot Fleet did not have the required permissions
  40045. // either to launch or terminate an instance.
  40046. //
  40047. // * launchSpecTemporarilyBlacklisted - The configuration is not valid and
  40048. // several attempts to launch instances have failed. For more information,
  40049. // see the description of the event.
  40050. //
  40051. // * spotFleetRequestConfigurationInvalid - The configuration is not valid.
  40052. // For more information, see the description of the event.
  40053. //
  40054. // * spotInstanceCountLimitExceeded - You've reached the limit on the number
  40055. // of Spot Instances that you can launch.
  40056. //
  40057. // The following are the fleetRequestChange events:
  40058. //
  40059. // * active - The Spot Fleet has been validated and Amazon EC2 is attempting
  40060. // to maintain the target number of running Spot Instances.
  40061. //
  40062. // * cancelled - The Spot Fleet is canceled and has no running Spot Instances.
  40063. // The Spot Fleet will be deleted two days after its instances were terminated.
  40064. //
  40065. // * cancelled_running - The Spot Fleet is canceled and does not launch additional
  40066. // Spot Instances. Existing Spot Instances continue to run until they are
  40067. // interrupted or terminated.
  40068. //
  40069. // * cancelled_terminating - The Spot Fleet is canceled and its Spot Instances
  40070. // are terminating.
  40071. //
  40072. // * expired - The Spot Fleet request has expired. A subsequent event indicates
  40073. // that the instances were terminated, if the request was created with TerminateInstancesWithExpiration
  40074. // set.
  40075. //
  40076. // * modify_in_progress - A request to modify the Spot Fleet request was
  40077. // accepted and is in progress.
  40078. //
  40079. // * modify_successful - The Spot Fleet request was modified.
  40080. //
  40081. // * price_update - The price for a launch configuration was adjusted because
  40082. // it was too high. This change is permanent.
  40083. //
  40084. // * submitted - The Spot Fleet request is being evaluated and Amazon EC2
  40085. // is preparing to launch the target number of Spot Instances.
  40086. //
  40087. // The following are the instanceChange events:
  40088. //
  40089. // * launched - A request was fulfilled and a new instance was launched.
  40090. //
  40091. // * terminated - An instance was terminated by the user.
  40092. //
  40093. // The following are the Information events:
  40094. //
  40095. // * launchSpecUnusable - The price in a launch specification is not valid
  40096. // because it is below the Spot price or the Spot price is above the On-Demand
  40097. // price.
  40098. //
  40099. // * fleetProgressHalted - The price in every launch specification is not
  40100. // valid. A launch specification might become valid if the Spot price changes.
  40101. EventSubType *string `locationName:"eventSubType" type:"string"`
  40102. // The ID of the instance. This information is available only for instanceChange
  40103. // events.
  40104. InstanceId *string `locationName:"instanceId" type:"string"`
  40105. }
  40106. // String returns the string representation
  40107. func (s EventInformation) String() string {
  40108. return awsutil.Prettify(s)
  40109. }
  40110. // GoString returns the string representation
  40111. func (s EventInformation) GoString() string {
  40112. return s.String()
  40113. }
  40114. // SetEventDescription sets the EventDescription field's value.
  40115. func (s *EventInformation) SetEventDescription(v string) *EventInformation {
  40116. s.EventDescription = &v
  40117. return s
  40118. }
  40119. // SetEventSubType sets the EventSubType field's value.
  40120. func (s *EventInformation) SetEventSubType(v string) *EventInformation {
  40121. s.EventSubType = &v
  40122. return s
  40123. }
  40124. // SetInstanceId sets the InstanceId field's value.
  40125. func (s *EventInformation) SetInstanceId(v string) *EventInformation {
  40126. s.InstanceId = &v
  40127. return s
  40128. }
  40129. // Describes an instance export task.
  40130. type ExportTask struct {
  40131. _ struct{} `type:"structure"`
  40132. // A description of the resource being exported.
  40133. Description *string `locationName:"description" type:"string"`
  40134. // The ID of the export task.
  40135. ExportTaskId *string `locationName:"exportTaskId" type:"string"`
  40136. // Information about the export task.
  40137. ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
  40138. // Information about the instance to export.
  40139. InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
  40140. // The state of the export task.
  40141. State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
  40142. // The status message related to the export task.
  40143. StatusMessage *string `locationName:"statusMessage" type:"string"`
  40144. }
  40145. // String returns the string representation
  40146. func (s ExportTask) String() string {
  40147. return awsutil.Prettify(s)
  40148. }
  40149. // GoString returns the string representation
  40150. func (s ExportTask) GoString() string {
  40151. return s.String()
  40152. }
  40153. // SetDescription sets the Description field's value.
  40154. func (s *ExportTask) SetDescription(v string) *ExportTask {
  40155. s.Description = &v
  40156. return s
  40157. }
  40158. // SetExportTaskId sets the ExportTaskId field's value.
  40159. func (s *ExportTask) SetExportTaskId(v string) *ExportTask {
  40160. s.ExportTaskId = &v
  40161. return s
  40162. }
  40163. // SetExportToS3Task sets the ExportToS3Task field's value.
  40164. func (s *ExportTask) SetExportToS3Task(v *ExportToS3Task) *ExportTask {
  40165. s.ExportToS3Task = v
  40166. return s
  40167. }
  40168. // SetInstanceExportDetails sets the InstanceExportDetails field's value.
  40169. func (s *ExportTask) SetInstanceExportDetails(v *InstanceExportDetails) *ExportTask {
  40170. s.InstanceExportDetails = v
  40171. return s
  40172. }
  40173. // SetState sets the State field's value.
  40174. func (s *ExportTask) SetState(v string) *ExportTask {
  40175. s.State = &v
  40176. return s
  40177. }
  40178. // SetStatusMessage sets the StatusMessage field's value.
  40179. func (s *ExportTask) SetStatusMessage(v string) *ExportTask {
  40180. s.StatusMessage = &v
  40181. return s
  40182. }
  40183. // Describes the format and location for an instance export task.
  40184. type ExportToS3Task struct {
  40185. _ struct{} `type:"structure"`
  40186. // The container format used to combine disk images with metadata (such as OVF).
  40187. // If absent, only the disk image is exported.
  40188. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  40189. // The format for the exported image.
  40190. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  40191. // The S3 bucket for the destination image. The destination bucket must exist
  40192. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  40193. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  40194. // The encryption key for your S3 bucket.
  40195. S3Key *string `locationName:"s3Key" type:"string"`
  40196. }
  40197. // String returns the string representation
  40198. func (s ExportToS3Task) String() string {
  40199. return awsutil.Prettify(s)
  40200. }
  40201. // GoString returns the string representation
  40202. func (s ExportToS3Task) GoString() string {
  40203. return s.String()
  40204. }
  40205. // SetContainerFormat sets the ContainerFormat field's value.
  40206. func (s *ExportToS3Task) SetContainerFormat(v string) *ExportToS3Task {
  40207. s.ContainerFormat = &v
  40208. return s
  40209. }
  40210. // SetDiskImageFormat sets the DiskImageFormat field's value.
  40211. func (s *ExportToS3Task) SetDiskImageFormat(v string) *ExportToS3Task {
  40212. s.DiskImageFormat = &v
  40213. return s
  40214. }
  40215. // SetS3Bucket sets the S3Bucket field's value.
  40216. func (s *ExportToS3Task) SetS3Bucket(v string) *ExportToS3Task {
  40217. s.S3Bucket = &v
  40218. return s
  40219. }
  40220. // SetS3Key sets the S3Key field's value.
  40221. func (s *ExportToS3Task) SetS3Key(v string) *ExportToS3Task {
  40222. s.S3Key = &v
  40223. return s
  40224. }
  40225. // Describes an instance export task.
  40226. type ExportToS3TaskSpecification struct {
  40227. _ struct{} `type:"structure"`
  40228. // The container format used to combine disk images with metadata (such as OVF).
  40229. // If absent, only the disk image is exported.
  40230. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  40231. // The format for the exported image.
  40232. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  40233. // The S3 bucket for the destination image. The destination bucket must exist
  40234. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  40235. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  40236. // The image is written to a single object in the S3 bucket at the S3 key s3prefix
  40237. // + exportTaskId + '.' + diskImageFormat.
  40238. S3Prefix *string `locationName:"s3Prefix" type:"string"`
  40239. }
  40240. // String returns the string representation
  40241. func (s ExportToS3TaskSpecification) String() string {
  40242. return awsutil.Prettify(s)
  40243. }
  40244. // GoString returns the string representation
  40245. func (s ExportToS3TaskSpecification) GoString() string {
  40246. return s.String()
  40247. }
  40248. // SetContainerFormat sets the ContainerFormat field's value.
  40249. func (s *ExportToS3TaskSpecification) SetContainerFormat(v string) *ExportToS3TaskSpecification {
  40250. s.ContainerFormat = &v
  40251. return s
  40252. }
  40253. // SetDiskImageFormat sets the DiskImageFormat field's value.
  40254. func (s *ExportToS3TaskSpecification) SetDiskImageFormat(v string) *ExportToS3TaskSpecification {
  40255. s.DiskImageFormat = &v
  40256. return s
  40257. }
  40258. // SetS3Bucket sets the S3Bucket field's value.
  40259. func (s *ExportToS3TaskSpecification) SetS3Bucket(v string) *ExportToS3TaskSpecification {
  40260. s.S3Bucket = &v
  40261. return s
  40262. }
  40263. // SetS3Prefix sets the S3Prefix field's value.
  40264. func (s *ExportToS3TaskSpecification) SetS3Prefix(v string) *ExportToS3TaskSpecification {
  40265. s.S3Prefix = &v
  40266. return s
  40267. }
  40268. // A filter name and value pair that is used to return a more specific list
  40269. // of results from a describe operation. Filters can be used to match a set
  40270. // of resources by specific criteria, such as tags, attributes, or IDs. The
  40271. // filters supported by a describe operation are documented with the describe
  40272. // operation. For example:
  40273. //
  40274. // * DescribeAvailabilityZones
  40275. //
  40276. // * DescribeImages
  40277. //
  40278. // * DescribeInstances
  40279. //
  40280. // * DescribeKeyPairs
  40281. //
  40282. // * DescribeSecurityGroups
  40283. //
  40284. // * DescribeSnapshots
  40285. //
  40286. // * DescribeSubnets
  40287. //
  40288. // * DescribeTags
  40289. //
  40290. // * DescribeVolumes
  40291. //
  40292. // * DescribeVpcs
  40293. type Filter struct {
  40294. _ struct{} `type:"structure"`
  40295. // The name of the filter. Filter names are case-sensitive.
  40296. Name *string `type:"string"`
  40297. // One or more filter values. Filter values are case-sensitive.
  40298. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  40299. }
  40300. // String returns the string representation
  40301. func (s Filter) String() string {
  40302. return awsutil.Prettify(s)
  40303. }
  40304. // GoString returns the string representation
  40305. func (s Filter) GoString() string {
  40306. return s.String()
  40307. }
  40308. // SetName sets the Name field's value.
  40309. func (s *Filter) SetName(v string) *Filter {
  40310. s.Name = &v
  40311. return s
  40312. }
  40313. // SetValues sets the Values field's value.
  40314. func (s *Filter) SetValues(v []*string) *Filter {
  40315. s.Values = v
  40316. return s
  40317. }
  40318. // Describes an EC2 Fleet.
  40319. type FleetData struct {
  40320. _ struct{} `type:"structure"`
  40321. // The progress of the EC2 Fleet. If there is an error, the status is error.
  40322. // After all requests are placed, the status is pending_fulfillment. If the
  40323. // size of the EC2 Fleet is equal to or greater than its target capacity, the
  40324. // status is fulfilled. If the size of the EC2 Fleet is decreased, the status
  40325. // is pending_termination while instances are terminating.
  40326. ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"FleetActivityStatus"`
  40327. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  40328. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  40329. //
  40330. // Constraints: Maximum 64 ASCII characters
  40331. ClientToken *string `locationName:"clientToken" type:"string"`
  40332. // The creation date and time of the EC2 Fleet.
  40333. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  40334. // Indicates whether running instances should be terminated if the target capacity
  40335. // of the EC2 Fleet is decreased below the current size of the EC2 Fleet.
  40336. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
  40337. // The ID of the EC2 Fleet.
  40338. FleetId *string `locationName:"fleetId" type:"string"`
  40339. // The state of the EC2 Fleet.
  40340. FleetState *string `locationName:"fleetState" type:"string" enum:"FleetStateCode"`
  40341. // The number of units fulfilled by this request compared to the set target
  40342. // capacity.
  40343. FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
  40344. // The number of units fulfilled by this request compared to the set target
  40345. // On-Demand capacity.
  40346. FulfilledOnDemandCapacity *float64 `locationName:"fulfilledOnDemandCapacity" type:"double"`
  40347. // The launch template and overrides.
  40348. LaunchTemplateConfigs []*FleetLaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
  40349. // Indicates whether EC2 Fleet should replace unhealthy instances.
  40350. ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
  40351. // The configuration of Spot Instances in an EC2 Fleet.
  40352. SpotOptions *SpotOptions `locationName:"spotOptions" type:"structure"`
  40353. // The tags for an EC2 Fleet resource.
  40354. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  40355. // The number of units to request. You can choose to set the target capacity
  40356. // in terms of instances or a performance characteristic that is important to
  40357. // your application workload, such as vCPUs, memory, or I/O. If the request
  40358. // type is maintain, you can specify a target capacity of 0 and add capacity
  40359. // later.
  40360. TargetCapacitySpecification *TargetCapacitySpecification `locationName:"targetCapacitySpecification" type:"structure"`
  40361. // Indicates whether running instances should be terminated when the EC2 Fleet
  40362. // expires.
  40363. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
  40364. // The type of request. Indicates whether the EC2 Fleet only requests the target
  40365. // capacity, or also attempts to maintain it. If you request a certain target
  40366. // capacity, EC2 Fleet only places the required requests; it does not attempt
  40367. // to replenish instances if capacity is diminished, and does not submit requests
  40368. // in alternative capacity pools if capacity is unavailable. To maintain a certain
  40369. // target capacity, EC2 Fleet places the required requests to meet this target
  40370. // capacity. It also automatically replenishes any interrupted Spot Instances.
  40371. // Default: maintain.
  40372. Type *string `locationName:"type" type:"string" enum:"FleetType"`
  40373. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  40374. // The default is to start fulfilling the request immediately.
  40375. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  40376. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  40377. // At this point, no new instance requests are placed or able to fulfill the
  40378. // request. The default end date is 7 days from the current date.
  40379. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  40380. }
  40381. // String returns the string representation
  40382. func (s FleetData) String() string {
  40383. return awsutil.Prettify(s)
  40384. }
  40385. // GoString returns the string representation
  40386. func (s FleetData) GoString() string {
  40387. return s.String()
  40388. }
  40389. // SetActivityStatus sets the ActivityStatus field's value.
  40390. func (s *FleetData) SetActivityStatus(v string) *FleetData {
  40391. s.ActivityStatus = &v
  40392. return s
  40393. }
  40394. // SetClientToken sets the ClientToken field's value.
  40395. func (s *FleetData) SetClientToken(v string) *FleetData {
  40396. s.ClientToken = &v
  40397. return s
  40398. }
  40399. // SetCreateTime sets the CreateTime field's value.
  40400. func (s *FleetData) SetCreateTime(v time.Time) *FleetData {
  40401. s.CreateTime = &v
  40402. return s
  40403. }
  40404. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  40405. func (s *FleetData) SetExcessCapacityTerminationPolicy(v string) *FleetData {
  40406. s.ExcessCapacityTerminationPolicy = &v
  40407. return s
  40408. }
  40409. // SetFleetId sets the FleetId field's value.
  40410. func (s *FleetData) SetFleetId(v string) *FleetData {
  40411. s.FleetId = &v
  40412. return s
  40413. }
  40414. // SetFleetState sets the FleetState field's value.
  40415. func (s *FleetData) SetFleetState(v string) *FleetData {
  40416. s.FleetState = &v
  40417. return s
  40418. }
  40419. // SetFulfilledCapacity sets the FulfilledCapacity field's value.
  40420. func (s *FleetData) SetFulfilledCapacity(v float64) *FleetData {
  40421. s.FulfilledCapacity = &v
  40422. return s
  40423. }
  40424. // SetFulfilledOnDemandCapacity sets the FulfilledOnDemandCapacity field's value.
  40425. func (s *FleetData) SetFulfilledOnDemandCapacity(v float64) *FleetData {
  40426. s.FulfilledOnDemandCapacity = &v
  40427. return s
  40428. }
  40429. // SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
  40430. func (s *FleetData) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfig) *FleetData {
  40431. s.LaunchTemplateConfigs = v
  40432. return s
  40433. }
  40434. // SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
  40435. func (s *FleetData) SetReplaceUnhealthyInstances(v bool) *FleetData {
  40436. s.ReplaceUnhealthyInstances = &v
  40437. return s
  40438. }
  40439. // SetSpotOptions sets the SpotOptions field's value.
  40440. func (s *FleetData) SetSpotOptions(v *SpotOptions) *FleetData {
  40441. s.SpotOptions = v
  40442. return s
  40443. }
  40444. // SetTags sets the Tags field's value.
  40445. func (s *FleetData) SetTags(v []*Tag) *FleetData {
  40446. s.Tags = v
  40447. return s
  40448. }
  40449. // SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
  40450. func (s *FleetData) SetTargetCapacitySpecification(v *TargetCapacitySpecification) *FleetData {
  40451. s.TargetCapacitySpecification = v
  40452. return s
  40453. }
  40454. // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
  40455. func (s *FleetData) SetTerminateInstancesWithExpiration(v bool) *FleetData {
  40456. s.TerminateInstancesWithExpiration = &v
  40457. return s
  40458. }
  40459. // SetType sets the Type field's value.
  40460. func (s *FleetData) SetType(v string) *FleetData {
  40461. s.Type = &v
  40462. return s
  40463. }
  40464. // SetValidFrom sets the ValidFrom field's value.
  40465. func (s *FleetData) SetValidFrom(v time.Time) *FleetData {
  40466. s.ValidFrom = &v
  40467. return s
  40468. }
  40469. // SetValidUntil sets the ValidUntil field's value.
  40470. func (s *FleetData) SetValidUntil(v time.Time) *FleetData {
  40471. s.ValidUntil = &v
  40472. return s
  40473. }
  40474. // Describes a launch template and overrides.
  40475. type FleetLaunchTemplateConfig struct {
  40476. _ struct{} `type:"structure"`
  40477. // The launch template.
  40478. LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
  40479. // Any parameters that you specify override the same parameters in the launch
  40480. // template.
  40481. Overrides []*FleetLaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
  40482. }
  40483. // String returns the string representation
  40484. func (s FleetLaunchTemplateConfig) String() string {
  40485. return awsutil.Prettify(s)
  40486. }
  40487. // GoString returns the string representation
  40488. func (s FleetLaunchTemplateConfig) GoString() string {
  40489. return s.String()
  40490. }
  40491. // SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
  40492. func (s *FleetLaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *FleetLaunchTemplateConfig {
  40493. s.LaunchTemplateSpecification = v
  40494. return s
  40495. }
  40496. // SetOverrides sets the Overrides field's value.
  40497. func (s *FleetLaunchTemplateConfig) SetOverrides(v []*FleetLaunchTemplateOverrides) *FleetLaunchTemplateConfig {
  40498. s.Overrides = v
  40499. return s
  40500. }
  40501. // Describes a launch template and overrides.
  40502. type FleetLaunchTemplateConfigRequest struct {
  40503. _ struct{} `type:"structure"`
  40504. // The launch template to use. You must specify either the launch template ID
  40505. // or launch template name in the request.
  40506. LaunchTemplateSpecification *FleetLaunchTemplateSpecificationRequest `type:"structure"`
  40507. // Any parameters that you specify override the same parameters in the launch
  40508. // template.
  40509. Overrides []*FleetLaunchTemplateOverridesRequest `locationNameList:"item" type:"list"`
  40510. }
  40511. // String returns the string representation
  40512. func (s FleetLaunchTemplateConfigRequest) String() string {
  40513. return awsutil.Prettify(s)
  40514. }
  40515. // GoString returns the string representation
  40516. func (s FleetLaunchTemplateConfigRequest) GoString() string {
  40517. return s.String()
  40518. }
  40519. // Validate inspects the fields of the type to determine if they are valid.
  40520. func (s *FleetLaunchTemplateConfigRequest) Validate() error {
  40521. invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateConfigRequest"}
  40522. if s.LaunchTemplateSpecification != nil {
  40523. if err := s.LaunchTemplateSpecification.Validate(); err != nil {
  40524. invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
  40525. }
  40526. }
  40527. if invalidParams.Len() > 0 {
  40528. return invalidParams
  40529. }
  40530. return nil
  40531. }
  40532. // SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
  40533. func (s *FleetLaunchTemplateConfigRequest) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecificationRequest) *FleetLaunchTemplateConfigRequest {
  40534. s.LaunchTemplateSpecification = v
  40535. return s
  40536. }
  40537. // SetOverrides sets the Overrides field's value.
  40538. func (s *FleetLaunchTemplateConfigRequest) SetOverrides(v []*FleetLaunchTemplateOverridesRequest) *FleetLaunchTemplateConfigRequest {
  40539. s.Overrides = v
  40540. return s
  40541. }
  40542. // Describes overrides for a launch template.
  40543. type FleetLaunchTemplateOverrides struct {
  40544. _ struct{} `type:"structure"`
  40545. // The Availability Zone in which to launch the instances.
  40546. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  40547. // The instance type.
  40548. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  40549. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  40550. MaxPrice *string `locationName:"maxPrice" type:"string"`
  40551. // The ID of the subnet in which to launch the instances.
  40552. SubnetId *string `locationName:"subnetId" type:"string"`
  40553. // The number of units provided by the specified instance type.
  40554. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  40555. }
  40556. // String returns the string representation
  40557. func (s FleetLaunchTemplateOverrides) String() string {
  40558. return awsutil.Prettify(s)
  40559. }
  40560. // GoString returns the string representation
  40561. func (s FleetLaunchTemplateOverrides) GoString() string {
  40562. return s.String()
  40563. }
  40564. // SetAvailabilityZone sets the AvailabilityZone field's value.
  40565. func (s *FleetLaunchTemplateOverrides) SetAvailabilityZone(v string) *FleetLaunchTemplateOverrides {
  40566. s.AvailabilityZone = &v
  40567. return s
  40568. }
  40569. // SetInstanceType sets the InstanceType field's value.
  40570. func (s *FleetLaunchTemplateOverrides) SetInstanceType(v string) *FleetLaunchTemplateOverrides {
  40571. s.InstanceType = &v
  40572. return s
  40573. }
  40574. // SetMaxPrice sets the MaxPrice field's value.
  40575. func (s *FleetLaunchTemplateOverrides) SetMaxPrice(v string) *FleetLaunchTemplateOverrides {
  40576. s.MaxPrice = &v
  40577. return s
  40578. }
  40579. // SetSubnetId sets the SubnetId field's value.
  40580. func (s *FleetLaunchTemplateOverrides) SetSubnetId(v string) *FleetLaunchTemplateOverrides {
  40581. s.SubnetId = &v
  40582. return s
  40583. }
  40584. // SetWeightedCapacity sets the WeightedCapacity field's value.
  40585. func (s *FleetLaunchTemplateOverrides) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverrides {
  40586. s.WeightedCapacity = &v
  40587. return s
  40588. }
  40589. // Describes overrides for a launch template.
  40590. type FleetLaunchTemplateOverridesRequest struct {
  40591. _ struct{} `type:"structure"`
  40592. // The Availability Zone in which to launch the instances.
  40593. AvailabilityZone *string `type:"string"`
  40594. // The instance type.
  40595. InstanceType *string `type:"string" enum:"InstanceType"`
  40596. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  40597. MaxPrice *string `type:"string"`
  40598. // The ID of the subnet in which to launch the instances.
  40599. SubnetId *string `type:"string"`
  40600. // The number of units provided by the specified instance type.
  40601. WeightedCapacity *float64 `type:"double"`
  40602. }
  40603. // String returns the string representation
  40604. func (s FleetLaunchTemplateOverridesRequest) String() string {
  40605. return awsutil.Prettify(s)
  40606. }
  40607. // GoString returns the string representation
  40608. func (s FleetLaunchTemplateOverridesRequest) GoString() string {
  40609. return s.String()
  40610. }
  40611. // SetAvailabilityZone sets the AvailabilityZone field's value.
  40612. func (s *FleetLaunchTemplateOverridesRequest) SetAvailabilityZone(v string) *FleetLaunchTemplateOverridesRequest {
  40613. s.AvailabilityZone = &v
  40614. return s
  40615. }
  40616. // SetInstanceType sets the InstanceType field's value.
  40617. func (s *FleetLaunchTemplateOverridesRequest) SetInstanceType(v string) *FleetLaunchTemplateOverridesRequest {
  40618. s.InstanceType = &v
  40619. return s
  40620. }
  40621. // SetMaxPrice sets the MaxPrice field's value.
  40622. func (s *FleetLaunchTemplateOverridesRequest) SetMaxPrice(v string) *FleetLaunchTemplateOverridesRequest {
  40623. s.MaxPrice = &v
  40624. return s
  40625. }
  40626. // SetSubnetId sets the SubnetId field's value.
  40627. func (s *FleetLaunchTemplateOverridesRequest) SetSubnetId(v string) *FleetLaunchTemplateOverridesRequest {
  40628. s.SubnetId = &v
  40629. return s
  40630. }
  40631. // SetWeightedCapacity sets the WeightedCapacity field's value.
  40632. func (s *FleetLaunchTemplateOverridesRequest) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverridesRequest {
  40633. s.WeightedCapacity = &v
  40634. return s
  40635. }
  40636. // Describes a launch template.
  40637. type FleetLaunchTemplateSpecification struct {
  40638. _ struct{} `type:"structure"`
  40639. // The ID of the launch template. You must specify either a template ID or a
  40640. // template name.
  40641. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  40642. // The name of the launch template. You must specify either a template name
  40643. // or a template ID.
  40644. LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
  40645. // The version number. By default, the default version of the launch template
  40646. // is used.
  40647. Version *string `locationName:"version" type:"string"`
  40648. }
  40649. // String returns the string representation
  40650. func (s FleetLaunchTemplateSpecification) String() string {
  40651. return awsutil.Prettify(s)
  40652. }
  40653. // GoString returns the string representation
  40654. func (s FleetLaunchTemplateSpecification) GoString() string {
  40655. return s.String()
  40656. }
  40657. // Validate inspects the fields of the type to determine if they are valid.
  40658. func (s *FleetLaunchTemplateSpecification) Validate() error {
  40659. invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecification"}
  40660. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  40661. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  40662. }
  40663. if invalidParams.Len() > 0 {
  40664. return invalidParams
  40665. }
  40666. return nil
  40667. }
  40668. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  40669. func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecification {
  40670. s.LaunchTemplateId = &v
  40671. return s
  40672. }
  40673. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  40674. func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecification {
  40675. s.LaunchTemplateName = &v
  40676. return s
  40677. }
  40678. // SetVersion sets the Version field's value.
  40679. func (s *FleetLaunchTemplateSpecification) SetVersion(v string) *FleetLaunchTemplateSpecification {
  40680. s.Version = &v
  40681. return s
  40682. }
  40683. // The launch template to use. You must specify either the launch template ID
  40684. // or launch template name in the request.
  40685. type FleetLaunchTemplateSpecificationRequest struct {
  40686. _ struct{} `type:"structure"`
  40687. // The ID of the launch template.
  40688. LaunchTemplateId *string `type:"string"`
  40689. // The name of the launch template.
  40690. LaunchTemplateName *string `min:"3" type:"string"`
  40691. // The version number of the launch template.
  40692. Version *string `type:"string"`
  40693. }
  40694. // String returns the string representation
  40695. func (s FleetLaunchTemplateSpecificationRequest) String() string {
  40696. return awsutil.Prettify(s)
  40697. }
  40698. // GoString returns the string representation
  40699. func (s FleetLaunchTemplateSpecificationRequest) GoString() string {
  40700. return s.String()
  40701. }
  40702. // Validate inspects the fields of the type to determine if they are valid.
  40703. func (s *FleetLaunchTemplateSpecificationRequest) Validate() error {
  40704. invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecificationRequest"}
  40705. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  40706. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  40707. }
  40708. if invalidParams.Len() > 0 {
  40709. return invalidParams
  40710. }
  40711. return nil
  40712. }
  40713. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  40714. func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecificationRequest {
  40715. s.LaunchTemplateId = &v
  40716. return s
  40717. }
  40718. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  40719. func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecificationRequest {
  40720. s.LaunchTemplateName = &v
  40721. return s
  40722. }
  40723. // SetVersion sets the Version field's value.
  40724. func (s *FleetLaunchTemplateSpecificationRequest) SetVersion(v string) *FleetLaunchTemplateSpecificationRequest {
  40725. s.Version = &v
  40726. return s
  40727. }
  40728. // Describes a flow log.
  40729. type FlowLog struct {
  40730. _ struct{} `type:"structure"`
  40731. // The date and time the flow log was created.
  40732. CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
  40733. // Information about the error that occurred. Rate limited indicates that CloudWatch
  40734. // logs throttling has been applied for one or more network interfaces, or that
  40735. // you've reached the limit on the number of CloudWatch Logs log groups that
  40736. // you can create. Access error indicates that the IAM role associated with
  40737. // the flow log does not have sufficient permissions to publish to CloudWatch
  40738. // Logs. Unknown error indicates an internal error.
  40739. DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
  40740. // The ARN of the IAM role that posts logs to CloudWatch Logs.
  40741. DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
  40742. // The status of the logs delivery (SUCCESS | FAILED).
  40743. DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
  40744. // The flow log ID.
  40745. FlowLogId *string `locationName:"flowLogId" type:"string"`
  40746. // The status of the flow log (ACTIVE).
  40747. FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
  40748. // The name of the flow log group.
  40749. LogGroupName *string `locationName:"logGroupName" type:"string"`
  40750. // The ID of the resource on which the flow log was created.
  40751. ResourceId *string `locationName:"resourceId" type:"string"`
  40752. // The type of traffic captured for the flow log.
  40753. TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
  40754. }
  40755. // String returns the string representation
  40756. func (s FlowLog) String() string {
  40757. return awsutil.Prettify(s)
  40758. }
  40759. // GoString returns the string representation
  40760. func (s FlowLog) GoString() string {
  40761. return s.String()
  40762. }
  40763. // SetCreationTime sets the CreationTime field's value.
  40764. func (s *FlowLog) SetCreationTime(v time.Time) *FlowLog {
  40765. s.CreationTime = &v
  40766. return s
  40767. }
  40768. // SetDeliverLogsErrorMessage sets the DeliverLogsErrorMessage field's value.
  40769. func (s *FlowLog) SetDeliverLogsErrorMessage(v string) *FlowLog {
  40770. s.DeliverLogsErrorMessage = &v
  40771. return s
  40772. }
  40773. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  40774. func (s *FlowLog) SetDeliverLogsPermissionArn(v string) *FlowLog {
  40775. s.DeliverLogsPermissionArn = &v
  40776. return s
  40777. }
  40778. // SetDeliverLogsStatus sets the DeliverLogsStatus field's value.
  40779. func (s *FlowLog) SetDeliverLogsStatus(v string) *FlowLog {
  40780. s.DeliverLogsStatus = &v
  40781. return s
  40782. }
  40783. // SetFlowLogId sets the FlowLogId field's value.
  40784. func (s *FlowLog) SetFlowLogId(v string) *FlowLog {
  40785. s.FlowLogId = &v
  40786. return s
  40787. }
  40788. // SetFlowLogStatus sets the FlowLogStatus field's value.
  40789. func (s *FlowLog) SetFlowLogStatus(v string) *FlowLog {
  40790. s.FlowLogStatus = &v
  40791. return s
  40792. }
  40793. // SetLogGroupName sets the LogGroupName field's value.
  40794. func (s *FlowLog) SetLogGroupName(v string) *FlowLog {
  40795. s.LogGroupName = &v
  40796. return s
  40797. }
  40798. // SetResourceId sets the ResourceId field's value.
  40799. func (s *FlowLog) SetResourceId(v string) *FlowLog {
  40800. s.ResourceId = &v
  40801. return s
  40802. }
  40803. // SetTrafficType sets the TrafficType field's value.
  40804. func (s *FlowLog) SetTrafficType(v string) *FlowLog {
  40805. s.TrafficType = &v
  40806. return s
  40807. }
  40808. // Describes an Amazon FPGA image (AFI).
  40809. type FpgaImage struct {
  40810. _ struct{} `type:"structure"`
  40811. // The date and time the AFI was created.
  40812. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  40813. // The description of the AFI.
  40814. Description *string `locationName:"description" type:"string"`
  40815. // The global FPGA image identifier (AGFI ID).
  40816. FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
  40817. // The FPGA image identifier (AFI ID).
  40818. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  40819. // The name of the AFI.
  40820. Name *string `locationName:"name" type:"string"`
  40821. // The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.
  40822. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  40823. // The AWS account ID of the AFI owner.
  40824. OwnerId *string `locationName:"ownerId" type:"string"`
  40825. // Information about the PCI bus.
  40826. PciId *PciId `locationName:"pciId" type:"structure"`
  40827. // The product codes for the AFI.
  40828. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  40829. // Indicates whether the AFI is public.
  40830. Public *bool `locationName:"public" type:"boolean"`
  40831. // The version of the AWS Shell that was used to create the bitstream.
  40832. ShellVersion *string `locationName:"shellVersion" type:"string"`
  40833. // Information about the state of the AFI.
  40834. State *FpgaImageState `locationName:"state" type:"structure"`
  40835. // Any tags assigned to the AFI.
  40836. Tags []*Tag `locationName:"tags" locationNameList:"item" type:"list"`
  40837. // The time of the most recent update to the AFI.
  40838. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  40839. }
  40840. // String returns the string representation
  40841. func (s FpgaImage) String() string {
  40842. return awsutil.Prettify(s)
  40843. }
  40844. // GoString returns the string representation
  40845. func (s FpgaImage) GoString() string {
  40846. return s.String()
  40847. }
  40848. // SetCreateTime sets the CreateTime field's value.
  40849. func (s *FpgaImage) SetCreateTime(v time.Time) *FpgaImage {
  40850. s.CreateTime = &v
  40851. return s
  40852. }
  40853. // SetDescription sets the Description field's value.
  40854. func (s *FpgaImage) SetDescription(v string) *FpgaImage {
  40855. s.Description = &v
  40856. return s
  40857. }
  40858. // SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
  40859. func (s *FpgaImage) SetFpgaImageGlobalId(v string) *FpgaImage {
  40860. s.FpgaImageGlobalId = &v
  40861. return s
  40862. }
  40863. // SetFpgaImageId sets the FpgaImageId field's value.
  40864. func (s *FpgaImage) SetFpgaImageId(v string) *FpgaImage {
  40865. s.FpgaImageId = &v
  40866. return s
  40867. }
  40868. // SetName sets the Name field's value.
  40869. func (s *FpgaImage) SetName(v string) *FpgaImage {
  40870. s.Name = &v
  40871. return s
  40872. }
  40873. // SetOwnerAlias sets the OwnerAlias field's value.
  40874. func (s *FpgaImage) SetOwnerAlias(v string) *FpgaImage {
  40875. s.OwnerAlias = &v
  40876. return s
  40877. }
  40878. // SetOwnerId sets the OwnerId field's value.
  40879. func (s *FpgaImage) SetOwnerId(v string) *FpgaImage {
  40880. s.OwnerId = &v
  40881. return s
  40882. }
  40883. // SetPciId sets the PciId field's value.
  40884. func (s *FpgaImage) SetPciId(v *PciId) *FpgaImage {
  40885. s.PciId = v
  40886. return s
  40887. }
  40888. // SetProductCodes sets the ProductCodes field's value.
  40889. func (s *FpgaImage) SetProductCodes(v []*ProductCode) *FpgaImage {
  40890. s.ProductCodes = v
  40891. return s
  40892. }
  40893. // SetPublic sets the Public field's value.
  40894. func (s *FpgaImage) SetPublic(v bool) *FpgaImage {
  40895. s.Public = &v
  40896. return s
  40897. }
  40898. // SetShellVersion sets the ShellVersion field's value.
  40899. func (s *FpgaImage) SetShellVersion(v string) *FpgaImage {
  40900. s.ShellVersion = &v
  40901. return s
  40902. }
  40903. // SetState sets the State field's value.
  40904. func (s *FpgaImage) SetState(v *FpgaImageState) *FpgaImage {
  40905. s.State = v
  40906. return s
  40907. }
  40908. // SetTags sets the Tags field's value.
  40909. func (s *FpgaImage) SetTags(v []*Tag) *FpgaImage {
  40910. s.Tags = v
  40911. return s
  40912. }
  40913. // SetUpdateTime sets the UpdateTime field's value.
  40914. func (s *FpgaImage) SetUpdateTime(v time.Time) *FpgaImage {
  40915. s.UpdateTime = &v
  40916. return s
  40917. }
  40918. // Describes an Amazon FPGA image (AFI) attribute.
  40919. type FpgaImageAttribute struct {
  40920. _ struct{} `type:"structure"`
  40921. // The description of the AFI.
  40922. Description *string `locationName:"description" type:"string"`
  40923. // The ID of the AFI.
  40924. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  40925. // One or more load permissions.
  40926. LoadPermissions []*LoadPermission `locationName:"loadPermissions" locationNameList:"item" type:"list"`
  40927. // The name of the AFI.
  40928. Name *string `locationName:"name" type:"string"`
  40929. // One or more product codes.
  40930. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  40931. }
  40932. // String returns the string representation
  40933. func (s FpgaImageAttribute) String() string {
  40934. return awsutil.Prettify(s)
  40935. }
  40936. // GoString returns the string representation
  40937. func (s FpgaImageAttribute) GoString() string {
  40938. return s.String()
  40939. }
  40940. // SetDescription sets the Description field's value.
  40941. func (s *FpgaImageAttribute) SetDescription(v string) *FpgaImageAttribute {
  40942. s.Description = &v
  40943. return s
  40944. }
  40945. // SetFpgaImageId sets the FpgaImageId field's value.
  40946. func (s *FpgaImageAttribute) SetFpgaImageId(v string) *FpgaImageAttribute {
  40947. s.FpgaImageId = &v
  40948. return s
  40949. }
  40950. // SetLoadPermissions sets the LoadPermissions field's value.
  40951. func (s *FpgaImageAttribute) SetLoadPermissions(v []*LoadPermission) *FpgaImageAttribute {
  40952. s.LoadPermissions = v
  40953. return s
  40954. }
  40955. // SetName sets the Name field's value.
  40956. func (s *FpgaImageAttribute) SetName(v string) *FpgaImageAttribute {
  40957. s.Name = &v
  40958. return s
  40959. }
  40960. // SetProductCodes sets the ProductCodes field's value.
  40961. func (s *FpgaImageAttribute) SetProductCodes(v []*ProductCode) *FpgaImageAttribute {
  40962. s.ProductCodes = v
  40963. return s
  40964. }
  40965. // Describes the state of the bitstream generation process for an Amazon FPGA
  40966. // image (AFI).
  40967. type FpgaImageState struct {
  40968. _ struct{} `type:"structure"`
  40969. // The state. The following are the possible values:
  40970. //
  40971. // * pending - AFI bitstream generation is in progress.
  40972. //
  40973. // * available - The AFI is available for use.
  40974. //
  40975. // * failed - AFI bitstream generation failed.
  40976. //
  40977. // * unavailable - The AFI is no longer available for use.
  40978. Code *string `locationName:"code" type:"string" enum:"FpgaImageStateCode"`
  40979. // If the state is failed, this is the error message.
  40980. Message *string `locationName:"message" type:"string"`
  40981. }
  40982. // String returns the string representation
  40983. func (s FpgaImageState) String() string {
  40984. return awsutil.Prettify(s)
  40985. }
  40986. // GoString returns the string representation
  40987. func (s FpgaImageState) GoString() string {
  40988. return s.String()
  40989. }
  40990. // SetCode sets the Code field's value.
  40991. func (s *FpgaImageState) SetCode(v string) *FpgaImageState {
  40992. s.Code = &v
  40993. return s
  40994. }
  40995. // SetMessage sets the Message field's value.
  40996. func (s *FpgaImageState) SetMessage(v string) *FpgaImageState {
  40997. s.Message = &v
  40998. return s
  40999. }
  41000. // Contains the parameters for GetConsoleOutput.
  41001. type GetConsoleOutputInput struct {
  41002. _ struct{} `type:"structure"`
  41003. // Checks whether you have the required permissions for the action, without
  41004. // actually making the request, and provides an error response. If you have
  41005. // the required permissions, the error response is DryRunOperation. Otherwise,
  41006. // it is UnauthorizedOperation.
  41007. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41008. // The ID of the instance.
  41009. //
  41010. // InstanceId is a required field
  41011. InstanceId *string `type:"string" required:"true"`
  41012. // When enabled, retrieves the latest console output for the instance.
  41013. //
  41014. // Default: disabled (false)
  41015. Latest *bool `type:"boolean"`
  41016. }
  41017. // String returns the string representation
  41018. func (s GetConsoleOutputInput) String() string {
  41019. return awsutil.Prettify(s)
  41020. }
  41021. // GoString returns the string representation
  41022. func (s GetConsoleOutputInput) GoString() string {
  41023. return s.String()
  41024. }
  41025. // Validate inspects the fields of the type to determine if they are valid.
  41026. func (s *GetConsoleOutputInput) Validate() error {
  41027. invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
  41028. if s.InstanceId == nil {
  41029. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  41030. }
  41031. if invalidParams.Len() > 0 {
  41032. return invalidParams
  41033. }
  41034. return nil
  41035. }
  41036. // SetDryRun sets the DryRun field's value.
  41037. func (s *GetConsoleOutputInput) SetDryRun(v bool) *GetConsoleOutputInput {
  41038. s.DryRun = &v
  41039. return s
  41040. }
  41041. // SetInstanceId sets the InstanceId field's value.
  41042. func (s *GetConsoleOutputInput) SetInstanceId(v string) *GetConsoleOutputInput {
  41043. s.InstanceId = &v
  41044. return s
  41045. }
  41046. // SetLatest sets the Latest field's value.
  41047. func (s *GetConsoleOutputInput) SetLatest(v bool) *GetConsoleOutputInput {
  41048. s.Latest = &v
  41049. return s
  41050. }
  41051. // Contains the output of GetConsoleOutput.
  41052. type GetConsoleOutputOutput struct {
  41053. _ struct{} `type:"structure"`
  41054. // The ID of the instance.
  41055. InstanceId *string `locationName:"instanceId" type:"string"`
  41056. // The console output, base64-encoded. If you are using a command line tool,
  41057. // the tool decodes the output for you.
  41058. Output *string `locationName:"output" type:"string"`
  41059. // The time at which the output was last updated.
  41060. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  41061. }
  41062. // String returns the string representation
  41063. func (s GetConsoleOutputOutput) String() string {
  41064. return awsutil.Prettify(s)
  41065. }
  41066. // GoString returns the string representation
  41067. func (s GetConsoleOutputOutput) GoString() string {
  41068. return s.String()
  41069. }
  41070. // SetInstanceId sets the InstanceId field's value.
  41071. func (s *GetConsoleOutputOutput) SetInstanceId(v string) *GetConsoleOutputOutput {
  41072. s.InstanceId = &v
  41073. return s
  41074. }
  41075. // SetOutput sets the Output field's value.
  41076. func (s *GetConsoleOutputOutput) SetOutput(v string) *GetConsoleOutputOutput {
  41077. s.Output = &v
  41078. return s
  41079. }
  41080. // SetTimestamp sets the Timestamp field's value.
  41081. func (s *GetConsoleOutputOutput) SetTimestamp(v time.Time) *GetConsoleOutputOutput {
  41082. s.Timestamp = &v
  41083. return s
  41084. }
  41085. // Contains the parameters for the request.
  41086. type GetConsoleScreenshotInput struct {
  41087. _ struct{} `type:"structure"`
  41088. // Checks whether you have the required permissions for the action, without
  41089. // actually making the request, and provides an error response. If you have
  41090. // the required permissions, the error response is DryRunOperation. Otherwise,
  41091. // it is UnauthorizedOperation.
  41092. DryRun *bool `type:"boolean"`
  41093. // The ID of the instance.
  41094. //
  41095. // InstanceId is a required field
  41096. InstanceId *string `type:"string" required:"true"`
  41097. // When set to true, acts as keystroke input and wakes up an instance that's
  41098. // in standby or "sleep" mode.
  41099. WakeUp *bool `type:"boolean"`
  41100. }
  41101. // String returns the string representation
  41102. func (s GetConsoleScreenshotInput) String() string {
  41103. return awsutil.Prettify(s)
  41104. }
  41105. // GoString returns the string representation
  41106. func (s GetConsoleScreenshotInput) GoString() string {
  41107. return s.String()
  41108. }
  41109. // Validate inspects the fields of the type to determine if they are valid.
  41110. func (s *GetConsoleScreenshotInput) Validate() error {
  41111. invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
  41112. if s.InstanceId == nil {
  41113. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  41114. }
  41115. if invalidParams.Len() > 0 {
  41116. return invalidParams
  41117. }
  41118. return nil
  41119. }
  41120. // SetDryRun sets the DryRun field's value.
  41121. func (s *GetConsoleScreenshotInput) SetDryRun(v bool) *GetConsoleScreenshotInput {
  41122. s.DryRun = &v
  41123. return s
  41124. }
  41125. // SetInstanceId sets the InstanceId field's value.
  41126. func (s *GetConsoleScreenshotInput) SetInstanceId(v string) *GetConsoleScreenshotInput {
  41127. s.InstanceId = &v
  41128. return s
  41129. }
  41130. // SetWakeUp sets the WakeUp field's value.
  41131. func (s *GetConsoleScreenshotInput) SetWakeUp(v bool) *GetConsoleScreenshotInput {
  41132. s.WakeUp = &v
  41133. return s
  41134. }
  41135. // Contains the output of the request.
  41136. type GetConsoleScreenshotOutput struct {
  41137. _ struct{} `type:"structure"`
  41138. // The data that comprises the image.
  41139. ImageData *string `locationName:"imageData" type:"string"`
  41140. // The ID of the instance.
  41141. InstanceId *string `locationName:"instanceId" type:"string"`
  41142. }
  41143. // String returns the string representation
  41144. func (s GetConsoleScreenshotOutput) String() string {
  41145. return awsutil.Prettify(s)
  41146. }
  41147. // GoString returns the string representation
  41148. func (s GetConsoleScreenshotOutput) GoString() string {
  41149. return s.String()
  41150. }
  41151. // SetImageData sets the ImageData field's value.
  41152. func (s *GetConsoleScreenshotOutput) SetImageData(v string) *GetConsoleScreenshotOutput {
  41153. s.ImageData = &v
  41154. return s
  41155. }
  41156. // SetInstanceId sets the InstanceId field's value.
  41157. func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreenshotOutput {
  41158. s.InstanceId = &v
  41159. return s
  41160. }
  41161. type GetHostReservationPurchasePreviewInput struct {
  41162. _ struct{} `type:"structure"`
  41163. // The ID/s of the Dedicated Host/s that the reservation will be associated
  41164. // with.
  41165. //
  41166. // HostIdSet is a required field
  41167. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  41168. // The offering ID of the reservation.
  41169. //
  41170. // OfferingId is a required field
  41171. OfferingId *string `type:"string" required:"true"`
  41172. }
  41173. // String returns the string representation
  41174. func (s GetHostReservationPurchasePreviewInput) String() string {
  41175. return awsutil.Prettify(s)
  41176. }
  41177. // GoString returns the string representation
  41178. func (s GetHostReservationPurchasePreviewInput) GoString() string {
  41179. return s.String()
  41180. }
  41181. // Validate inspects the fields of the type to determine if they are valid.
  41182. func (s *GetHostReservationPurchasePreviewInput) Validate() error {
  41183. invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
  41184. if s.HostIdSet == nil {
  41185. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  41186. }
  41187. if s.OfferingId == nil {
  41188. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  41189. }
  41190. if invalidParams.Len() > 0 {
  41191. return invalidParams
  41192. }
  41193. return nil
  41194. }
  41195. // SetHostIdSet sets the HostIdSet field's value.
  41196. func (s *GetHostReservationPurchasePreviewInput) SetHostIdSet(v []*string) *GetHostReservationPurchasePreviewInput {
  41197. s.HostIdSet = v
  41198. return s
  41199. }
  41200. // SetOfferingId sets the OfferingId field's value.
  41201. func (s *GetHostReservationPurchasePreviewInput) SetOfferingId(v string) *GetHostReservationPurchasePreviewInput {
  41202. s.OfferingId = &v
  41203. return s
  41204. }
  41205. type GetHostReservationPurchasePreviewOutput struct {
  41206. _ struct{} `type:"structure"`
  41207. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  41208. // are specified. At this time, the only supported currency is USD.
  41209. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  41210. // The purchase information of the Dedicated Host Reservation and the Dedicated
  41211. // Hosts associated with it.
  41212. Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
  41213. // The potential total hourly price of the reservation per hour.
  41214. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  41215. // The potential total upfront price. This is billed immediately.
  41216. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  41217. }
  41218. // String returns the string representation
  41219. func (s GetHostReservationPurchasePreviewOutput) String() string {
  41220. return awsutil.Prettify(s)
  41221. }
  41222. // GoString returns the string representation
  41223. func (s GetHostReservationPurchasePreviewOutput) GoString() string {
  41224. return s.String()
  41225. }
  41226. // SetCurrencyCode sets the CurrencyCode field's value.
  41227. func (s *GetHostReservationPurchasePreviewOutput) SetCurrencyCode(v string) *GetHostReservationPurchasePreviewOutput {
  41228. s.CurrencyCode = &v
  41229. return s
  41230. }
  41231. // SetPurchase sets the Purchase field's value.
  41232. func (s *GetHostReservationPurchasePreviewOutput) SetPurchase(v []*Purchase) *GetHostReservationPurchasePreviewOutput {
  41233. s.Purchase = v
  41234. return s
  41235. }
  41236. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  41237. func (s *GetHostReservationPurchasePreviewOutput) SetTotalHourlyPrice(v string) *GetHostReservationPurchasePreviewOutput {
  41238. s.TotalHourlyPrice = &v
  41239. return s
  41240. }
  41241. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  41242. func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) *GetHostReservationPurchasePreviewOutput {
  41243. s.TotalUpfrontPrice = &v
  41244. return s
  41245. }
  41246. type GetLaunchTemplateDataInput struct {
  41247. _ struct{} `type:"structure"`
  41248. // Checks whether you have the required permissions for the action, without
  41249. // actually making the request, and provides an error response. If you have
  41250. // the required permissions, the error response is DryRunOperation. Otherwise,
  41251. // it is UnauthorizedOperation.
  41252. DryRun *bool `type:"boolean"`
  41253. // The ID of the instance.
  41254. //
  41255. // InstanceId is a required field
  41256. InstanceId *string `type:"string" required:"true"`
  41257. }
  41258. // String returns the string representation
  41259. func (s GetLaunchTemplateDataInput) String() string {
  41260. return awsutil.Prettify(s)
  41261. }
  41262. // GoString returns the string representation
  41263. func (s GetLaunchTemplateDataInput) GoString() string {
  41264. return s.String()
  41265. }
  41266. // Validate inspects the fields of the type to determine if they are valid.
  41267. func (s *GetLaunchTemplateDataInput) Validate() error {
  41268. invalidParams := request.ErrInvalidParams{Context: "GetLaunchTemplateDataInput"}
  41269. if s.InstanceId == nil {
  41270. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  41271. }
  41272. if invalidParams.Len() > 0 {
  41273. return invalidParams
  41274. }
  41275. return nil
  41276. }
  41277. // SetDryRun sets the DryRun field's value.
  41278. func (s *GetLaunchTemplateDataInput) SetDryRun(v bool) *GetLaunchTemplateDataInput {
  41279. s.DryRun = &v
  41280. return s
  41281. }
  41282. // SetInstanceId sets the InstanceId field's value.
  41283. func (s *GetLaunchTemplateDataInput) SetInstanceId(v string) *GetLaunchTemplateDataInput {
  41284. s.InstanceId = &v
  41285. return s
  41286. }
  41287. type GetLaunchTemplateDataOutput struct {
  41288. _ struct{} `type:"structure"`
  41289. // The instance data.
  41290. LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
  41291. }
  41292. // String returns the string representation
  41293. func (s GetLaunchTemplateDataOutput) String() string {
  41294. return awsutil.Prettify(s)
  41295. }
  41296. // GoString returns the string representation
  41297. func (s GetLaunchTemplateDataOutput) GoString() string {
  41298. return s.String()
  41299. }
  41300. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  41301. func (s *GetLaunchTemplateDataOutput) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *GetLaunchTemplateDataOutput {
  41302. s.LaunchTemplateData = v
  41303. return s
  41304. }
  41305. // Contains the parameters for GetPasswordData.
  41306. type GetPasswordDataInput struct {
  41307. _ struct{} `type:"structure"`
  41308. // Checks whether you have the required permissions for the action, without
  41309. // actually making the request, and provides an error response. If you have
  41310. // the required permissions, the error response is DryRunOperation. Otherwise,
  41311. // it is UnauthorizedOperation.
  41312. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41313. // The ID of the Windows instance.
  41314. //
  41315. // InstanceId is a required field
  41316. InstanceId *string `type:"string" required:"true"`
  41317. }
  41318. // String returns the string representation
  41319. func (s GetPasswordDataInput) String() string {
  41320. return awsutil.Prettify(s)
  41321. }
  41322. // GoString returns the string representation
  41323. func (s GetPasswordDataInput) GoString() string {
  41324. return s.String()
  41325. }
  41326. // Validate inspects the fields of the type to determine if they are valid.
  41327. func (s *GetPasswordDataInput) Validate() error {
  41328. invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
  41329. if s.InstanceId == nil {
  41330. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  41331. }
  41332. if invalidParams.Len() > 0 {
  41333. return invalidParams
  41334. }
  41335. return nil
  41336. }
  41337. // SetDryRun sets the DryRun field's value.
  41338. func (s *GetPasswordDataInput) SetDryRun(v bool) *GetPasswordDataInput {
  41339. s.DryRun = &v
  41340. return s
  41341. }
  41342. // SetInstanceId sets the InstanceId field's value.
  41343. func (s *GetPasswordDataInput) SetInstanceId(v string) *GetPasswordDataInput {
  41344. s.InstanceId = &v
  41345. return s
  41346. }
  41347. // Contains the output of GetPasswordData.
  41348. type GetPasswordDataOutput struct {
  41349. _ struct{} `type:"structure"`
  41350. // The ID of the Windows instance.
  41351. InstanceId *string `locationName:"instanceId" type:"string"`
  41352. // The password of the instance. Returns an empty string if the password is
  41353. // not available.
  41354. PasswordData *string `locationName:"passwordData" type:"string"`
  41355. // The time the data was last updated.
  41356. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  41357. }
  41358. // String returns the string representation
  41359. func (s GetPasswordDataOutput) String() string {
  41360. return awsutil.Prettify(s)
  41361. }
  41362. // GoString returns the string representation
  41363. func (s GetPasswordDataOutput) GoString() string {
  41364. return s.String()
  41365. }
  41366. // SetInstanceId sets the InstanceId field's value.
  41367. func (s *GetPasswordDataOutput) SetInstanceId(v string) *GetPasswordDataOutput {
  41368. s.InstanceId = &v
  41369. return s
  41370. }
  41371. // SetPasswordData sets the PasswordData field's value.
  41372. func (s *GetPasswordDataOutput) SetPasswordData(v string) *GetPasswordDataOutput {
  41373. s.PasswordData = &v
  41374. return s
  41375. }
  41376. // SetTimestamp sets the Timestamp field's value.
  41377. func (s *GetPasswordDataOutput) SetTimestamp(v time.Time) *GetPasswordDataOutput {
  41378. s.Timestamp = &v
  41379. return s
  41380. }
  41381. // Contains the parameters for GetReservedInstanceExchangeQuote.
  41382. type GetReservedInstancesExchangeQuoteInput struct {
  41383. _ struct{} `type:"structure"`
  41384. // Checks whether you have the required permissions for the action, without
  41385. // actually making the request, and provides an error response. If you have
  41386. // the required permissions, the error response is DryRunOperation. Otherwise,
  41387. // it is UnauthorizedOperation.
  41388. DryRun *bool `type:"boolean"`
  41389. // The IDs of the Convertible Reserved Instances to exchange.
  41390. //
  41391. // ReservedInstanceIds is a required field
  41392. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  41393. // The configuration of the target Convertible Reserved Instance to exchange
  41394. // for your current Convertible Reserved Instances.
  41395. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  41396. }
  41397. // String returns the string representation
  41398. func (s GetReservedInstancesExchangeQuoteInput) String() string {
  41399. return awsutil.Prettify(s)
  41400. }
  41401. // GoString returns the string representation
  41402. func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
  41403. return s.String()
  41404. }
  41405. // Validate inspects the fields of the type to determine if they are valid.
  41406. func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
  41407. invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
  41408. if s.ReservedInstanceIds == nil {
  41409. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  41410. }
  41411. if s.TargetConfigurations != nil {
  41412. for i, v := range s.TargetConfigurations {
  41413. if v == nil {
  41414. continue
  41415. }
  41416. if err := v.Validate(); err != nil {
  41417. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  41418. }
  41419. }
  41420. }
  41421. if invalidParams.Len() > 0 {
  41422. return invalidParams
  41423. }
  41424. return nil
  41425. }
  41426. // SetDryRun sets the DryRun field's value.
  41427. func (s *GetReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *GetReservedInstancesExchangeQuoteInput {
  41428. s.DryRun = &v
  41429. return s
  41430. }
  41431. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  41432. func (s *GetReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *GetReservedInstancesExchangeQuoteInput {
  41433. s.ReservedInstanceIds = v
  41434. return s
  41435. }
  41436. // SetTargetConfigurations sets the TargetConfigurations field's value.
  41437. func (s *GetReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *GetReservedInstancesExchangeQuoteInput {
  41438. s.TargetConfigurations = v
  41439. return s
  41440. }
  41441. // Contains the output of GetReservedInstancesExchangeQuote.
  41442. type GetReservedInstancesExchangeQuoteOutput struct {
  41443. _ struct{} `type:"structure"`
  41444. // The currency of the transaction.
  41445. CurrencyCode *string `locationName:"currencyCode" type:"string"`
  41446. // If true, the exchange is valid. If false, the exchange cannot be completed.
  41447. IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
  41448. // The new end date of the reservation term.
  41449. OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp" timestampFormat:"iso8601"`
  41450. // The total true upfront charge for the exchange.
  41451. PaymentDue *string `locationName:"paymentDue" type:"string"`
  41452. // The cost associated with the Reserved Instance.
  41453. ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
  41454. // The configuration of your Convertible Reserved Instances.
  41455. ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
  41456. // The cost associated with the Reserved Instance.
  41457. TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
  41458. // The values of the target Convertible Reserved Instances.
  41459. TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
  41460. // Describes the reason why the exchange cannot be completed.
  41461. ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
  41462. }
  41463. // String returns the string representation
  41464. func (s GetReservedInstancesExchangeQuoteOutput) String() string {
  41465. return awsutil.Prettify(s)
  41466. }
  41467. // GoString returns the string representation
  41468. func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
  41469. return s.String()
  41470. }
  41471. // SetCurrencyCode sets the CurrencyCode field's value.
  41472. func (s *GetReservedInstancesExchangeQuoteOutput) SetCurrencyCode(v string) *GetReservedInstancesExchangeQuoteOutput {
  41473. s.CurrencyCode = &v
  41474. return s
  41475. }
  41476. // SetIsValidExchange sets the IsValidExchange field's value.
  41477. func (s *GetReservedInstancesExchangeQuoteOutput) SetIsValidExchange(v bool) *GetReservedInstancesExchangeQuoteOutput {
  41478. s.IsValidExchange = &v
  41479. return s
  41480. }
  41481. // SetOutputReservedInstancesWillExpireAt sets the OutputReservedInstancesWillExpireAt field's value.
  41482. func (s *GetReservedInstancesExchangeQuoteOutput) SetOutputReservedInstancesWillExpireAt(v time.Time) *GetReservedInstancesExchangeQuoteOutput {
  41483. s.OutputReservedInstancesWillExpireAt = &v
  41484. return s
  41485. }
  41486. // SetPaymentDue sets the PaymentDue field's value.
  41487. func (s *GetReservedInstancesExchangeQuoteOutput) SetPaymentDue(v string) *GetReservedInstancesExchangeQuoteOutput {
  41488. s.PaymentDue = &v
  41489. return s
  41490. }
  41491. // SetReservedInstanceValueRollup sets the ReservedInstanceValueRollup field's value.
  41492. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  41493. s.ReservedInstanceValueRollup = v
  41494. return s
  41495. }
  41496. // SetReservedInstanceValueSet sets the ReservedInstanceValueSet field's value.
  41497. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueSet(v []*ReservedInstanceReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  41498. s.ReservedInstanceValueSet = v
  41499. return s
  41500. }
  41501. // SetTargetConfigurationValueRollup sets the TargetConfigurationValueRollup field's value.
  41502. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  41503. s.TargetConfigurationValueRollup = v
  41504. return s
  41505. }
  41506. // SetTargetConfigurationValueSet sets the TargetConfigurationValueSet field's value.
  41507. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueSet(v []*TargetReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  41508. s.TargetConfigurationValueSet = v
  41509. return s
  41510. }
  41511. // SetValidationFailureReason sets the ValidationFailureReason field's value.
  41512. func (s *GetReservedInstancesExchangeQuoteOutput) SetValidationFailureReason(v string) *GetReservedInstancesExchangeQuoteOutput {
  41513. s.ValidationFailureReason = &v
  41514. return s
  41515. }
  41516. // Describes a security group.
  41517. type GroupIdentifier struct {
  41518. _ struct{} `type:"structure"`
  41519. // The ID of the security group.
  41520. GroupId *string `locationName:"groupId" type:"string"`
  41521. // The name of the security group.
  41522. GroupName *string `locationName:"groupName" type:"string"`
  41523. }
  41524. // String returns the string representation
  41525. func (s GroupIdentifier) String() string {
  41526. return awsutil.Prettify(s)
  41527. }
  41528. // GoString returns the string representation
  41529. func (s GroupIdentifier) GoString() string {
  41530. return s.String()
  41531. }
  41532. // SetGroupId sets the GroupId field's value.
  41533. func (s *GroupIdentifier) SetGroupId(v string) *GroupIdentifier {
  41534. s.GroupId = &v
  41535. return s
  41536. }
  41537. // SetGroupName sets the GroupName field's value.
  41538. func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier {
  41539. s.GroupName = &v
  41540. return s
  41541. }
  41542. // Describes an event in the history of the Spot Fleet request.
  41543. type HistoryRecord struct {
  41544. _ struct{} `type:"structure"`
  41545. // Information about the event.
  41546. //
  41547. // EventInformation is a required field
  41548. EventInformation *EventInformation `locationName:"eventInformation" type:"structure" required:"true"`
  41549. // The event type.
  41550. //
  41551. // * error - An error with the Spot Fleet request.
  41552. //
  41553. // * fleetRequestChange - A change in the status or configuration of the
  41554. // Spot Fleet request.
  41555. //
  41556. // * instanceChange - An instance was launched or terminated.
  41557. //
  41558. // * Information - An informational event.
  41559. //
  41560. // EventType is a required field
  41561. EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"`
  41562. // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  41563. //
  41564. // Timestamp is a required field
  41565. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  41566. }
  41567. // String returns the string representation
  41568. func (s HistoryRecord) String() string {
  41569. return awsutil.Prettify(s)
  41570. }
  41571. // GoString returns the string representation
  41572. func (s HistoryRecord) GoString() string {
  41573. return s.String()
  41574. }
  41575. // SetEventInformation sets the EventInformation field's value.
  41576. func (s *HistoryRecord) SetEventInformation(v *EventInformation) *HistoryRecord {
  41577. s.EventInformation = v
  41578. return s
  41579. }
  41580. // SetEventType sets the EventType field's value.
  41581. func (s *HistoryRecord) SetEventType(v string) *HistoryRecord {
  41582. s.EventType = &v
  41583. return s
  41584. }
  41585. // SetTimestamp sets the Timestamp field's value.
  41586. func (s *HistoryRecord) SetTimestamp(v time.Time) *HistoryRecord {
  41587. s.Timestamp = &v
  41588. return s
  41589. }
  41590. // Describes an event in the history of the EC2 Fleet.
  41591. type HistoryRecordEntry struct {
  41592. _ struct{} `type:"structure"`
  41593. // Information about the event.
  41594. EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
  41595. // The event type.
  41596. EventType *string `locationName:"eventType" type:"string" enum:"FleetEventType"`
  41597. // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  41598. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  41599. }
  41600. // String returns the string representation
  41601. func (s HistoryRecordEntry) String() string {
  41602. return awsutil.Prettify(s)
  41603. }
  41604. // GoString returns the string representation
  41605. func (s HistoryRecordEntry) GoString() string {
  41606. return s.String()
  41607. }
  41608. // SetEventInformation sets the EventInformation field's value.
  41609. func (s *HistoryRecordEntry) SetEventInformation(v *EventInformation) *HistoryRecordEntry {
  41610. s.EventInformation = v
  41611. return s
  41612. }
  41613. // SetEventType sets the EventType field's value.
  41614. func (s *HistoryRecordEntry) SetEventType(v string) *HistoryRecordEntry {
  41615. s.EventType = &v
  41616. return s
  41617. }
  41618. // SetTimestamp sets the Timestamp field's value.
  41619. func (s *HistoryRecordEntry) SetTimestamp(v time.Time) *HistoryRecordEntry {
  41620. s.Timestamp = &v
  41621. return s
  41622. }
  41623. // Describes the properties of the Dedicated Host.
  41624. type Host struct {
  41625. _ struct{} `type:"structure"`
  41626. // The time that the Dedicated Host was allocated.
  41627. AllocationTime *time.Time `locationName:"allocationTime" type:"timestamp" timestampFormat:"iso8601"`
  41628. // Whether auto-placement is on or off.
  41629. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  41630. // The Availability Zone of the Dedicated Host.
  41631. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  41632. // The number of new instances that can be launched onto the Dedicated Host.
  41633. AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"`
  41634. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  41635. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  41636. // in the Amazon Elastic Compute Cloud User Guide.
  41637. ClientToken *string `locationName:"clientToken" type:"string"`
  41638. // The ID of the Dedicated Host.
  41639. HostId *string `locationName:"hostId" type:"string"`
  41640. // The hardware specifications of the Dedicated Host.
  41641. HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
  41642. // The reservation ID of the Dedicated Host. This returns a null response if
  41643. // the Dedicated Host doesn't have an associated reservation.
  41644. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  41645. // The IDs and instance type that are currently running on the Dedicated Host.
  41646. Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
  41647. // The time that the Dedicated Host was released.
  41648. ReleaseTime *time.Time `locationName:"releaseTime" type:"timestamp" timestampFormat:"iso8601"`
  41649. // The Dedicated Host's state.
  41650. State *string `locationName:"state" type:"string" enum:"AllocationState"`
  41651. }
  41652. // String returns the string representation
  41653. func (s Host) String() string {
  41654. return awsutil.Prettify(s)
  41655. }
  41656. // GoString returns the string representation
  41657. func (s Host) GoString() string {
  41658. return s.String()
  41659. }
  41660. // SetAllocationTime sets the AllocationTime field's value.
  41661. func (s *Host) SetAllocationTime(v time.Time) *Host {
  41662. s.AllocationTime = &v
  41663. return s
  41664. }
  41665. // SetAutoPlacement sets the AutoPlacement field's value.
  41666. func (s *Host) SetAutoPlacement(v string) *Host {
  41667. s.AutoPlacement = &v
  41668. return s
  41669. }
  41670. // SetAvailabilityZone sets the AvailabilityZone field's value.
  41671. func (s *Host) SetAvailabilityZone(v string) *Host {
  41672. s.AvailabilityZone = &v
  41673. return s
  41674. }
  41675. // SetAvailableCapacity sets the AvailableCapacity field's value.
  41676. func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host {
  41677. s.AvailableCapacity = v
  41678. return s
  41679. }
  41680. // SetClientToken sets the ClientToken field's value.
  41681. func (s *Host) SetClientToken(v string) *Host {
  41682. s.ClientToken = &v
  41683. return s
  41684. }
  41685. // SetHostId sets the HostId field's value.
  41686. func (s *Host) SetHostId(v string) *Host {
  41687. s.HostId = &v
  41688. return s
  41689. }
  41690. // SetHostProperties sets the HostProperties field's value.
  41691. func (s *Host) SetHostProperties(v *HostProperties) *Host {
  41692. s.HostProperties = v
  41693. return s
  41694. }
  41695. // SetHostReservationId sets the HostReservationId field's value.
  41696. func (s *Host) SetHostReservationId(v string) *Host {
  41697. s.HostReservationId = &v
  41698. return s
  41699. }
  41700. // SetInstances sets the Instances field's value.
  41701. func (s *Host) SetInstances(v []*HostInstance) *Host {
  41702. s.Instances = v
  41703. return s
  41704. }
  41705. // SetReleaseTime sets the ReleaseTime field's value.
  41706. func (s *Host) SetReleaseTime(v time.Time) *Host {
  41707. s.ReleaseTime = &v
  41708. return s
  41709. }
  41710. // SetState sets the State field's value.
  41711. func (s *Host) SetState(v string) *Host {
  41712. s.State = &v
  41713. return s
  41714. }
  41715. // Describes an instance running on a Dedicated Host.
  41716. type HostInstance struct {
  41717. _ struct{} `type:"structure"`
  41718. // the IDs of instances that are running on the Dedicated Host.
  41719. InstanceId *string `locationName:"instanceId" type:"string"`
  41720. // The instance type size (for example, m3.medium) of the running instance.
  41721. InstanceType *string `locationName:"instanceType" type:"string"`
  41722. }
  41723. // String returns the string representation
  41724. func (s HostInstance) String() string {
  41725. return awsutil.Prettify(s)
  41726. }
  41727. // GoString returns the string representation
  41728. func (s HostInstance) GoString() string {
  41729. return s.String()
  41730. }
  41731. // SetInstanceId sets the InstanceId field's value.
  41732. func (s *HostInstance) SetInstanceId(v string) *HostInstance {
  41733. s.InstanceId = &v
  41734. return s
  41735. }
  41736. // SetInstanceType sets the InstanceType field's value.
  41737. func (s *HostInstance) SetInstanceType(v string) *HostInstance {
  41738. s.InstanceType = &v
  41739. return s
  41740. }
  41741. // Details about the Dedicated Host Reservation offering.
  41742. type HostOffering struct {
  41743. _ struct{} `type:"structure"`
  41744. // The currency of the offering.
  41745. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  41746. // The duration of the offering (in seconds).
  41747. Duration *int64 `locationName:"duration" type:"integer"`
  41748. // The hourly price of the offering.
  41749. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  41750. // The instance family of the offering.
  41751. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  41752. // The ID of the offering.
  41753. OfferingId *string `locationName:"offeringId" type:"string"`
  41754. // The available payment option.
  41755. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  41756. // The upfront price of the offering. Does not apply to No Upfront offerings.
  41757. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  41758. }
  41759. // String returns the string representation
  41760. func (s HostOffering) String() string {
  41761. return awsutil.Prettify(s)
  41762. }
  41763. // GoString returns the string representation
  41764. func (s HostOffering) GoString() string {
  41765. return s.String()
  41766. }
  41767. // SetCurrencyCode sets the CurrencyCode field's value.
  41768. func (s *HostOffering) SetCurrencyCode(v string) *HostOffering {
  41769. s.CurrencyCode = &v
  41770. return s
  41771. }
  41772. // SetDuration sets the Duration field's value.
  41773. func (s *HostOffering) SetDuration(v int64) *HostOffering {
  41774. s.Duration = &v
  41775. return s
  41776. }
  41777. // SetHourlyPrice sets the HourlyPrice field's value.
  41778. func (s *HostOffering) SetHourlyPrice(v string) *HostOffering {
  41779. s.HourlyPrice = &v
  41780. return s
  41781. }
  41782. // SetInstanceFamily sets the InstanceFamily field's value.
  41783. func (s *HostOffering) SetInstanceFamily(v string) *HostOffering {
  41784. s.InstanceFamily = &v
  41785. return s
  41786. }
  41787. // SetOfferingId sets the OfferingId field's value.
  41788. func (s *HostOffering) SetOfferingId(v string) *HostOffering {
  41789. s.OfferingId = &v
  41790. return s
  41791. }
  41792. // SetPaymentOption sets the PaymentOption field's value.
  41793. func (s *HostOffering) SetPaymentOption(v string) *HostOffering {
  41794. s.PaymentOption = &v
  41795. return s
  41796. }
  41797. // SetUpfrontPrice sets the UpfrontPrice field's value.
  41798. func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering {
  41799. s.UpfrontPrice = &v
  41800. return s
  41801. }
  41802. // Describes properties of a Dedicated Host.
  41803. type HostProperties struct {
  41804. _ struct{} `type:"structure"`
  41805. // The number of cores on the Dedicated Host.
  41806. Cores *int64 `locationName:"cores" type:"integer"`
  41807. // The instance type size that the Dedicated Host supports (for example, m3.medium).
  41808. InstanceType *string `locationName:"instanceType" type:"string"`
  41809. // The number of sockets on the Dedicated Host.
  41810. Sockets *int64 `locationName:"sockets" type:"integer"`
  41811. // The number of vCPUs on the Dedicated Host.
  41812. TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
  41813. }
  41814. // String returns the string representation
  41815. func (s HostProperties) String() string {
  41816. return awsutil.Prettify(s)
  41817. }
  41818. // GoString returns the string representation
  41819. func (s HostProperties) GoString() string {
  41820. return s.String()
  41821. }
  41822. // SetCores sets the Cores field's value.
  41823. func (s *HostProperties) SetCores(v int64) *HostProperties {
  41824. s.Cores = &v
  41825. return s
  41826. }
  41827. // SetInstanceType sets the InstanceType field's value.
  41828. func (s *HostProperties) SetInstanceType(v string) *HostProperties {
  41829. s.InstanceType = &v
  41830. return s
  41831. }
  41832. // SetSockets sets the Sockets field's value.
  41833. func (s *HostProperties) SetSockets(v int64) *HostProperties {
  41834. s.Sockets = &v
  41835. return s
  41836. }
  41837. // SetTotalVCpus sets the TotalVCpus field's value.
  41838. func (s *HostProperties) SetTotalVCpus(v int64) *HostProperties {
  41839. s.TotalVCpus = &v
  41840. return s
  41841. }
  41842. // Details about the Dedicated Host Reservation and associated Dedicated Hosts.
  41843. type HostReservation struct {
  41844. _ struct{} `type:"structure"`
  41845. // The number of Dedicated Hosts the reservation is associated with.
  41846. Count *int64 `locationName:"count" type:"integer"`
  41847. // The currency in which the upfrontPrice and hourlyPrice amounts are specified.
  41848. // At this time, the only supported currency is USD.
  41849. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  41850. // The length of the reservation's term, specified in seconds. Can be 31536000
  41851. // (1 year) | 94608000 (3 years).
  41852. Duration *int64 `locationName:"duration" type:"integer"`
  41853. // The date and time that the reservation ends.
  41854. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  41855. // The IDs of the Dedicated Hosts associated with the reservation.
  41856. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  41857. // The ID of the reservation that specifies the associated Dedicated Hosts.
  41858. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  41859. // The hourly price of the reservation.
  41860. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  41861. // The instance family of the Dedicated Host Reservation. The instance family
  41862. // on the Dedicated Host must be the same in order for it to benefit from the
  41863. // reservation.
  41864. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  41865. // The ID of the reservation. This remains the same regardless of which Dedicated
  41866. // Hosts are associated with it.
  41867. OfferingId *string `locationName:"offeringId" type:"string"`
  41868. // The payment option selected for this reservation.
  41869. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  41870. // The date and time that the reservation started.
  41871. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  41872. // The state of the reservation.
  41873. State *string `locationName:"state" type:"string" enum:"ReservationState"`
  41874. // The upfront price of the reservation.
  41875. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  41876. }
  41877. // String returns the string representation
  41878. func (s HostReservation) String() string {
  41879. return awsutil.Prettify(s)
  41880. }
  41881. // GoString returns the string representation
  41882. func (s HostReservation) GoString() string {
  41883. return s.String()
  41884. }
  41885. // SetCount sets the Count field's value.
  41886. func (s *HostReservation) SetCount(v int64) *HostReservation {
  41887. s.Count = &v
  41888. return s
  41889. }
  41890. // SetCurrencyCode sets the CurrencyCode field's value.
  41891. func (s *HostReservation) SetCurrencyCode(v string) *HostReservation {
  41892. s.CurrencyCode = &v
  41893. return s
  41894. }
  41895. // SetDuration sets the Duration field's value.
  41896. func (s *HostReservation) SetDuration(v int64) *HostReservation {
  41897. s.Duration = &v
  41898. return s
  41899. }
  41900. // SetEnd sets the End field's value.
  41901. func (s *HostReservation) SetEnd(v time.Time) *HostReservation {
  41902. s.End = &v
  41903. return s
  41904. }
  41905. // SetHostIdSet sets the HostIdSet field's value.
  41906. func (s *HostReservation) SetHostIdSet(v []*string) *HostReservation {
  41907. s.HostIdSet = v
  41908. return s
  41909. }
  41910. // SetHostReservationId sets the HostReservationId field's value.
  41911. func (s *HostReservation) SetHostReservationId(v string) *HostReservation {
  41912. s.HostReservationId = &v
  41913. return s
  41914. }
  41915. // SetHourlyPrice sets the HourlyPrice field's value.
  41916. func (s *HostReservation) SetHourlyPrice(v string) *HostReservation {
  41917. s.HourlyPrice = &v
  41918. return s
  41919. }
  41920. // SetInstanceFamily sets the InstanceFamily field's value.
  41921. func (s *HostReservation) SetInstanceFamily(v string) *HostReservation {
  41922. s.InstanceFamily = &v
  41923. return s
  41924. }
  41925. // SetOfferingId sets the OfferingId field's value.
  41926. func (s *HostReservation) SetOfferingId(v string) *HostReservation {
  41927. s.OfferingId = &v
  41928. return s
  41929. }
  41930. // SetPaymentOption sets the PaymentOption field's value.
  41931. func (s *HostReservation) SetPaymentOption(v string) *HostReservation {
  41932. s.PaymentOption = &v
  41933. return s
  41934. }
  41935. // SetStart sets the Start field's value.
  41936. func (s *HostReservation) SetStart(v time.Time) *HostReservation {
  41937. s.Start = &v
  41938. return s
  41939. }
  41940. // SetState sets the State field's value.
  41941. func (s *HostReservation) SetState(v string) *HostReservation {
  41942. s.State = &v
  41943. return s
  41944. }
  41945. // SetUpfrontPrice sets the UpfrontPrice field's value.
  41946. func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation {
  41947. s.UpfrontPrice = &v
  41948. return s
  41949. }
  41950. // Describes an IAM instance profile.
  41951. type IamInstanceProfile struct {
  41952. _ struct{} `type:"structure"`
  41953. // The Amazon Resource Name (ARN) of the instance profile.
  41954. Arn *string `locationName:"arn" type:"string"`
  41955. // The ID of the instance profile.
  41956. Id *string `locationName:"id" type:"string"`
  41957. }
  41958. // String returns the string representation
  41959. func (s IamInstanceProfile) String() string {
  41960. return awsutil.Prettify(s)
  41961. }
  41962. // GoString returns the string representation
  41963. func (s IamInstanceProfile) GoString() string {
  41964. return s.String()
  41965. }
  41966. // SetArn sets the Arn field's value.
  41967. func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
  41968. s.Arn = &v
  41969. return s
  41970. }
  41971. // SetId sets the Id field's value.
  41972. func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
  41973. s.Id = &v
  41974. return s
  41975. }
  41976. // Describes an association between an IAM instance profile and an instance.
  41977. type IamInstanceProfileAssociation struct {
  41978. _ struct{} `type:"structure"`
  41979. // The ID of the association.
  41980. AssociationId *string `locationName:"associationId" type:"string"`
  41981. // The IAM instance profile.
  41982. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  41983. // The ID of the instance.
  41984. InstanceId *string `locationName:"instanceId" type:"string"`
  41985. // The state of the association.
  41986. State *string `locationName:"state" type:"string" enum:"IamInstanceProfileAssociationState"`
  41987. // The time the IAM instance profile was associated with the instance.
  41988. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  41989. }
  41990. // String returns the string representation
  41991. func (s IamInstanceProfileAssociation) String() string {
  41992. return awsutil.Prettify(s)
  41993. }
  41994. // GoString returns the string representation
  41995. func (s IamInstanceProfileAssociation) GoString() string {
  41996. return s.String()
  41997. }
  41998. // SetAssociationId sets the AssociationId field's value.
  41999. func (s *IamInstanceProfileAssociation) SetAssociationId(v string) *IamInstanceProfileAssociation {
  42000. s.AssociationId = &v
  42001. return s
  42002. }
  42003. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  42004. func (s *IamInstanceProfileAssociation) SetIamInstanceProfile(v *IamInstanceProfile) *IamInstanceProfileAssociation {
  42005. s.IamInstanceProfile = v
  42006. return s
  42007. }
  42008. // SetInstanceId sets the InstanceId field's value.
  42009. func (s *IamInstanceProfileAssociation) SetInstanceId(v string) *IamInstanceProfileAssociation {
  42010. s.InstanceId = &v
  42011. return s
  42012. }
  42013. // SetState sets the State field's value.
  42014. func (s *IamInstanceProfileAssociation) SetState(v string) *IamInstanceProfileAssociation {
  42015. s.State = &v
  42016. return s
  42017. }
  42018. // SetTimestamp sets the Timestamp field's value.
  42019. func (s *IamInstanceProfileAssociation) SetTimestamp(v time.Time) *IamInstanceProfileAssociation {
  42020. s.Timestamp = &v
  42021. return s
  42022. }
  42023. // Describes an IAM instance profile.
  42024. type IamInstanceProfileSpecification struct {
  42025. _ struct{} `type:"structure"`
  42026. // The Amazon Resource Name (ARN) of the instance profile.
  42027. Arn *string `locationName:"arn" type:"string"`
  42028. // The name of the instance profile.
  42029. Name *string `locationName:"name" type:"string"`
  42030. }
  42031. // String returns the string representation
  42032. func (s IamInstanceProfileSpecification) String() string {
  42033. return awsutil.Prettify(s)
  42034. }
  42035. // GoString returns the string representation
  42036. func (s IamInstanceProfileSpecification) GoString() string {
  42037. return s.String()
  42038. }
  42039. // SetArn sets the Arn field's value.
  42040. func (s *IamInstanceProfileSpecification) SetArn(v string) *IamInstanceProfileSpecification {
  42041. s.Arn = &v
  42042. return s
  42043. }
  42044. // SetName sets the Name field's value.
  42045. func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileSpecification {
  42046. s.Name = &v
  42047. return s
  42048. }
  42049. // Describes the ICMP type and code.
  42050. type IcmpTypeCode struct {
  42051. _ struct{} `type:"structure"`
  42052. // The ICMP code. A value of -1 means all codes for the specified ICMP type.
  42053. Code *int64 `locationName:"code" type:"integer"`
  42054. // The ICMP type. A value of -1 means all types.
  42055. Type *int64 `locationName:"type" type:"integer"`
  42056. }
  42057. // String returns the string representation
  42058. func (s IcmpTypeCode) String() string {
  42059. return awsutil.Prettify(s)
  42060. }
  42061. // GoString returns the string representation
  42062. func (s IcmpTypeCode) GoString() string {
  42063. return s.String()
  42064. }
  42065. // SetCode sets the Code field's value.
  42066. func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
  42067. s.Code = &v
  42068. return s
  42069. }
  42070. // SetType sets the Type field's value.
  42071. func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
  42072. s.Type = &v
  42073. return s
  42074. }
  42075. // Describes the ID format for a resource.
  42076. type IdFormat struct {
  42077. _ struct{} `type:"structure"`
  42078. // The date in UTC at which you are permanently switched over to using longer
  42079. // IDs. If a deadline is not yet available for this resource type, this field
  42080. // is not returned.
  42081. Deadline *time.Time `locationName:"deadline" type:"timestamp" timestampFormat:"iso8601"`
  42082. // The type of resource.
  42083. Resource *string `locationName:"resource" type:"string"`
  42084. // Indicates whether longer IDs (17-character IDs) are enabled for the resource.
  42085. UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
  42086. }
  42087. // String returns the string representation
  42088. func (s IdFormat) String() string {
  42089. return awsutil.Prettify(s)
  42090. }
  42091. // GoString returns the string representation
  42092. func (s IdFormat) GoString() string {
  42093. return s.String()
  42094. }
  42095. // SetDeadline sets the Deadline field's value.
  42096. func (s *IdFormat) SetDeadline(v time.Time) *IdFormat {
  42097. s.Deadline = &v
  42098. return s
  42099. }
  42100. // SetResource sets the Resource field's value.
  42101. func (s *IdFormat) SetResource(v string) *IdFormat {
  42102. s.Resource = &v
  42103. return s
  42104. }
  42105. // SetUseLongIds sets the UseLongIds field's value.
  42106. func (s *IdFormat) SetUseLongIds(v bool) *IdFormat {
  42107. s.UseLongIds = &v
  42108. return s
  42109. }
  42110. // Describes an image.
  42111. type Image struct {
  42112. _ struct{} `type:"structure"`
  42113. // The architecture of the image.
  42114. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  42115. // Any block device mapping entries.
  42116. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  42117. // The date and time the image was created.
  42118. CreationDate *string `locationName:"creationDate" type:"string"`
  42119. // The description of the AMI that was provided during image creation.
  42120. Description *string `locationName:"description" type:"string"`
  42121. // Specifies whether enhanced networking with ENA is enabled.
  42122. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  42123. // The hypervisor type of the image.
  42124. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  42125. // The ID of the AMI.
  42126. ImageId *string `locationName:"imageId" type:"string"`
  42127. // The location of the AMI.
  42128. ImageLocation *string `locationName:"imageLocation" type:"string"`
  42129. // The AWS account alias (for example, amazon, self) or the AWS account ID of
  42130. // the AMI owner.
  42131. ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
  42132. // The type of image.
  42133. ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
  42134. // The kernel associated with the image, if any. Only applicable for machine
  42135. // images.
  42136. KernelId *string `locationName:"kernelId" type:"string"`
  42137. // The name of the AMI that was provided during image creation.
  42138. Name *string `locationName:"name" type:"string"`
  42139. // The AWS account ID of the image owner.
  42140. OwnerId *string `locationName:"imageOwnerId" type:"string"`
  42141. // The value is Windows for Windows AMIs; otherwise blank.
  42142. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  42143. // Any product codes associated with the AMI.
  42144. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  42145. // Indicates whether the image has public launch permissions. The value is true
  42146. // if this image has public launch permissions or false if it has only implicit
  42147. // and explicit launch permissions.
  42148. Public *bool `locationName:"isPublic" type:"boolean"`
  42149. // The RAM disk associated with the image, if any. Only applicable for machine
  42150. // images.
  42151. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  42152. // The device name of the root device volume (for example, /dev/sda1).
  42153. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  42154. // The type of root device used by the AMI. The AMI can use an EBS volume or
  42155. // an instance store volume.
  42156. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  42157. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  42158. // interface is enabled.
  42159. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  42160. // The current state of the AMI. If the state is available, the image is successfully
  42161. // registered and can be used to launch an instance.
  42162. State *string `locationName:"imageState" type:"string" enum:"ImageState"`
  42163. // The reason for the state change.
  42164. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  42165. // Any tags assigned to the image.
  42166. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  42167. // The type of virtualization of the AMI.
  42168. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  42169. }
  42170. // String returns the string representation
  42171. func (s Image) String() string {
  42172. return awsutil.Prettify(s)
  42173. }
  42174. // GoString returns the string representation
  42175. func (s Image) GoString() string {
  42176. return s.String()
  42177. }
  42178. // SetArchitecture sets the Architecture field's value.
  42179. func (s *Image) SetArchitecture(v string) *Image {
  42180. s.Architecture = &v
  42181. return s
  42182. }
  42183. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  42184. func (s *Image) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Image {
  42185. s.BlockDeviceMappings = v
  42186. return s
  42187. }
  42188. // SetCreationDate sets the CreationDate field's value.
  42189. func (s *Image) SetCreationDate(v string) *Image {
  42190. s.CreationDate = &v
  42191. return s
  42192. }
  42193. // SetDescription sets the Description field's value.
  42194. func (s *Image) SetDescription(v string) *Image {
  42195. s.Description = &v
  42196. return s
  42197. }
  42198. // SetEnaSupport sets the EnaSupport field's value.
  42199. func (s *Image) SetEnaSupport(v bool) *Image {
  42200. s.EnaSupport = &v
  42201. return s
  42202. }
  42203. // SetHypervisor sets the Hypervisor field's value.
  42204. func (s *Image) SetHypervisor(v string) *Image {
  42205. s.Hypervisor = &v
  42206. return s
  42207. }
  42208. // SetImageId sets the ImageId field's value.
  42209. func (s *Image) SetImageId(v string) *Image {
  42210. s.ImageId = &v
  42211. return s
  42212. }
  42213. // SetImageLocation sets the ImageLocation field's value.
  42214. func (s *Image) SetImageLocation(v string) *Image {
  42215. s.ImageLocation = &v
  42216. return s
  42217. }
  42218. // SetImageOwnerAlias sets the ImageOwnerAlias field's value.
  42219. func (s *Image) SetImageOwnerAlias(v string) *Image {
  42220. s.ImageOwnerAlias = &v
  42221. return s
  42222. }
  42223. // SetImageType sets the ImageType field's value.
  42224. func (s *Image) SetImageType(v string) *Image {
  42225. s.ImageType = &v
  42226. return s
  42227. }
  42228. // SetKernelId sets the KernelId field's value.
  42229. func (s *Image) SetKernelId(v string) *Image {
  42230. s.KernelId = &v
  42231. return s
  42232. }
  42233. // SetName sets the Name field's value.
  42234. func (s *Image) SetName(v string) *Image {
  42235. s.Name = &v
  42236. return s
  42237. }
  42238. // SetOwnerId sets the OwnerId field's value.
  42239. func (s *Image) SetOwnerId(v string) *Image {
  42240. s.OwnerId = &v
  42241. return s
  42242. }
  42243. // SetPlatform sets the Platform field's value.
  42244. func (s *Image) SetPlatform(v string) *Image {
  42245. s.Platform = &v
  42246. return s
  42247. }
  42248. // SetProductCodes sets the ProductCodes field's value.
  42249. func (s *Image) SetProductCodes(v []*ProductCode) *Image {
  42250. s.ProductCodes = v
  42251. return s
  42252. }
  42253. // SetPublic sets the Public field's value.
  42254. func (s *Image) SetPublic(v bool) *Image {
  42255. s.Public = &v
  42256. return s
  42257. }
  42258. // SetRamdiskId sets the RamdiskId field's value.
  42259. func (s *Image) SetRamdiskId(v string) *Image {
  42260. s.RamdiskId = &v
  42261. return s
  42262. }
  42263. // SetRootDeviceName sets the RootDeviceName field's value.
  42264. func (s *Image) SetRootDeviceName(v string) *Image {
  42265. s.RootDeviceName = &v
  42266. return s
  42267. }
  42268. // SetRootDeviceType sets the RootDeviceType field's value.
  42269. func (s *Image) SetRootDeviceType(v string) *Image {
  42270. s.RootDeviceType = &v
  42271. return s
  42272. }
  42273. // SetSriovNetSupport sets the SriovNetSupport field's value.
  42274. func (s *Image) SetSriovNetSupport(v string) *Image {
  42275. s.SriovNetSupport = &v
  42276. return s
  42277. }
  42278. // SetState sets the State field's value.
  42279. func (s *Image) SetState(v string) *Image {
  42280. s.State = &v
  42281. return s
  42282. }
  42283. // SetStateReason sets the StateReason field's value.
  42284. func (s *Image) SetStateReason(v *StateReason) *Image {
  42285. s.StateReason = v
  42286. return s
  42287. }
  42288. // SetTags sets the Tags field's value.
  42289. func (s *Image) SetTags(v []*Tag) *Image {
  42290. s.Tags = v
  42291. return s
  42292. }
  42293. // SetVirtualizationType sets the VirtualizationType field's value.
  42294. func (s *Image) SetVirtualizationType(v string) *Image {
  42295. s.VirtualizationType = &v
  42296. return s
  42297. }
  42298. // Describes the disk container object for an import image task.
  42299. type ImageDiskContainer struct {
  42300. _ struct{} `type:"structure"`
  42301. // The description of the disk image.
  42302. Description *string `type:"string"`
  42303. // The block device mapping for the disk.
  42304. DeviceName *string `type:"string"`
  42305. // The format of the disk image being imported.
  42306. //
  42307. // Valid values: VHD | VMDK | OVA
  42308. Format *string `type:"string"`
  42309. // The ID of the EBS snapshot to be used for importing the snapshot.
  42310. SnapshotId *string `type:"string"`
  42311. // The URL to the Amazon S3-based disk image being imported. The URL can either
  42312. // be a https URL (https://..) or an Amazon S3 URL (s3://..)
  42313. Url *string `type:"string"`
  42314. // The S3 bucket for the disk image.
  42315. UserBucket *UserBucket `type:"structure"`
  42316. }
  42317. // String returns the string representation
  42318. func (s ImageDiskContainer) String() string {
  42319. return awsutil.Prettify(s)
  42320. }
  42321. // GoString returns the string representation
  42322. func (s ImageDiskContainer) GoString() string {
  42323. return s.String()
  42324. }
  42325. // SetDescription sets the Description field's value.
  42326. func (s *ImageDiskContainer) SetDescription(v string) *ImageDiskContainer {
  42327. s.Description = &v
  42328. return s
  42329. }
  42330. // SetDeviceName sets the DeviceName field's value.
  42331. func (s *ImageDiskContainer) SetDeviceName(v string) *ImageDiskContainer {
  42332. s.DeviceName = &v
  42333. return s
  42334. }
  42335. // SetFormat sets the Format field's value.
  42336. func (s *ImageDiskContainer) SetFormat(v string) *ImageDiskContainer {
  42337. s.Format = &v
  42338. return s
  42339. }
  42340. // SetSnapshotId sets the SnapshotId field's value.
  42341. func (s *ImageDiskContainer) SetSnapshotId(v string) *ImageDiskContainer {
  42342. s.SnapshotId = &v
  42343. return s
  42344. }
  42345. // SetUrl sets the Url field's value.
  42346. func (s *ImageDiskContainer) SetUrl(v string) *ImageDiskContainer {
  42347. s.Url = &v
  42348. return s
  42349. }
  42350. // SetUserBucket sets the UserBucket field's value.
  42351. func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer {
  42352. s.UserBucket = v
  42353. return s
  42354. }
  42355. // Contains the parameters for ImportImage.
  42356. type ImportImageInput struct {
  42357. _ struct{} `type:"structure"`
  42358. // The architecture of the virtual machine.
  42359. //
  42360. // Valid values: i386 | x86_64
  42361. Architecture *string `type:"string"`
  42362. // The client-specific data.
  42363. ClientData *ClientData `type:"structure"`
  42364. // The token to enable idempotency for VM import requests.
  42365. ClientToken *string `type:"string"`
  42366. // A description string for the import image task.
  42367. Description *string `type:"string"`
  42368. // Information about the disk containers.
  42369. DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
  42370. // Checks whether you have the required permissions for the action, without
  42371. // actually making the request, and provides an error response. If you have
  42372. // the required permissions, the error response is DryRunOperation. Otherwise,
  42373. // it is UnauthorizedOperation.
  42374. DryRun *bool `type:"boolean"`
  42375. // The target hypervisor platform.
  42376. //
  42377. // Valid values: xen
  42378. Hypervisor *string `type:"string"`
  42379. // The license type to be used for the Amazon Machine Image (AMI) after importing.
  42380. //
  42381. // Note: You may only use BYOL if you have existing licenses with rights to
  42382. // use these licenses in a third party cloud like AWS. For more information,
  42383. // see Prerequisites (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image)
  42384. // in the VM Import/Export User Guide.
  42385. //
  42386. // Valid values: AWS | BYOL
  42387. LicenseType *string `type:"string"`
  42388. // The operating system of the virtual machine.
  42389. //
  42390. // Valid values: Windows | Linux
  42391. Platform *string `type:"string"`
  42392. // The name of the role to use when not using the default role, 'vmimport'.
  42393. RoleName *string `type:"string"`
  42394. }
  42395. // String returns the string representation
  42396. func (s ImportImageInput) String() string {
  42397. return awsutil.Prettify(s)
  42398. }
  42399. // GoString returns the string representation
  42400. func (s ImportImageInput) GoString() string {
  42401. return s.String()
  42402. }
  42403. // SetArchitecture sets the Architecture field's value.
  42404. func (s *ImportImageInput) SetArchitecture(v string) *ImportImageInput {
  42405. s.Architecture = &v
  42406. return s
  42407. }
  42408. // SetClientData sets the ClientData field's value.
  42409. func (s *ImportImageInput) SetClientData(v *ClientData) *ImportImageInput {
  42410. s.ClientData = v
  42411. return s
  42412. }
  42413. // SetClientToken sets the ClientToken field's value.
  42414. func (s *ImportImageInput) SetClientToken(v string) *ImportImageInput {
  42415. s.ClientToken = &v
  42416. return s
  42417. }
  42418. // SetDescription sets the Description field's value.
  42419. func (s *ImportImageInput) SetDescription(v string) *ImportImageInput {
  42420. s.Description = &v
  42421. return s
  42422. }
  42423. // SetDiskContainers sets the DiskContainers field's value.
  42424. func (s *ImportImageInput) SetDiskContainers(v []*ImageDiskContainer) *ImportImageInput {
  42425. s.DiskContainers = v
  42426. return s
  42427. }
  42428. // SetDryRun sets the DryRun field's value.
  42429. func (s *ImportImageInput) SetDryRun(v bool) *ImportImageInput {
  42430. s.DryRun = &v
  42431. return s
  42432. }
  42433. // SetHypervisor sets the Hypervisor field's value.
  42434. func (s *ImportImageInput) SetHypervisor(v string) *ImportImageInput {
  42435. s.Hypervisor = &v
  42436. return s
  42437. }
  42438. // SetLicenseType sets the LicenseType field's value.
  42439. func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput {
  42440. s.LicenseType = &v
  42441. return s
  42442. }
  42443. // SetPlatform sets the Platform field's value.
  42444. func (s *ImportImageInput) SetPlatform(v string) *ImportImageInput {
  42445. s.Platform = &v
  42446. return s
  42447. }
  42448. // SetRoleName sets the RoleName field's value.
  42449. func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput {
  42450. s.RoleName = &v
  42451. return s
  42452. }
  42453. // Contains the output for ImportImage.
  42454. type ImportImageOutput struct {
  42455. _ struct{} `type:"structure"`
  42456. // The architecture of the virtual machine.
  42457. Architecture *string `locationName:"architecture" type:"string"`
  42458. // A description of the import task.
  42459. Description *string `locationName:"description" type:"string"`
  42460. // The target hypervisor of the import task.
  42461. Hypervisor *string `locationName:"hypervisor" type:"string"`
  42462. // The ID of the Amazon Machine Image (AMI) created by the import task.
  42463. ImageId *string `locationName:"imageId" type:"string"`
  42464. // The task ID of the import image task.
  42465. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  42466. // The license type of the virtual machine.
  42467. LicenseType *string `locationName:"licenseType" type:"string"`
  42468. // The operating system of the virtual machine.
  42469. Platform *string `locationName:"platform" type:"string"`
  42470. // The progress of the task.
  42471. Progress *string `locationName:"progress" type:"string"`
  42472. // Information about the snapshots.
  42473. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  42474. // A brief status of the task.
  42475. Status *string `locationName:"status" type:"string"`
  42476. // A detailed status message of the import task.
  42477. StatusMessage *string `locationName:"statusMessage" type:"string"`
  42478. }
  42479. // String returns the string representation
  42480. func (s ImportImageOutput) String() string {
  42481. return awsutil.Prettify(s)
  42482. }
  42483. // GoString returns the string representation
  42484. func (s ImportImageOutput) GoString() string {
  42485. return s.String()
  42486. }
  42487. // SetArchitecture sets the Architecture field's value.
  42488. func (s *ImportImageOutput) SetArchitecture(v string) *ImportImageOutput {
  42489. s.Architecture = &v
  42490. return s
  42491. }
  42492. // SetDescription sets the Description field's value.
  42493. func (s *ImportImageOutput) SetDescription(v string) *ImportImageOutput {
  42494. s.Description = &v
  42495. return s
  42496. }
  42497. // SetHypervisor sets the Hypervisor field's value.
  42498. func (s *ImportImageOutput) SetHypervisor(v string) *ImportImageOutput {
  42499. s.Hypervisor = &v
  42500. return s
  42501. }
  42502. // SetImageId sets the ImageId field's value.
  42503. func (s *ImportImageOutput) SetImageId(v string) *ImportImageOutput {
  42504. s.ImageId = &v
  42505. return s
  42506. }
  42507. // SetImportTaskId sets the ImportTaskId field's value.
  42508. func (s *ImportImageOutput) SetImportTaskId(v string) *ImportImageOutput {
  42509. s.ImportTaskId = &v
  42510. return s
  42511. }
  42512. // SetLicenseType sets the LicenseType field's value.
  42513. func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput {
  42514. s.LicenseType = &v
  42515. return s
  42516. }
  42517. // SetPlatform sets the Platform field's value.
  42518. func (s *ImportImageOutput) SetPlatform(v string) *ImportImageOutput {
  42519. s.Platform = &v
  42520. return s
  42521. }
  42522. // SetProgress sets the Progress field's value.
  42523. func (s *ImportImageOutput) SetProgress(v string) *ImportImageOutput {
  42524. s.Progress = &v
  42525. return s
  42526. }
  42527. // SetSnapshotDetails sets the SnapshotDetails field's value.
  42528. func (s *ImportImageOutput) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageOutput {
  42529. s.SnapshotDetails = v
  42530. return s
  42531. }
  42532. // SetStatus sets the Status field's value.
  42533. func (s *ImportImageOutput) SetStatus(v string) *ImportImageOutput {
  42534. s.Status = &v
  42535. return s
  42536. }
  42537. // SetStatusMessage sets the StatusMessage field's value.
  42538. func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput {
  42539. s.StatusMessage = &v
  42540. return s
  42541. }
  42542. // Describes an import image task.
  42543. type ImportImageTask struct {
  42544. _ struct{} `type:"structure"`
  42545. // The architecture of the virtual machine.
  42546. //
  42547. // Valid values: i386 | x86_64
  42548. Architecture *string `locationName:"architecture" type:"string"`
  42549. // A description of the import task.
  42550. Description *string `locationName:"description" type:"string"`
  42551. // The target hypervisor for the import task.
  42552. //
  42553. // Valid values: xen
  42554. Hypervisor *string `locationName:"hypervisor" type:"string"`
  42555. // The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
  42556. ImageId *string `locationName:"imageId" type:"string"`
  42557. // The ID of the import image task.
  42558. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  42559. // The license type of the virtual machine.
  42560. LicenseType *string `locationName:"licenseType" type:"string"`
  42561. // The description string for the import image task.
  42562. Platform *string `locationName:"platform" type:"string"`
  42563. // The percentage of progress of the import image task.
  42564. Progress *string `locationName:"progress" type:"string"`
  42565. // Information about the snapshots.
  42566. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  42567. // A brief status for the import image task.
  42568. Status *string `locationName:"status" type:"string"`
  42569. // A descriptive status message for the import image task.
  42570. StatusMessage *string `locationName:"statusMessage" type:"string"`
  42571. }
  42572. // String returns the string representation
  42573. func (s ImportImageTask) String() string {
  42574. return awsutil.Prettify(s)
  42575. }
  42576. // GoString returns the string representation
  42577. func (s ImportImageTask) GoString() string {
  42578. return s.String()
  42579. }
  42580. // SetArchitecture sets the Architecture field's value.
  42581. func (s *ImportImageTask) SetArchitecture(v string) *ImportImageTask {
  42582. s.Architecture = &v
  42583. return s
  42584. }
  42585. // SetDescription sets the Description field's value.
  42586. func (s *ImportImageTask) SetDescription(v string) *ImportImageTask {
  42587. s.Description = &v
  42588. return s
  42589. }
  42590. // SetHypervisor sets the Hypervisor field's value.
  42591. func (s *ImportImageTask) SetHypervisor(v string) *ImportImageTask {
  42592. s.Hypervisor = &v
  42593. return s
  42594. }
  42595. // SetImageId sets the ImageId field's value.
  42596. func (s *ImportImageTask) SetImageId(v string) *ImportImageTask {
  42597. s.ImageId = &v
  42598. return s
  42599. }
  42600. // SetImportTaskId sets the ImportTaskId field's value.
  42601. func (s *ImportImageTask) SetImportTaskId(v string) *ImportImageTask {
  42602. s.ImportTaskId = &v
  42603. return s
  42604. }
  42605. // SetLicenseType sets the LicenseType field's value.
  42606. func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask {
  42607. s.LicenseType = &v
  42608. return s
  42609. }
  42610. // SetPlatform sets the Platform field's value.
  42611. func (s *ImportImageTask) SetPlatform(v string) *ImportImageTask {
  42612. s.Platform = &v
  42613. return s
  42614. }
  42615. // SetProgress sets the Progress field's value.
  42616. func (s *ImportImageTask) SetProgress(v string) *ImportImageTask {
  42617. s.Progress = &v
  42618. return s
  42619. }
  42620. // SetSnapshotDetails sets the SnapshotDetails field's value.
  42621. func (s *ImportImageTask) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageTask {
  42622. s.SnapshotDetails = v
  42623. return s
  42624. }
  42625. // SetStatus sets the Status field's value.
  42626. func (s *ImportImageTask) SetStatus(v string) *ImportImageTask {
  42627. s.Status = &v
  42628. return s
  42629. }
  42630. // SetStatusMessage sets the StatusMessage field's value.
  42631. func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask {
  42632. s.StatusMessage = &v
  42633. return s
  42634. }
  42635. // Contains the parameters for ImportInstance.
  42636. type ImportInstanceInput struct {
  42637. _ struct{} `type:"structure"`
  42638. // A description for the instance being imported.
  42639. Description *string `locationName:"description" type:"string"`
  42640. // The disk image.
  42641. DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
  42642. // Checks whether you have the required permissions for the action, without
  42643. // actually making the request, and provides an error response. If you have
  42644. // the required permissions, the error response is DryRunOperation. Otherwise,
  42645. // it is UnauthorizedOperation.
  42646. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42647. // The launch specification.
  42648. LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
  42649. // The instance operating system.
  42650. //
  42651. // Platform is a required field
  42652. Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
  42653. }
  42654. // String returns the string representation
  42655. func (s ImportInstanceInput) String() string {
  42656. return awsutil.Prettify(s)
  42657. }
  42658. // GoString returns the string representation
  42659. func (s ImportInstanceInput) GoString() string {
  42660. return s.String()
  42661. }
  42662. // Validate inspects the fields of the type to determine if they are valid.
  42663. func (s *ImportInstanceInput) Validate() error {
  42664. invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
  42665. if s.Platform == nil {
  42666. invalidParams.Add(request.NewErrParamRequired("Platform"))
  42667. }
  42668. if s.DiskImages != nil {
  42669. for i, v := range s.DiskImages {
  42670. if v == nil {
  42671. continue
  42672. }
  42673. if err := v.Validate(); err != nil {
  42674. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
  42675. }
  42676. }
  42677. }
  42678. if invalidParams.Len() > 0 {
  42679. return invalidParams
  42680. }
  42681. return nil
  42682. }
  42683. // SetDescription sets the Description field's value.
  42684. func (s *ImportInstanceInput) SetDescription(v string) *ImportInstanceInput {
  42685. s.Description = &v
  42686. return s
  42687. }
  42688. // SetDiskImages sets the DiskImages field's value.
  42689. func (s *ImportInstanceInput) SetDiskImages(v []*DiskImage) *ImportInstanceInput {
  42690. s.DiskImages = v
  42691. return s
  42692. }
  42693. // SetDryRun sets the DryRun field's value.
  42694. func (s *ImportInstanceInput) SetDryRun(v bool) *ImportInstanceInput {
  42695. s.DryRun = &v
  42696. return s
  42697. }
  42698. // SetLaunchSpecification sets the LaunchSpecification field's value.
  42699. func (s *ImportInstanceInput) SetLaunchSpecification(v *ImportInstanceLaunchSpecification) *ImportInstanceInput {
  42700. s.LaunchSpecification = v
  42701. return s
  42702. }
  42703. // SetPlatform sets the Platform field's value.
  42704. func (s *ImportInstanceInput) SetPlatform(v string) *ImportInstanceInput {
  42705. s.Platform = &v
  42706. return s
  42707. }
  42708. // Describes the launch specification for VM import.
  42709. type ImportInstanceLaunchSpecification struct {
  42710. _ struct{} `type:"structure"`
  42711. // Reserved.
  42712. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  42713. // The architecture of the instance.
  42714. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  42715. // One or more security group IDs.
  42716. GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
  42717. // One or more security group names.
  42718. GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
  42719. // Indicates whether an instance stops or terminates when you initiate shutdown
  42720. // from the instance (using the operating system command for system shutdown).
  42721. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  42722. // The instance type. For more information about the instance types that you
  42723. // can import, see Instance Types (http://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-instance-types)
  42724. // in the VM Import/Export User Guide.
  42725. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  42726. // Indicates whether monitoring is enabled.
  42727. Monitoring *bool `locationName:"monitoring" type:"boolean"`
  42728. // The placement information for the instance.
  42729. Placement *Placement `locationName:"placement" type:"structure"`
  42730. // [EC2-VPC] An available IP address from the IP address range of the subnet.
  42731. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  42732. // [EC2-VPC] The ID of the subnet in which to launch the instance.
  42733. SubnetId *string `locationName:"subnetId" type:"string"`
  42734. // The Base64-encoded user data to make available to the instance.
  42735. UserData *UserData `locationName:"userData" type:"structure"`
  42736. }
  42737. // String returns the string representation
  42738. func (s ImportInstanceLaunchSpecification) String() string {
  42739. return awsutil.Prettify(s)
  42740. }
  42741. // GoString returns the string representation
  42742. func (s ImportInstanceLaunchSpecification) GoString() string {
  42743. return s.String()
  42744. }
  42745. // SetAdditionalInfo sets the AdditionalInfo field's value.
  42746. func (s *ImportInstanceLaunchSpecification) SetAdditionalInfo(v string) *ImportInstanceLaunchSpecification {
  42747. s.AdditionalInfo = &v
  42748. return s
  42749. }
  42750. // SetArchitecture sets the Architecture field's value.
  42751. func (s *ImportInstanceLaunchSpecification) SetArchitecture(v string) *ImportInstanceLaunchSpecification {
  42752. s.Architecture = &v
  42753. return s
  42754. }
  42755. // SetGroupIds sets the GroupIds field's value.
  42756. func (s *ImportInstanceLaunchSpecification) SetGroupIds(v []*string) *ImportInstanceLaunchSpecification {
  42757. s.GroupIds = v
  42758. return s
  42759. }
  42760. // SetGroupNames sets the GroupNames field's value.
  42761. func (s *ImportInstanceLaunchSpecification) SetGroupNames(v []*string) *ImportInstanceLaunchSpecification {
  42762. s.GroupNames = v
  42763. return s
  42764. }
  42765. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  42766. func (s *ImportInstanceLaunchSpecification) SetInstanceInitiatedShutdownBehavior(v string) *ImportInstanceLaunchSpecification {
  42767. s.InstanceInitiatedShutdownBehavior = &v
  42768. return s
  42769. }
  42770. // SetInstanceType sets the InstanceType field's value.
  42771. func (s *ImportInstanceLaunchSpecification) SetInstanceType(v string) *ImportInstanceLaunchSpecification {
  42772. s.InstanceType = &v
  42773. return s
  42774. }
  42775. // SetMonitoring sets the Monitoring field's value.
  42776. func (s *ImportInstanceLaunchSpecification) SetMonitoring(v bool) *ImportInstanceLaunchSpecification {
  42777. s.Monitoring = &v
  42778. return s
  42779. }
  42780. // SetPlacement sets the Placement field's value.
  42781. func (s *ImportInstanceLaunchSpecification) SetPlacement(v *Placement) *ImportInstanceLaunchSpecification {
  42782. s.Placement = v
  42783. return s
  42784. }
  42785. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  42786. func (s *ImportInstanceLaunchSpecification) SetPrivateIpAddress(v string) *ImportInstanceLaunchSpecification {
  42787. s.PrivateIpAddress = &v
  42788. return s
  42789. }
  42790. // SetSubnetId sets the SubnetId field's value.
  42791. func (s *ImportInstanceLaunchSpecification) SetSubnetId(v string) *ImportInstanceLaunchSpecification {
  42792. s.SubnetId = &v
  42793. return s
  42794. }
  42795. // SetUserData sets the UserData field's value.
  42796. func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInstanceLaunchSpecification {
  42797. s.UserData = v
  42798. return s
  42799. }
  42800. // Contains the output for ImportInstance.
  42801. type ImportInstanceOutput struct {
  42802. _ struct{} `type:"structure"`
  42803. // Information about the conversion task.
  42804. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  42805. }
  42806. // String returns the string representation
  42807. func (s ImportInstanceOutput) String() string {
  42808. return awsutil.Prettify(s)
  42809. }
  42810. // GoString returns the string representation
  42811. func (s ImportInstanceOutput) GoString() string {
  42812. return s.String()
  42813. }
  42814. // SetConversionTask sets the ConversionTask field's value.
  42815. func (s *ImportInstanceOutput) SetConversionTask(v *ConversionTask) *ImportInstanceOutput {
  42816. s.ConversionTask = v
  42817. return s
  42818. }
  42819. // Describes an import instance task.
  42820. type ImportInstanceTaskDetails struct {
  42821. _ struct{} `type:"structure"`
  42822. // A description of the task.
  42823. Description *string `locationName:"description" type:"string"`
  42824. // The ID of the instance.
  42825. InstanceId *string `locationName:"instanceId" type:"string"`
  42826. // The instance operating system.
  42827. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  42828. // One or more volumes.
  42829. Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list"`
  42830. }
  42831. // String returns the string representation
  42832. func (s ImportInstanceTaskDetails) String() string {
  42833. return awsutil.Prettify(s)
  42834. }
  42835. // GoString returns the string representation
  42836. func (s ImportInstanceTaskDetails) GoString() string {
  42837. return s.String()
  42838. }
  42839. // SetDescription sets the Description field's value.
  42840. func (s *ImportInstanceTaskDetails) SetDescription(v string) *ImportInstanceTaskDetails {
  42841. s.Description = &v
  42842. return s
  42843. }
  42844. // SetInstanceId sets the InstanceId field's value.
  42845. func (s *ImportInstanceTaskDetails) SetInstanceId(v string) *ImportInstanceTaskDetails {
  42846. s.InstanceId = &v
  42847. return s
  42848. }
  42849. // SetPlatform sets the Platform field's value.
  42850. func (s *ImportInstanceTaskDetails) SetPlatform(v string) *ImportInstanceTaskDetails {
  42851. s.Platform = &v
  42852. return s
  42853. }
  42854. // SetVolumes sets the Volumes field's value.
  42855. func (s *ImportInstanceTaskDetails) SetVolumes(v []*ImportInstanceVolumeDetailItem) *ImportInstanceTaskDetails {
  42856. s.Volumes = v
  42857. return s
  42858. }
  42859. // Describes an import volume task.
  42860. type ImportInstanceVolumeDetailItem struct {
  42861. _ struct{} `type:"structure"`
  42862. // The Availability Zone where the resulting instance will reside.
  42863. //
  42864. // AvailabilityZone is a required field
  42865. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  42866. // The number of bytes converted so far.
  42867. //
  42868. // BytesConverted is a required field
  42869. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  42870. // A description of the task.
  42871. Description *string `locationName:"description" type:"string"`
  42872. // The image.
  42873. //
  42874. // Image is a required field
  42875. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  42876. // The status of the import of this particular disk image.
  42877. //
  42878. // Status is a required field
  42879. Status *string `locationName:"status" type:"string" required:"true"`
  42880. // The status information or errors related to the disk image.
  42881. StatusMessage *string `locationName:"statusMessage" type:"string"`
  42882. // The volume.
  42883. //
  42884. // Volume is a required field
  42885. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  42886. }
  42887. // String returns the string representation
  42888. func (s ImportInstanceVolumeDetailItem) String() string {
  42889. return awsutil.Prettify(s)
  42890. }
  42891. // GoString returns the string representation
  42892. func (s ImportInstanceVolumeDetailItem) GoString() string {
  42893. return s.String()
  42894. }
  42895. // SetAvailabilityZone sets the AvailabilityZone field's value.
  42896. func (s *ImportInstanceVolumeDetailItem) SetAvailabilityZone(v string) *ImportInstanceVolumeDetailItem {
  42897. s.AvailabilityZone = &v
  42898. return s
  42899. }
  42900. // SetBytesConverted sets the BytesConverted field's value.
  42901. func (s *ImportInstanceVolumeDetailItem) SetBytesConverted(v int64) *ImportInstanceVolumeDetailItem {
  42902. s.BytesConverted = &v
  42903. return s
  42904. }
  42905. // SetDescription sets the Description field's value.
  42906. func (s *ImportInstanceVolumeDetailItem) SetDescription(v string) *ImportInstanceVolumeDetailItem {
  42907. s.Description = &v
  42908. return s
  42909. }
  42910. // SetImage sets the Image field's value.
  42911. func (s *ImportInstanceVolumeDetailItem) SetImage(v *DiskImageDescription) *ImportInstanceVolumeDetailItem {
  42912. s.Image = v
  42913. return s
  42914. }
  42915. // SetStatus sets the Status field's value.
  42916. func (s *ImportInstanceVolumeDetailItem) SetStatus(v string) *ImportInstanceVolumeDetailItem {
  42917. s.Status = &v
  42918. return s
  42919. }
  42920. // SetStatusMessage sets the StatusMessage field's value.
  42921. func (s *ImportInstanceVolumeDetailItem) SetStatusMessage(v string) *ImportInstanceVolumeDetailItem {
  42922. s.StatusMessage = &v
  42923. return s
  42924. }
  42925. // SetVolume sets the Volume field's value.
  42926. func (s *ImportInstanceVolumeDetailItem) SetVolume(v *DiskImageVolumeDescription) *ImportInstanceVolumeDetailItem {
  42927. s.Volume = v
  42928. return s
  42929. }
  42930. // Contains the parameters for ImportKeyPair.
  42931. type ImportKeyPairInput struct {
  42932. _ struct{} `type:"structure"`
  42933. // Checks whether you have the required permissions for the action, without
  42934. // actually making the request, and provides an error response. If you have
  42935. // the required permissions, the error response is DryRunOperation. Otherwise,
  42936. // it is UnauthorizedOperation.
  42937. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42938. // A unique name for the key pair.
  42939. //
  42940. // KeyName is a required field
  42941. KeyName *string `locationName:"keyName" type:"string" required:"true"`
  42942. // The public key. For API calls, the text must be base64-encoded. For command
  42943. // line tools, base64 encoding is performed for you.
  42944. //
  42945. // PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
  42946. //
  42947. // PublicKeyMaterial is a required field
  42948. PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
  42949. }
  42950. // String returns the string representation
  42951. func (s ImportKeyPairInput) String() string {
  42952. return awsutil.Prettify(s)
  42953. }
  42954. // GoString returns the string representation
  42955. func (s ImportKeyPairInput) GoString() string {
  42956. return s.String()
  42957. }
  42958. // Validate inspects the fields of the type to determine if they are valid.
  42959. func (s *ImportKeyPairInput) Validate() error {
  42960. invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
  42961. if s.KeyName == nil {
  42962. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  42963. }
  42964. if s.PublicKeyMaterial == nil {
  42965. invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
  42966. }
  42967. if invalidParams.Len() > 0 {
  42968. return invalidParams
  42969. }
  42970. return nil
  42971. }
  42972. // SetDryRun sets the DryRun field's value.
  42973. func (s *ImportKeyPairInput) SetDryRun(v bool) *ImportKeyPairInput {
  42974. s.DryRun = &v
  42975. return s
  42976. }
  42977. // SetKeyName sets the KeyName field's value.
  42978. func (s *ImportKeyPairInput) SetKeyName(v string) *ImportKeyPairInput {
  42979. s.KeyName = &v
  42980. return s
  42981. }
  42982. // SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
  42983. func (s *ImportKeyPairInput) SetPublicKeyMaterial(v []byte) *ImportKeyPairInput {
  42984. s.PublicKeyMaterial = v
  42985. return s
  42986. }
  42987. // Contains the output of ImportKeyPair.
  42988. type ImportKeyPairOutput struct {
  42989. _ struct{} `type:"structure"`
  42990. // The MD5 public key fingerprint as specified in section 4 of RFC 4716.
  42991. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  42992. // The key pair name you provided.
  42993. KeyName *string `locationName:"keyName" type:"string"`
  42994. }
  42995. // String returns the string representation
  42996. func (s ImportKeyPairOutput) String() string {
  42997. return awsutil.Prettify(s)
  42998. }
  42999. // GoString returns the string representation
  43000. func (s ImportKeyPairOutput) GoString() string {
  43001. return s.String()
  43002. }
  43003. // SetKeyFingerprint sets the KeyFingerprint field's value.
  43004. func (s *ImportKeyPairOutput) SetKeyFingerprint(v string) *ImportKeyPairOutput {
  43005. s.KeyFingerprint = &v
  43006. return s
  43007. }
  43008. // SetKeyName sets the KeyName field's value.
  43009. func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput {
  43010. s.KeyName = &v
  43011. return s
  43012. }
  43013. // Contains the parameters for ImportSnapshot.
  43014. type ImportSnapshotInput struct {
  43015. _ struct{} `type:"structure"`
  43016. // The client-specific data.
  43017. ClientData *ClientData `type:"structure"`
  43018. // Token to enable idempotency for VM import requests.
  43019. ClientToken *string `type:"string"`
  43020. // The description string for the import snapshot task.
  43021. Description *string `type:"string"`
  43022. // Information about the disk container.
  43023. DiskContainer *SnapshotDiskContainer `type:"structure"`
  43024. // Checks whether you have the required permissions for the action, without
  43025. // actually making the request, and provides an error response. If you have
  43026. // the required permissions, the error response is DryRunOperation. Otherwise,
  43027. // it is UnauthorizedOperation.
  43028. DryRun *bool `type:"boolean"`
  43029. // The name of the role to use when not using the default role, 'vmimport'.
  43030. RoleName *string `type:"string"`
  43031. }
  43032. // String returns the string representation
  43033. func (s ImportSnapshotInput) String() string {
  43034. return awsutil.Prettify(s)
  43035. }
  43036. // GoString returns the string representation
  43037. func (s ImportSnapshotInput) GoString() string {
  43038. return s.String()
  43039. }
  43040. // SetClientData sets the ClientData field's value.
  43041. func (s *ImportSnapshotInput) SetClientData(v *ClientData) *ImportSnapshotInput {
  43042. s.ClientData = v
  43043. return s
  43044. }
  43045. // SetClientToken sets the ClientToken field's value.
  43046. func (s *ImportSnapshotInput) SetClientToken(v string) *ImportSnapshotInput {
  43047. s.ClientToken = &v
  43048. return s
  43049. }
  43050. // SetDescription sets the Description field's value.
  43051. func (s *ImportSnapshotInput) SetDescription(v string) *ImportSnapshotInput {
  43052. s.Description = &v
  43053. return s
  43054. }
  43055. // SetDiskContainer sets the DiskContainer field's value.
  43056. func (s *ImportSnapshotInput) SetDiskContainer(v *SnapshotDiskContainer) *ImportSnapshotInput {
  43057. s.DiskContainer = v
  43058. return s
  43059. }
  43060. // SetDryRun sets the DryRun field's value.
  43061. func (s *ImportSnapshotInput) SetDryRun(v bool) *ImportSnapshotInput {
  43062. s.DryRun = &v
  43063. return s
  43064. }
  43065. // SetRoleName sets the RoleName field's value.
  43066. func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput {
  43067. s.RoleName = &v
  43068. return s
  43069. }
  43070. // Contains the output for ImportSnapshot.
  43071. type ImportSnapshotOutput struct {
  43072. _ struct{} `type:"structure"`
  43073. // A description of the import snapshot task.
  43074. Description *string `locationName:"description" type:"string"`
  43075. // The ID of the import snapshot task.
  43076. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  43077. // Information about the import snapshot task.
  43078. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  43079. }
  43080. // String returns the string representation
  43081. func (s ImportSnapshotOutput) String() string {
  43082. return awsutil.Prettify(s)
  43083. }
  43084. // GoString returns the string representation
  43085. func (s ImportSnapshotOutput) GoString() string {
  43086. return s.String()
  43087. }
  43088. // SetDescription sets the Description field's value.
  43089. func (s *ImportSnapshotOutput) SetDescription(v string) *ImportSnapshotOutput {
  43090. s.Description = &v
  43091. return s
  43092. }
  43093. // SetImportTaskId sets the ImportTaskId field's value.
  43094. func (s *ImportSnapshotOutput) SetImportTaskId(v string) *ImportSnapshotOutput {
  43095. s.ImportTaskId = &v
  43096. return s
  43097. }
  43098. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  43099. func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotOutput {
  43100. s.SnapshotTaskDetail = v
  43101. return s
  43102. }
  43103. // Describes an import snapshot task.
  43104. type ImportSnapshotTask struct {
  43105. _ struct{} `type:"structure"`
  43106. // A description of the import snapshot task.
  43107. Description *string `locationName:"description" type:"string"`
  43108. // The ID of the import snapshot task.
  43109. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  43110. // Describes an import snapshot task.
  43111. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  43112. }
  43113. // String returns the string representation
  43114. func (s ImportSnapshotTask) String() string {
  43115. return awsutil.Prettify(s)
  43116. }
  43117. // GoString returns the string representation
  43118. func (s ImportSnapshotTask) GoString() string {
  43119. return s.String()
  43120. }
  43121. // SetDescription sets the Description field's value.
  43122. func (s *ImportSnapshotTask) SetDescription(v string) *ImportSnapshotTask {
  43123. s.Description = &v
  43124. return s
  43125. }
  43126. // SetImportTaskId sets the ImportTaskId field's value.
  43127. func (s *ImportSnapshotTask) SetImportTaskId(v string) *ImportSnapshotTask {
  43128. s.ImportTaskId = &v
  43129. return s
  43130. }
  43131. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  43132. func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotTask {
  43133. s.SnapshotTaskDetail = v
  43134. return s
  43135. }
  43136. // Contains the parameters for ImportVolume.
  43137. type ImportVolumeInput struct {
  43138. _ struct{} `type:"structure"`
  43139. // The Availability Zone for the resulting EBS volume.
  43140. //
  43141. // AvailabilityZone is a required field
  43142. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  43143. // A description of the volume.
  43144. Description *string `locationName:"description" type:"string"`
  43145. // Checks whether you have the required permissions for the action, without
  43146. // actually making the request, and provides an error response. If you have
  43147. // the required permissions, the error response is DryRunOperation. Otherwise,
  43148. // it is UnauthorizedOperation.
  43149. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43150. // The disk image.
  43151. //
  43152. // Image is a required field
  43153. Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
  43154. // The volume size.
  43155. //
  43156. // Volume is a required field
  43157. Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
  43158. }
  43159. // String returns the string representation
  43160. func (s ImportVolumeInput) String() string {
  43161. return awsutil.Prettify(s)
  43162. }
  43163. // GoString returns the string representation
  43164. func (s ImportVolumeInput) GoString() string {
  43165. return s.String()
  43166. }
  43167. // Validate inspects the fields of the type to determine if they are valid.
  43168. func (s *ImportVolumeInput) Validate() error {
  43169. invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
  43170. if s.AvailabilityZone == nil {
  43171. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  43172. }
  43173. if s.Image == nil {
  43174. invalidParams.Add(request.NewErrParamRequired("Image"))
  43175. }
  43176. if s.Volume == nil {
  43177. invalidParams.Add(request.NewErrParamRequired("Volume"))
  43178. }
  43179. if s.Image != nil {
  43180. if err := s.Image.Validate(); err != nil {
  43181. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  43182. }
  43183. }
  43184. if s.Volume != nil {
  43185. if err := s.Volume.Validate(); err != nil {
  43186. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  43187. }
  43188. }
  43189. if invalidParams.Len() > 0 {
  43190. return invalidParams
  43191. }
  43192. return nil
  43193. }
  43194. // SetAvailabilityZone sets the AvailabilityZone field's value.
  43195. func (s *ImportVolumeInput) SetAvailabilityZone(v string) *ImportVolumeInput {
  43196. s.AvailabilityZone = &v
  43197. return s
  43198. }
  43199. // SetDescription sets the Description field's value.
  43200. func (s *ImportVolumeInput) SetDescription(v string) *ImportVolumeInput {
  43201. s.Description = &v
  43202. return s
  43203. }
  43204. // SetDryRun sets the DryRun field's value.
  43205. func (s *ImportVolumeInput) SetDryRun(v bool) *ImportVolumeInput {
  43206. s.DryRun = &v
  43207. return s
  43208. }
  43209. // SetImage sets the Image field's value.
  43210. func (s *ImportVolumeInput) SetImage(v *DiskImageDetail) *ImportVolumeInput {
  43211. s.Image = v
  43212. return s
  43213. }
  43214. // SetVolume sets the Volume field's value.
  43215. func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput {
  43216. s.Volume = v
  43217. return s
  43218. }
  43219. // Contains the output for ImportVolume.
  43220. type ImportVolumeOutput struct {
  43221. _ struct{} `type:"structure"`
  43222. // Information about the conversion task.
  43223. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  43224. }
  43225. // String returns the string representation
  43226. func (s ImportVolumeOutput) String() string {
  43227. return awsutil.Prettify(s)
  43228. }
  43229. // GoString returns the string representation
  43230. func (s ImportVolumeOutput) GoString() string {
  43231. return s.String()
  43232. }
  43233. // SetConversionTask sets the ConversionTask field's value.
  43234. func (s *ImportVolumeOutput) SetConversionTask(v *ConversionTask) *ImportVolumeOutput {
  43235. s.ConversionTask = v
  43236. return s
  43237. }
  43238. // Describes an import volume task.
  43239. type ImportVolumeTaskDetails struct {
  43240. _ struct{} `type:"structure"`
  43241. // The Availability Zone where the resulting volume will reside.
  43242. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  43243. // The number of bytes converted so far.
  43244. BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
  43245. // The description you provided when starting the import volume task.
  43246. Description *string `locationName:"description" type:"string"`
  43247. // The image.
  43248. Image *DiskImageDescription `locationName:"image" type:"structure"`
  43249. // The volume.
  43250. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
  43251. }
  43252. // String returns the string representation
  43253. func (s ImportVolumeTaskDetails) String() string {
  43254. return awsutil.Prettify(s)
  43255. }
  43256. // GoString returns the string representation
  43257. func (s ImportVolumeTaskDetails) GoString() string {
  43258. return s.String()
  43259. }
  43260. // SetAvailabilityZone sets the AvailabilityZone field's value.
  43261. func (s *ImportVolumeTaskDetails) SetAvailabilityZone(v string) *ImportVolumeTaskDetails {
  43262. s.AvailabilityZone = &v
  43263. return s
  43264. }
  43265. // SetBytesConverted sets the BytesConverted field's value.
  43266. func (s *ImportVolumeTaskDetails) SetBytesConverted(v int64) *ImportVolumeTaskDetails {
  43267. s.BytesConverted = &v
  43268. return s
  43269. }
  43270. // SetDescription sets the Description field's value.
  43271. func (s *ImportVolumeTaskDetails) SetDescription(v string) *ImportVolumeTaskDetails {
  43272. s.Description = &v
  43273. return s
  43274. }
  43275. // SetImage sets the Image field's value.
  43276. func (s *ImportVolumeTaskDetails) SetImage(v *DiskImageDescription) *ImportVolumeTaskDetails {
  43277. s.Image = v
  43278. return s
  43279. }
  43280. // SetVolume sets the Volume field's value.
  43281. func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *ImportVolumeTaskDetails {
  43282. s.Volume = v
  43283. return s
  43284. }
  43285. // Describes an instance.
  43286. type Instance struct {
  43287. _ struct{} `type:"structure"`
  43288. // The AMI launch index, which can be used to find this instance in the launch
  43289. // group.
  43290. AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
  43291. // The architecture of the image.
  43292. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  43293. // Any block device mapping entries for the instance.
  43294. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  43295. // The idempotency token you provided when you launched the instance, if applicable.
  43296. ClientToken *string `locationName:"clientToken" type:"string"`
  43297. // The CPU options for the instance.
  43298. CpuOptions *CpuOptions `locationName:"cpuOptions" type:"structure"`
  43299. // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
  43300. // provides dedicated throughput to Amazon EBS and an optimized configuration
  43301. // stack to provide optimal I/O performance. This optimization isn't available
  43302. // with all instance types. Additional usage charges apply when using an EBS
  43303. // Optimized instance.
  43304. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  43305. // The Elastic GPU associated with the instance.
  43306. ElasticGpuAssociations []*ElasticGpuAssociation `locationName:"elasticGpuAssociationSet" locationNameList:"item" type:"list"`
  43307. // Specifies whether enhanced networking with ENA is enabled.
  43308. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  43309. // The hypervisor type of the instance.
  43310. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  43311. // The IAM instance profile associated with the instance, if applicable.
  43312. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  43313. // The ID of the AMI used to launch the instance.
  43314. ImageId *string `locationName:"imageId" type:"string"`
  43315. // The ID of the instance.
  43316. InstanceId *string `locationName:"instanceId" type:"string"`
  43317. // Indicates whether this is a Spot Instance or a Scheduled Instance.
  43318. InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
  43319. // The instance type.
  43320. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  43321. // The kernel associated with this instance, if applicable.
  43322. KernelId *string `locationName:"kernelId" type:"string"`
  43323. // The name of the key pair, if this instance was launched with an associated
  43324. // key pair.
  43325. KeyName *string `locationName:"keyName" type:"string"`
  43326. // The time the instance was launched.
  43327. LaunchTime *time.Time `locationName:"launchTime" type:"timestamp" timestampFormat:"iso8601"`
  43328. // The monitoring for the instance.
  43329. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  43330. // [EC2-VPC] One or more network interfaces for the instance.
  43331. NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  43332. // The location where the instance launched, if applicable.
  43333. Placement *Placement `locationName:"placement" type:"structure"`
  43334. // The value is Windows for Windows instances; otherwise blank.
  43335. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  43336. // (IPv4 only) The private DNS hostname name assigned to the instance. This
  43337. // DNS hostname can only be used inside the Amazon EC2 network. This name is
  43338. // not available until the instance enters the running state.
  43339. //
  43340. // [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private
  43341. // DNS hostnames if you've enabled DNS resolution and DNS hostnames in your
  43342. // VPC. If you are not using the Amazon-provided DNS server in your VPC, your
  43343. // custom domain name servers must resolve the hostname as appropriate.
  43344. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  43345. // The private IPv4 address assigned to the instance.
  43346. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  43347. // The product codes attached to this instance, if applicable.
  43348. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  43349. // (IPv4 only) The public DNS name assigned to the instance. This name is not
  43350. // available until the instance enters the running state. For EC2-VPC, this
  43351. // name is only available if you've enabled DNS hostnames for your VPC.
  43352. PublicDnsName *string `locationName:"dnsName" type:"string"`
  43353. // The public IPv4 address assigned to the instance, if applicable.
  43354. PublicIpAddress *string `locationName:"ipAddress" type:"string"`
  43355. // The RAM disk associated with this instance, if applicable.
  43356. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  43357. // The device name of the root device volume (for example, /dev/sda1).
  43358. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  43359. // The root device type used by the AMI. The AMI can use an EBS volume or an
  43360. // instance store volume.
  43361. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  43362. // One or more security groups for the instance.
  43363. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  43364. // Specifies whether to enable an instance launched in a VPC to perform NAT.
  43365. // This controls whether source/destination checking is enabled on the instance.
  43366. // A value of true means that checking is enabled, and false means that checking
  43367. // is disabled. The value must be false for the instance to perform NAT. For
  43368. // more information, see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  43369. // in the Amazon Virtual Private Cloud User Guide.
  43370. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  43371. // If the request is a Spot Instance request, the ID of the request.
  43372. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  43373. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  43374. // interface is enabled.
  43375. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  43376. // The current state of the instance.
  43377. State *InstanceState `locationName:"instanceState" type:"structure"`
  43378. // The reason for the most recent state transition.
  43379. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  43380. // The reason for the most recent state transition. This might be an empty string.
  43381. StateTransitionReason *string `locationName:"reason" type:"string"`
  43382. // [EC2-VPC] The ID of the subnet in which the instance is running.
  43383. SubnetId *string `locationName:"subnetId" type:"string"`
  43384. // Any tags assigned to the instance.
  43385. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  43386. // The virtualization type of the instance.
  43387. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  43388. // [EC2-VPC] The ID of the VPC in which the instance is running.
  43389. VpcId *string `locationName:"vpcId" type:"string"`
  43390. }
  43391. // String returns the string representation
  43392. func (s Instance) String() string {
  43393. return awsutil.Prettify(s)
  43394. }
  43395. // GoString returns the string representation
  43396. func (s Instance) GoString() string {
  43397. return s.String()
  43398. }
  43399. // SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
  43400. func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
  43401. s.AmiLaunchIndex = &v
  43402. return s
  43403. }
  43404. // SetArchitecture sets the Architecture field's value.
  43405. func (s *Instance) SetArchitecture(v string) *Instance {
  43406. s.Architecture = &v
  43407. return s
  43408. }
  43409. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  43410. func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
  43411. s.BlockDeviceMappings = v
  43412. return s
  43413. }
  43414. // SetClientToken sets the ClientToken field's value.
  43415. func (s *Instance) SetClientToken(v string) *Instance {
  43416. s.ClientToken = &v
  43417. return s
  43418. }
  43419. // SetCpuOptions sets the CpuOptions field's value.
  43420. func (s *Instance) SetCpuOptions(v *CpuOptions) *Instance {
  43421. s.CpuOptions = v
  43422. return s
  43423. }
  43424. // SetEbsOptimized sets the EbsOptimized field's value.
  43425. func (s *Instance) SetEbsOptimized(v bool) *Instance {
  43426. s.EbsOptimized = &v
  43427. return s
  43428. }
  43429. // SetElasticGpuAssociations sets the ElasticGpuAssociations field's value.
  43430. func (s *Instance) SetElasticGpuAssociations(v []*ElasticGpuAssociation) *Instance {
  43431. s.ElasticGpuAssociations = v
  43432. return s
  43433. }
  43434. // SetEnaSupport sets the EnaSupport field's value.
  43435. func (s *Instance) SetEnaSupport(v bool) *Instance {
  43436. s.EnaSupport = &v
  43437. return s
  43438. }
  43439. // SetHypervisor sets the Hypervisor field's value.
  43440. func (s *Instance) SetHypervisor(v string) *Instance {
  43441. s.Hypervisor = &v
  43442. return s
  43443. }
  43444. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  43445. func (s *Instance) SetIamInstanceProfile(v *IamInstanceProfile) *Instance {
  43446. s.IamInstanceProfile = v
  43447. return s
  43448. }
  43449. // SetImageId sets the ImageId field's value.
  43450. func (s *Instance) SetImageId(v string) *Instance {
  43451. s.ImageId = &v
  43452. return s
  43453. }
  43454. // SetInstanceId sets the InstanceId field's value.
  43455. func (s *Instance) SetInstanceId(v string) *Instance {
  43456. s.InstanceId = &v
  43457. return s
  43458. }
  43459. // SetInstanceLifecycle sets the InstanceLifecycle field's value.
  43460. func (s *Instance) SetInstanceLifecycle(v string) *Instance {
  43461. s.InstanceLifecycle = &v
  43462. return s
  43463. }
  43464. // SetInstanceType sets the InstanceType field's value.
  43465. func (s *Instance) SetInstanceType(v string) *Instance {
  43466. s.InstanceType = &v
  43467. return s
  43468. }
  43469. // SetKernelId sets the KernelId field's value.
  43470. func (s *Instance) SetKernelId(v string) *Instance {
  43471. s.KernelId = &v
  43472. return s
  43473. }
  43474. // SetKeyName sets the KeyName field's value.
  43475. func (s *Instance) SetKeyName(v string) *Instance {
  43476. s.KeyName = &v
  43477. return s
  43478. }
  43479. // SetLaunchTime sets the LaunchTime field's value.
  43480. func (s *Instance) SetLaunchTime(v time.Time) *Instance {
  43481. s.LaunchTime = &v
  43482. return s
  43483. }
  43484. // SetMonitoring sets the Monitoring field's value.
  43485. func (s *Instance) SetMonitoring(v *Monitoring) *Instance {
  43486. s.Monitoring = v
  43487. return s
  43488. }
  43489. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  43490. func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance {
  43491. s.NetworkInterfaces = v
  43492. return s
  43493. }
  43494. // SetPlacement sets the Placement field's value.
  43495. func (s *Instance) SetPlacement(v *Placement) *Instance {
  43496. s.Placement = v
  43497. return s
  43498. }
  43499. // SetPlatform sets the Platform field's value.
  43500. func (s *Instance) SetPlatform(v string) *Instance {
  43501. s.Platform = &v
  43502. return s
  43503. }
  43504. // SetPrivateDnsName sets the PrivateDnsName field's value.
  43505. func (s *Instance) SetPrivateDnsName(v string) *Instance {
  43506. s.PrivateDnsName = &v
  43507. return s
  43508. }
  43509. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  43510. func (s *Instance) SetPrivateIpAddress(v string) *Instance {
  43511. s.PrivateIpAddress = &v
  43512. return s
  43513. }
  43514. // SetProductCodes sets the ProductCodes field's value.
  43515. func (s *Instance) SetProductCodes(v []*ProductCode) *Instance {
  43516. s.ProductCodes = v
  43517. return s
  43518. }
  43519. // SetPublicDnsName sets the PublicDnsName field's value.
  43520. func (s *Instance) SetPublicDnsName(v string) *Instance {
  43521. s.PublicDnsName = &v
  43522. return s
  43523. }
  43524. // SetPublicIpAddress sets the PublicIpAddress field's value.
  43525. func (s *Instance) SetPublicIpAddress(v string) *Instance {
  43526. s.PublicIpAddress = &v
  43527. return s
  43528. }
  43529. // SetRamdiskId sets the RamdiskId field's value.
  43530. func (s *Instance) SetRamdiskId(v string) *Instance {
  43531. s.RamdiskId = &v
  43532. return s
  43533. }
  43534. // SetRootDeviceName sets the RootDeviceName field's value.
  43535. func (s *Instance) SetRootDeviceName(v string) *Instance {
  43536. s.RootDeviceName = &v
  43537. return s
  43538. }
  43539. // SetRootDeviceType sets the RootDeviceType field's value.
  43540. func (s *Instance) SetRootDeviceType(v string) *Instance {
  43541. s.RootDeviceType = &v
  43542. return s
  43543. }
  43544. // SetSecurityGroups sets the SecurityGroups field's value.
  43545. func (s *Instance) SetSecurityGroups(v []*GroupIdentifier) *Instance {
  43546. s.SecurityGroups = v
  43547. return s
  43548. }
  43549. // SetSourceDestCheck sets the SourceDestCheck field's value.
  43550. func (s *Instance) SetSourceDestCheck(v bool) *Instance {
  43551. s.SourceDestCheck = &v
  43552. return s
  43553. }
  43554. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  43555. func (s *Instance) SetSpotInstanceRequestId(v string) *Instance {
  43556. s.SpotInstanceRequestId = &v
  43557. return s
  43558. }
  43559. // SetSriovNetSupport sets the SriovNetSupport field's value.
  43560. func (s *Instance) SetSriovNetSupport(v string) *Instance {
  43561. s.SriovNetSupport = &v
  43562. return s
  43563. }
  43564. // SetState sets the State field's value.
  43565. func (s *Instance) SetState(v *InstanceState) *Instance {
  43566. s.State = v
  43567. return s
  43568. }
  43569. // SetStateReason sets the StateReason field's value.
  43570. func (s *Instance) SetStateReason(v *StateReason) *Instance {
  43571. s.StateReason = v
  43572. return s
  43573. }
  43574. // SetStateTransitionReason sets the StateTransitionReason field's value.
  43575. func (s *Instance) SetStateTransitionReason(v string) *Instance {
  43576. s.StateTransitionReason = &v
  43577. return s
  43578. }
  43579. // SetSubnetId sets the SubnetId field's value.
  43580. func (s *Instance) SetSubnetId(v string) *Instance {
  43581. s.SubnetId = &v
  43582. return s
  43583. }
  43584. // SetTags sets the Tags field's value.
  43585. func (s *Instance) SetTags(v []*Tag) *Instance {
  43586. s.Tags = v
  43587. return s
  43588. }
  43589. // SetVirtualizationType sets the VirtualizationType field's value.
  43590. func (s *Instance) SetVirtualizationType(v string) *Instance {
  43591. s.VirtualizationType = &v
  43592. return s
  43593. }
  43594. // SetVpcId sets the VpcId field's value.
  43595. func (s *Instance) SetVpcId(v string) *Instance {
  43596. s.VpcId = &v
  43597. return s
  43598. }
  43599. // Describes a block device mapping.
  43600. type InstanceBlockDeviceMapping struct {
  43601. _ struct{} `type:"structure"`
  43602. // The device name (for example, /dev/sdh or xvdh).
  43603. DeviceName *string `locationName:"deviceName" type:"string"`
  43604. // Parameters used to automatically set up EBS volumes when the instance is
  43605. // launched.
  43606. Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
  43607. }
  43608. // String returns the string representation
  43609. func (s InstanceBlockDeviceMapping) String() string {
  43610. return awsutil.Prettify(s)
  43611. }
  43612. // GoString returns the string representation
  43613. func (s InstanceBlockDeviceMapping) GoString() string {
  43614. return s.String()
  43615. }
  43616. // SetDeviceName sets the DeviceName field's value.
  43617. func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
  43618. s.DeviceName = &v
  43619. return s
  43620. }
  43621. // SetEbs sets the Ebs field's value.
  43622. func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
  43623. s.Ebs = v
  43624. return s
  43625. }
  43626. // Describes a block device mapping entry.
  43627. type InstanceBlockDeviceMappingSpecification struct {
  43628. _ struct{} `type:"structure"`
  43629. // The device name (for example, /dev/sdh or xvdh).
  43630. DeviceName *string `locationName:"deviceName" type:"string"`
  43631. // Parameters used to automatically set up EBS volumes when the instance is
  43632. // launched.
  43633. Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
  43634. // suppress the specified device included in the block device mapping.
  43635. NoDevice *string `locationName:"noDevice" type:"string"`
  43636. // The virtual device name.
  43637. VirtualName *string `locationName:"virtualName" type:"string"`
  43638. }
  43639. // String returns the string representation
  43640. func (s InstanceBlockDeviceMappingSpecification) String() string {
  43641. return awsutil.Prettify(s)
  43642. }
  43643. // GoString returns the string representation
  43644. func (s InstanceBlockDeviceMappingSpecification) GoString() string {
  43645. return s.String()
  43646. }
  43647. // SetDeviceName sets the DeviceName field's value.
  43648. func (s *InstanceBlockDeviceMappingSpecification) SetDeviceName(v string) *InstanceBlockDeviceMappingSpecification {
  43649. s.DeviceName = &v
  43650. return s
  43651. }
  43652. // SetEbs sets the Ebs field's value.
  43653. func (s *InstanceBlockDeviceMappingSpecification) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMappingSpecification {
  43654. s.Ebs = v
  43655. return s
  43656. }
  43657. // SetNoDevice sets the NoDevice field's value.
  43658. func (s *InstanceBlockDeviceMappingSpecification) SetNoDevice(v string) *InstanceBlockDeviceMappingSpecification {
  43659. s.NoDevice = &v
  43660. return s
  43661. }
  43662. // SetVirtualName sets the VirtualName field's value.
  43663. func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *InstanceBlockDeviceMappingSpecification {
  43664. s.VirtualName = &v
  43665. return s
  43666. }
  43667. // Information about the instance type that the Dedicated Host supports.
  43668. type InstanceCapacity struct {
  43669. _ struct{} `type:"structure"`
  43670. // The number of instances that can still be launched onto the Dedicated Host.
  43671. AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
  43672. // The instance type size supported by the Dedicated Host.
  43673. InstanceType *string `locationName:"instanceType" type:"string"`
  43674. // The total number of instances that can be launched onto the Dedicated Host.
  43675. TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
  43676. }
  43677. // String returns the string representation
  43678. func (s InstanceCapacity) String() string {
  43679. return awsutil.Prettify(s)
  43680. }
  43681. // GoString returns the string representation
  43682. func (s InstanceCapacity) GoString() string {
  43683. return s.String()
  43684. }
  43685. // SetAvailableCapacity sets the AvailableCapacity field's value.
  43686. func (s *InstanceCapacity) SetAvailableCapacity(v int64) *InstanceCapacity {
  43687. s.AvailableCapacity = &v
  43688. return s
  43689. }
  43690. // SetInstanceType sets the InstanceType field's value.
  43691. func (s *InstanceCapacity) SetInstanceType(v string) *InstanceCapacity {
  43692. s.InstanceType = &v
  43693. return s
  43694. }
  43695. // SetTotalCapacity sets the TotalCapacity field's value.
  43696. func (s *InstanceCapacity) SetTotalCapacity(v int64) *InstanceCapacity {
  43697. s.TotalCapacity = &v
  43698. return s
  43699. }
  43700. // Describes a Reserved Instance listing state.
  43701. type InstanceCount struct {
  43702. _ struct{} `type:"structure"`
  43703. // The number of listed Reserved Instances in the state specified by the state.
  43704. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  43705. // The states of the listed Reserved Instances.
  43706. State *string `locationName:"state" type:"string" enum:"ListingState"`
  43707. }
  43708. // String returns the string representation
  43709. func (s InstanceCount) String() string {
  43710. return awsutil.Prettify(s)
  43711. }
  43712. // GoString returns the string representation
  43713. func (s InstanceCount) GoString() string {
  43714. return s.String()
  43715. }
  43716. // SetInstanceCount sets the InstanceCount field's value.
  43717. func (s *InstanceCount) SetInstanceCount(v int64) *InstanceCount {
  43718. s.InstanceCount = &v
  43719. return s
  43720. }
  43721. // SetState sets the State field's value.
  43722. func (s *InstanceCount) SetState(v string) *InstanceCount {
  43723. s.State = &v
  43724. return s
  43725. }
  43726. // Describes the credit option for CPU usage of a T2 instance.
  43727. type InstanceCreditSpecification struct {
  43728. _ struct{} `type:"structure"`
  43729. // The credit option for CPU usage of the instance. Valid values are standard
  43730. // and unlimited.
  43731. CpuCredits *string `locationName:"cpuCredits" type:"string"`
  43732. // The ID of the instance.
  43733. InstanceId *string `locationName:"instanceId" type:"string"`
  43734. }
  43735. // String returns the string representation
  43736. func (s InstanceCreditSpecification) String() string {
  43737. return awsutil.Prettify(s)
  43738. }
  43739. // GoString returns the string representation
  43740. func (s InstanceCreditSpecification) GoString() string {
  43741. return s.String()
  43742. }
  43743. // SetCpuCredits sets the CpuCredits field's value.
  43744. func (s *InstanceCreditSpecification) SetCpuCredits(v string) *InstanceCreditSpecification {
  43745. s.CpuCredits = &v
  43746. return s
  43747. }
  43748. // SetInstanceId sets the InstanceId field's value.
  43749. func (s *InstanceCreditSpecification) SetInstanceId(v string) *InstanceCreditSpecification {
  43750. s.InstanceId = &v
  43751. return s
  43752. }
  43753. // Describes the credit option for CPU usage of a T2 instance.
  43754. type InstanceCreditSpecificationRequest struct {
  43755. _ struct{} `type:"structure"`
  43756. // The credit option for CPU usage of the instance. Valid values are standard
  43757. // and unlimited.
  43758. CpuCredits *string `type:"string"`
  43759. // The ID of the instance.
  43760. InstanceId *string `type:"string"`
  43761. }
  43762. // String returns the string representation
  43763. func (s InstanceCreditSpecificationRequest) String() string {
  43764. return awsutil.Prettify(s)
  43765. }
  43766. // GoString returns the string representation
  43767. func (s InstanceCreditSpecificationRequest) GoString() string {
  43768. return s.String()
  43769. }
  43770. // SetCpuCredits sets the CpuCredits field's value.
  43771. func (s *InstanceCreditSpecificationRequest) SetCpuCredits(v string) *InstanceCreditSpecificationRequest {
  43772. s.CpuCredits = &v
  43773. return s
  43774. }
  43775. // SetInstanceId sets the InstanceId field's value.
  43776. func (s *InstanceCreditSpecificationRequest) SetInstanceId(v string) *InstanceCreditSpecificationRequest {
  43777. s.InstanceId = &v
  43778. return s
  43779. }
  43780. // Describes an instance to export.
  43781. type InstanceExportDetails struct {
  43782. _ struct{} `type:"structure"`
  43783. // The ID of the resource being exported.
  43784. InstanceId *string `locationName:"instanceId" type:"string"`
  43785. // The target virtualization environment.
  43786. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  43787. }
  43788. // String returns the string representation
  43789. func (s InstanceExportDetails) String() string {
  43790. return awsutil.Prettify(s)
  43791. }
  43792. // GoString returns the string representation
  43793. func (s InstanceExportDetails) GoString() string {
  43794. return s.String()
  43795. }
  43796. // SetInstanceId sets the InstanceId field's value.
  43797. func (s *InstanceExportDetails) SetInstanceId(v string) *InstanceExportDetails {
  43798. s.InstanceId = &v
  43799. return s
  43800. }
  43801. // SetTargetEnvironment sets the TargetEnvironment field's value.
  43802. func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDetails {
  43803. s.TargetEnvironment = &v
  43804. return s
  43805. }
  43806. // Describes an IPv6 address.
  43807. type InstanceIpv6Address struct {
  43808. _ struct{} `type:"structure"`
  43809. // The IPv6 address.
  43810. Ipv6Address *string `locationName:"ipv6Address" type:"string"`
  43811. }
  43812. // String returns the string representation
  43813. func (s InstanceIpv6Address) String() string {
  43814. return awsutil.Prettify(s)
  43815. }
  43816. // GoString returns the string representation
  43817. func (s InstanceIpv6Address) GoString() string {
  43818. return s.String()
  43819. }
  43820. // SetIpv6Address sets the Ipv6Address field's value.
  43821. func (s *InstanceIpv6Address) SetIpv6Address(v string) *InstanceIpv6Address {
  43822. s.Ipv6Address = &v
  43823. return s
  43824. }
  43825. // Describes an IPv6 address.
  43826. type InstanceIpv6AddressRequest struct {
  43827. _ struct{} `type:"structure"`
  43828. // The IPv6 address.
  43829. Ipv6Address *string `type:"string"`
  43830. }
  43831. // String returns the string representation
  43832. func (s InstanceIpv6AddressRequest) String() string {
  43833. return awsutil.Prettify(s)
  43834. }
  43835. // GoString returns the string representation
  43836. func (s InstanceIpv6AddressRequest) GoString() string {
  43837. return s.String()
  43838. }
  43839. // SetIpv6Address sets the Ipv6Address field's value.
  43840. func (s *InstanceIpv6AddressRequest) SetIpv6Address(v string) *InstanceIpv6AddressRequest {
  43841. s.Ipv6Address = &v
  43842. return s
  43843. }
  43844. // Describes the market (purchasing) option for the instances.
  43845. type InstanceMarketOptionsRequest struct {
  43846. _ struct{} `type:"structure"`
  43847. // The market type.
  43848. MarketType *string `type:"string" enum:"MarketType"`
  43849. // The options for Spot Instances.
  43850. SpotOptions *SpotMarketOptions `type:"structure"`
  43851. }
  43852. // String returns the string representation
  43853. func (s InstanceMarketOptionsRequest) String() string {
  43854. return awsutil.Prettify(s)
  43855. }
  43856. // GoString returns the string representation
  43857. func (s InstanceMarketOptionsRequest) GoString() string {
  43858. return s.String()
  43859. }
  43860. // SetMarketType sets the MarketType field's value.
  43861. func (s *InstanceMarketOptionsRequest) SetMarketType(v string) *InstanceMarketOptionsRequest {
  43862. s.MarketType = &v
  43863. return s
  43864. }
  43865. // SetSpotOptions sets the SpotOptions field's value.
  43866. func (s *InstanceMarketOptionsRequest) SetSpotOptions(v *SpotMarketOptions) *InstanceMarketOptionsRequest {
  43867. s.SpotOptions = v
  43868. return s
  43869. }
  43870. // Describes the monitoring of an instance.
  43871. type InstanceMonitoring struct {
  43872. _ struct{} `type:"structure"`
  43873. // The ID of the instance.
  43874. InstanceId *string `locationName:"instanceId" type:"string"`
  43875. // The monitoring for the instance.
  43876. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  43877. }
  43878. // String returns the string representation
  43879. func (s InstanceMonitoring) String() string {
  43880. return awsutil.Prettify(s)
  43881. }
  43882. // GoString returns the string representation
  43883. func (s InstanceMonitoring) GoString() string {
  43884. return s.String()
  43885. }
  43886. // SetInstanceId sets the InstanceId field's value.
  43887. func (s *InstanceMonitoring) SetInstanceId(v string) *InstanceMonitoring {
  43888. s.InstanceId = &v
  43889. return s
  43890. }
  43891. // SetMonitoring sets the Monitoring field's value.
  43892. func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring {
  43893. s.Monitoring = v
  43894. return s
  43895. }
  43896. // Describes a network interface.
  43897. type InstanceNetworkInterface struct {
  43898. _ struct{} `type:"structure"`
  43899. // The association information for an Elastic IPv4 associated with the network
  43900. // interface.
  43901. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  43902. // The network interface attachment.
  43903. Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  43904. // The description.
  43905. Description *string `locationName:"description" type:"string"`
  43906. // One or more security groups.
  43907. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  43908. // One or more IPv6 addresses associated with the network interface.
  43909. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  43910. // The MAC address.
  43911. MacAddress *string `locationName:"macAddress" type:"string"`
  43912. // The ID of the network interface.
  43913. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  43914. // The ID of the AWS account that created the network interface.
  43915. OwnerId *string `locationName:"ownerId" type:"string"`
  43916. // The private DNS name.
  43917. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  43918. // The IPv4 address of the network interface within the subnet.
  43919. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  43920. // One or more private IPv4 addresses associated with the network interface.
  43921. PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  43922. // Indicates whether to validate network traffic to or from this network interface.
  43923. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  43924. // The status of the network interface.
  43925. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  43926. // The ID of the subnet.
  43927. SubnetId *string `locationName:"subnetId" type:"string"`
  43928. // The ID of the VPC.
  43929. VpcId *string `locationName:"vpcId" type:"string"`
  43930. }
  43931. // String returns the string representation
  43932. func (s InstanceNetworkInterface) String() string {
  43933. return awsutil.Prettify(s)
  43934. }
  43935. // GoString returns the string representation
  43936. func (s InstanceNetworkInterface) GoString() string {
  43937. return s.String()
  43938. }
  43939. // SetAssociation sets the Association field's value.
  43940. func (s *InstanceNetworkInterface) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstanceNetworkInterface {
  43941. s.Association = v
  43942. return s
  43943. }
  43944. // SetAttachment sets the Attachment field's value.
  43945. func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAttachment) *InstanceNetworkInterface {
  43946. s.Attachment = v
  43947. return s
  43948. }
  43949. // SetDescription sets the Description field's value.
  43950. func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface {
  43951. s.Description = &v
  43952. return s
  43953. }
  43954. // SetGroups sets the Groups field's value.
  43955. func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetworkInterface {
  43956. s.Groups = v
  43957. return s
  43958. }
  43959. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  43960. func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface {
  43961. s.Ipv6Addresses = v
  43962. return s
  43963. }
  43964. // SetMacAddress sets the MacAddress field's value.
  43965. func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface {
  43966. s.MacAddress = &v
  43967. return s
  43968. }
  43969. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  43970. func (s *InstanceNetworkInterface) SetNetworkInterfaceId(v string) *InstanceNetworkInterface {
  43971. s.NetworkInterfaceId = &v
  43972. return s
  43973. }
  43974. // SetOwnerId sets the OwnerId field's value.
  43975. func (s *InstanceNetworkInterface) SetOwnerId(v string) *InstanceNetworkInterface {
  43976. s.OwnerId = &v
  43977. return s
  43978. }
  43979. // SetPrivateDnsName sets the PrivateDnsName field's value.
  43980. func (s *InstanceNetworkInterface) SetPrivateDnsName(v string) *InstanceNetworkInterface {
  43981. s.PrivateDnsName = &v
  43982. return s
  43983. }
  43984. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  43985. func (s *InstanceNetworkInterface) SetPrivateIpAddress(v string) *InstanceNetworkInterface {
  43986. s.PrivateIpAddress = &v
  43987. return s
  43988. }
  43989. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  43990. func (s *InstanceNetworkInterface) SetPrivateIpAddresses(v []*InstancePrivateIpAddress) *InstanceNetworkInterface {
  43991. s.PrivateIpAddresses = v
  43992. return s
  43993. }
  43994. // SetSourceDestCheck sets the SourceDestCheck field's value.
  43995. func (s *InstanceNetworkInterface) SetSourceDestCheck(v bool) *InstanceNetworkInterface {
  43996. s.SourceDestCheck = &v
  43997. return s
  43998. }
  43999. // SetStatus sets the Status field's value.
  44000. func (s *InstanceNetworkInterface) SetStatus(v string) *InstanceNetworkInterface {
  44001. s.Status = &v
  44002. return s
  44003. }
  44004. // SetSubnetId sets the SubnetId field's value.
  44005. func (s *InstanceNetworkInterface) SetSubnetId(v string) *InstanceNetworkInterface {
  44006. s.SubnetId = &v
  44007. return s
  44008. }
  44009. // SetVpcId sets the VpcId field's value.
  44010. func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface {
  44011. s.VpcId = &v
  44012. return s
  44013. }
  44014. // Describes association information for an Elastic IP address (IPv4).
  44015. type InstanceNetworkInterfaceAssociation struct {
  44016. _ struct{} `type:"structure"`
  44017. // The ID of the owner of the Elastic IP address.
  44018. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  44019. // The public DNS name.
  44020. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  44021. // The public IP address or Elastic IP address bound to the network interface.
  44022. PublicIp *string `locationName:"publicIp" type:"string"`
  44023. }
  44024. // String returns the string representation
  44025. func (s InstanceNetworkInterfaceAssociation) String() string {
  44026. return awsutil.Prettify(s)
  44027. }
  44028. // GoString returns the string representation
  44029. func (s InstanceNetworkInterfaceAssociation) GoString() string {
  44030. return s.String()
  44031. }
  44032. // SetIpOwnerId sets the IpOwnerId field's value.
  44033. func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation {
  44034. s.IpOwnerId = &v
  44035. return s
  44036. }
  44037. // SetPublicDnsName sets the PublicDnsName field's value.
  44038. func (s *InstanceNetworkInterfaceAssociation) SetPublicDnsName(v string) *InstanceNetworkInterfaceAssociation {
  44039. s.PublicDnsName = &v
  44040. return s
  44041. }
  44042. // SetPublicIp sets the PublicIp field's value.
  44043. func (s *InstanceNetworkInterfaceAssociation) SetPublicIp(v string) *InstanceNetworkInterfaceAssociation {
  44044. s.PublicIp = &v
  44045. return s
  44046. }
  44047. // Describes a network interface attachment.
  44048. type InstanceNetworkInterfaceAttachment struct {
  44049. _ struct{} `type:"structure"`
  44050. // The time stamp when the attachment initiated.
  44051. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  44052. // The ID of the network interface attachment.
  44053. AttachmentId *string `locationName:"attachmentId" type:"string"`
  44054. // Indicates whether the network interface is deleted when the instance is terminated.
  44055. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  44056. // The index of the device on the instance for the network interface attachment.
  44057. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  44058. // The attachment state.
  44059. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  44060. }
  44061. // String returns the string representation
  44062. func (s InstanceNetworkInterfaceAttachment) String() string {
  44063. return awsutil.Prettify(s)
  44064. }
  44065. // GoString returns the string representation
  44066. func (s InstanceNetworkInterfaceAttachment) GoString() string {
  44067. return s.String()
  44068. }
  44069. // SetAttachTime sets the AttachTime field's value.
  44070. func (s *InstanceNetworkInterfaceAttachment) SetAttachTime(v time.Time) *InstanceNetworkInterfaceAttachment {
  44071. s.AttachTime = &v
  44072. return s
  44073. }
  44074. // SetAttachmentId sets the AttachmentId field's value.
  44075. func (s *InstanceNetworkInterfaceAttachment) SetAttachmentId(v string) *InstanceNetworkInterfaceAttachment {
  44076. s.AttachmentId = &v
  44077. return s
  44078. }
  44079. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  44080. func (s *InstanceNetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceAttachment {
  44081. s.DeleteOnTermination = &v
  44082. return s
  44083. }
  44084. // SetDeviceIndex sets the DeviceIndex field's value.
  44085. func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNetworkInterfaceAttachment {
  44086. s.DeviceIndex = &v
  44087. return s
  44088. }
  44089. // SetStatus sets the Status field's value.
  44090. func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
  44091. s.Status = &v
  44092. return s
  44093. }
  44094. // Describes a network interface.
  44095. type InstanceNetworkInterfaceSpecification struct {
  44096. _ struct{} `type:"structure"`
  44097. // Indicates whether to assign a public IPv4 address to an instance you launch
  44098. // in a VPC. The public IP address can only be assigned to a network interface
  44099. // for eth0, and can only be assigned to a new network interface, not an existing
  44100. // one. You cannot specify more than one network interface in the request. If
  44101. // launching into a default subnet, the default value is true.
  44102. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  44103. // If set to true, the interface is deleted when the instance is terminated.
  44104. // You can specify true only if creating a new network interface when launching
  44105. // an instance.
  44106. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  44107. // The description of the network interface. Applies only if creating a network
  44108. // interface when launching an instance.
  44109. Description *string `locationName:"description" type:"string"`
  44110. // The index of the device on the instance for the network interface attachment.
  44111. // If you are specifying a network interface in a RunInstances request, you
  44112. // must provide the device index.
  44113. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  44114. // The IDs of the security groups for the network interface. Applies only if
  44115. // creating a network interface when launching an instance.
  44116. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  44117. // A number of IPv6 addresses to assign to the network interface. Amazon EC2
  44118. // chooses the IPv6 addresses from the range of the subnet. You cannot specify
  44119. // this option and the option to assign specific IPv6 addresses in the same
  44120. // request. You can specify this option if you've specified a minimum number
  44121. // of instances to launch.
  44122. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  44123. // One or more IPv6 addresses to assign to the network interface. You cannot
  44124. // specify this option and the option to assign a number of IPv6 addresses in
  44125. // the same request. You cannot specify this option if you've specified a minimum
  44126. // number of instances to launch.
  44127. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"`
  44128. // The ID of the network interface.
  44129. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  44130. // The private IPv4 address of the network interface. Applies only if creating
  44131. // a network interface when launching an instance. You cannot specify this option
  44132. // if you're launching more than one instance in a RunInstances request.
  44133. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  44134. // One or more private IPv4 addresses to assign to the network interface. Only
  44135. // one private IPv4 address can be designated as primary. You cannot specify
  44136. // this option if you're launching more than one instance in a RunInstances
  44137. // request.
  44138. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
  44139. // The number of secondary private IPv4 addresses. You can't specify this option
  44140. // and specify more than one private IP address using the private IP addresses
  44141. // option. You cannot specify this option if you're launching more than one
  44142. // instance in a RunInstances request.
  44143. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  44144. // The ID of the subnet associated with the network string. Applies only if
  44145. // creating a network interface when launching an instance.
  44146. SubnetId *string `locationName:"subnetId" type:"string"`
  44147. }
  44148. // String returns the string representation
  44149. func (s InstanceNetworkInterfaceSpecification) String() string {
  44150. return awsutil.Prettify(s)
  44151. }
  44152. // GoString returns the string representation
  44153. func (s InstanceNetworkInterfaceSpecification) GoString() string {
  44154. return s.String()
  44155. }
  44156. // Validate inspects the fields of the type to determine if they are valid.
  44157. func (s *InstanceNetworkInterfaceSpecification) Validate() error {
  44158. invalidParams := request.ErrInvalidParams{Context: "InstanceNetworkInterfaceSpecification"}
  44159. if s.PrivateIpAddresses != nil {
  44160. for i, v := range s.PrivateIpAddresses {
  44161. if v == nil {
  44162. continue
  44163. }
  44164. if err := v.Validate(); err != nil {
  44165. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  44166. }
  44167. }
  44168. }
  44169. if invalidParams.Len() > 0 {
  44170. return invalidParams
  44171. }
  44172. return nil
  44173. }
  44174. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  44175. func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
  44176. s.AssociatePublicIpAddress = &v
  44177. return s
  44178. }
  44179. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  44180. func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification {
  44181. s.DeleteOnTermination = &v
  44182. return s
  44183. }
  44184. // SetDescription sets the Description field's value.
  44185. func (s *InstanceNetworkInterfaceSpecification) SetDescription(v string) *InstanceNetworkInterfaceSpecification {
  44186. s.Description = &v
  44187. return s
  44188. }
  44189. // SetDeviceIndex sets the DeviceIndex field's value.
  44190. func (s *InstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *InstanceNetworkInterfaceSpecification {
  44191. s.DeviceIndex = &v
  44192. return s
  44193. }
  44194. // SetGroups sets the Groups field's value.
  44195. func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *InstanceNetworkInterfaceSpecification {
  44196. s.Groups = v
  44197. return s
  44198. }
  44199. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  44200. func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  44201. s.Ipv6AddressCount = &v
  44202. return s
  44203. }
  44204. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  44205. func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterfaceSpecification {
  44206. s.Ipv6Addresses = v
  44207. return s
  44208. }
  44209. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  44210. func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
  44211. s.NetworkInterfaceId = &v
  44212. return s
  44213. }
  44214. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  44215. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *InstanceNetworkInterfaceSpecification {
  44216. s.PrivateIpAddress = &v
  44217. return s
  44218. }
  44219. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  44220. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *InstanceNetworkInterfaceSpecification {
  44221. s.PrivateIpAddresses = v
  44222. return s
  44223. }
  44224. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  44225. func (s *InstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  44226. s.SecondaryPrivateIpAddressCount = &v
  44227. return s
  44228. }
  44229. // SetSubnetId sets the SubnetId field's value.
  44230. func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceNetworkInterfaceSpecification {
  44231. s.SubnetId = &v
  44232. return s
  44233. }
  44234. // Describes a private IPv4 address.
  44235. type InstancePrivateIpAddress struct {
  44236. _ struct{} `type:"structure"`
  44237. // The association information for an Elastic IP address for the network interface.
  44238. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  44239. // Indicates whether this IPv4 address is the primary private IP address of
  44240. // the network interface.
  44241. Primary *bool `locationName:"primary" type:"boolean"`
  44242. // The private IPv4 DNS name.
  44243. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  44244. // The private IPv4 address of the network interface.
  44245. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  44246. }
  44247. // String returns the string representation
  44248. func (s InstancePrivateIpAddress) String() string {
  44249. return awsutil.Prettify(s)
  44250. }
  44251. // GoString returns the string representation
  44252. func (s InstancePrivateIpAddress) GoString() string {
  44253. return s.String()
  44254. }
  44255. // SetAssociation sets the Association field's value.
  44256. func (s *InstancePrivateIpAddress) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstancePrivateIpAddress {
  44257. s.Association = v
  44258. return s
  44259. }
  44260. // SetPrimary sets the Primary field's value.
  44261. func (s *InstancePrivateIpAddress) SetPrimary(v bool) *InstancePrivateIpAddress {
  44262. s.Primary = &v
  44263. return s
  44264. }
  44265. // SetPrivateDnsName sets the PrivateDnsName field's value.
  44266. func (s *InstancePrivateIpAddress) SetPrivateDnsName(v string) *InstancePrivateIpAddress {
  44267. s.PrivateDnsName = &v
  44268. return s
  44269. }
  44270. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  44271. func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivateIpAddress {
  44272. s.PrivateIpAddress = &v
  44273. return s
  44274. }
  44275. // Describes the current state of an instance.
  44276. type InstanceState struct {
  44277. _ struct{} `type:"structure"`
  44278. // The low byte represents the state. The high byte is an opaque internal value
  44279. // and should be ignored.
  44280. //
  44281. // * 0 : pending
  44282. //
  44283. // * 16 : running
  44284. //
  44285. // * 32 : shutting-down
  44286. //
  44287. // * 48 : terminated
  44288. //
  44289. // * 64 : stopping
  44290. //
  44291. // * 80 : stopped
  44292. Code *int64 `locationName:"code" type:"integer"`
  44293. // The current state of the instance.
  44294. Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
  44295. }
  44296. // String returns the string representation
  44297. func (s InstanceState) String() string {
  44298. return awsutil.Prettify(s)
  44299. }
  44300. // GoString returns the string representation
  44301. func (s InstanceState) GoString() string {
  44302. return s.String()
  44303. }
  44304. // SetCode sets the Code field's value.
  44305. func (s *InstanceState) SetCode(v int64) *InstanceState {
  44306. s.Code = &v
  44307. return s
  44308. }
  44309. // SetName sets the Name field's value.
  44310. func (s *InstanceState) SetName(v string) *InstanceState {
  44311. s.Name = &v
  44312. return s
  44313. }
  44314. // Describes an instance state change.
  44315. type InstanceStateChange struct {
  44316. _ struct{} `type:"structure"`
  44317. // The current state of the instance.
  44318. CurrentState *InstanceState `locationName:"currentState" type:"structure"`
  44319. // The ID of the instance.
  44320. InstanceId *string `locationName:"instanceId" type:"string"`
  44321. // The previous state of the instance.
  44322. PreviousState *InstanceState `locationName:"previousState" type:"structure"`
  44323. }
  44324. // String returns the string representation
  44325. func (s InstanceStateChange) String() string {
  44326. return awsutil.Prettify(s)
  44327. }
  44328. // GoString returns the string representation
  44329. func (s InstanceStateChange) GoString() string {
  44330. return s.String()
  44331. }
  44332. // SetCurrentState sets the CurrentState field's value.
  44333. func (s *InstanceStateChange) SetCurrentState(v *InstanceState) *InstanceStateChange {
  44334. s.CurrentState = v
  44335. return s
  44336. }
  44337. // SetInstanceId sets the InstanceId field's value.
  44338. func (s *InstanceStateChange) SetInstanceId(v string) *InstanceStateChange {
  44339. s.InstanceId = &v
  44340. return s
  44341. }
  44342. // SetPreviousState sets the PreviousState field's value.
  44343. func (s *InstanceStateChange) SetPreviousState(v *InstanceState) *InstanceStateChange {
  44344. s.PreviousState = v
  44345. return s
  44346. }
  44347. // Describes the status of an instance.
  44348. type InstanceStatus struct {
  44349. _ struct{} `type:"structure"`
  44350. // The Availability Zone of the instance.
  44351. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  44352. // Any scheduled events associated with the instance.
  44353. Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  44354. // The ID of the instance.
  44355. InstanceId *string `locationName:"instanceId" type:"string"`
  44356. // The intended state of the instance. DescribeInstanceStatus requires that
  44357. // an instance be in the running state.
  44358. InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
  44359. // Reports impaired functionality that stems from issues internal to the instance,
  44360. // such as impaired reachability.
  44361. InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
  44362. // Reports impaired functionality that stems from issues related to the systems
  44363. // that support an instance, such as hardware failures and network connectivity
  44364. // problems.
  44365. SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
  44366. }
  44367. // String returns the string representation
  44368. func (s InstanceStatus) String() string {
  44369. return awsutil.Prettify(s)
  44370. }
  44371. // GoString returns the string representation
  44372. func (s InstanceStatus) GoString() string {
  44373. return s.String()
  44374. }
  44375. // SetAvailabilityZone sets the AvailabilityZone field's value.
  44376. func (s *InstanceStatus) SetAvailabilityZone(v string) *InstanceStatus {
  44377. s.AvailabilityZone = &v
  44378. return s
  44379. }
  44380. // SetEvents sets the Events field's value.
  44381. func (s *InstanceStatus) SetEvents(v []*InstanceStatusEvent) *InstanceStatus {
  44382. s.Events = v
  44383. return s
  44384. }
  44385. // SetInstanceId sets the InstanceId field's value.
  44386. func (s *InstanceStatus) SetInstanceId(v string) *InstanceStatus {
  44387. s.InstanceId = &v
  44388. return s
  44389. }
  44390. // SetInstanceState sets the InstanceState field's value.
  44391. func (s *InstanceStatus) SetInstanceState(v *InstanceState) *InstanceStatus {
  44392. s.InstanceState = v
  44393. return s
  44394. }
  44395. // SetInstanceStatus sets the InstanceStatus field's value.
  44396. func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceStatus {
  44397. s.InstanceStatus = v
  44398. return s
  44399. }
  44400. // SetSystemStatus sets the SystemStatus field's value.
  44401. func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
  44402. s.SystemStatus = v
  44403. return s
  44404. }
  44405. // Describes the instance status.
  44406. type InstanceStatusDetails struct {
  44407. _ struct{} `type:"structure"`
  44408. // The time when a status check failed. For an instance that was launched and
  44409. // impaired, this is the time when the instance was launched.
  44410. ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp" timestampFormat:"iso8601"`
  44411. // The type of instance status.
  44412. Name *string `locationName:"name" type:"string" enum:"StatusName"`
  44413. // The status.
  44414. Status *string `locationName:"status" type:"string" enum:"StatusType"`
  44415. }
  44416. // String returns the string representation
  44417. func (s InstanceStatusDetails) String() string {
  44418. return awsutil.Prettify(s)
  44419. }
  44420. // GoString returns the string representation
  44421. func (s InstanceStatusDetails) GoString() string {
  44422. return s.String()
  44423. }
  44424. // SetImpairedSince sets the ImpairedSince field's value.
  44425. func (s *InstanceStatusDetails) SetImpairedSince(v time.Time) *InstanceStatusDetails {
  44426. s.ImpairedSince = &v
  44427. return s
  44428. }
  44429. // SetName sets the Name field's value.
  44430. func (s *InstanceStatusDetails) SetName(v string) *InstanceStatusDetails {
  44431. s.Name = &v
  44432. return s
  44433. }
  44434. // SetStatus sets the Status field's value.
  44435. func (s *InstanceStatusDetails) SetStatus(v string) *InstanceStatusDetails {
  44436. s.Status = &v
  44437. return s
  44438. }
  44439. // Describes a scheduled event for an instance.
  44440. type InstanceStatusEvent struct {
  44441. _ struct{} `type:"structure"`
  44442. // The event code.
  44443. Code *string `locationName:"code" type:"string" enum:"EventCode"`
  44444. // A description of the event.
  44445. //
  44446. // After a scheduled event is completed, it can still be described for up to
  44447. // a week. If the event has been completed, this description starts with the
  44448. // following text: [Completed].
  44449. Description *string `locationName:"description" type:"string"`
  44450. // The latest scheduled end time for the event.
  44451. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  44452. // The earliest scheduled start time for the event.
  44453. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  44454. }
  44455. // String returns the string representation
  44456. func (s InstanceStatusEvent) String() string {
  44457. return awsutil.Prettify(s)
  44458. }
  44459. // GoString returns the string representation
  44460. func (s InstanceStatusEvent) GoString() string {
  44461. return s.String()
  44462. }
  44463. // SetCode sets the Code field's value.
  44464. func (s *InstanceStatusEvent) SetCode(v string) *InstanceStatusEvent {
  44465. s.Code = &v
  44466. return s
  44467. }
  44468. // SetDescription sets the Description field's value.
  44469. func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent {
  44470. s.Description = &v
  44471. return s
  44472. }
  44473. // SetNotAfter sets the NotAfter field's value.
  44474. func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent {
  44475. s.NotAfter = &v
  44476. return s
  44477. }
  44478. // SetNotBefore sets the NotBefore field's value.
  44479. func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent {
  44480. s.NotBefore = &v
  44481. return s
  44482. }
  44483. // Describes the status of an instance.
  44484. type InstanceStatusSummary struct {
  44485. _ struct{} `type:"structure"`
  44486. // The system instance health or application instance health.
  44487. Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  44488. // The status.
  44489. Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
  44490. }
  44491. // String returns the string representation
  44492. func (s InstanceStatusSummary) String() string {
  44493. return awsutil.Prettify(s)
  44494. }
  44495. // GoString returns the string representation
  44496. func (s InstanceStatusSummary) GoString() string {
  44497. return s.String()
  44498. }
  44499. // SetDetails sets the Details field's value.
  44500. func (s *InstanceStatusSummary) SetDetails(v []*InstanceStatusDetails) *InstanceStatusSummary {
  44501. s.Details = v
  44502. return s
  44503. }
  44504. // SetStatus sets the Status field's value.
  44505. func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
  44506. s.Status = &v
  44507. return s
  44508. }
  44509. // Describes an Internet gateway.
  44510. type InternetGateway struct {
  44511. _ struct{} `type:"structure"`
  44512. // Any VPCs attached to the Internet gateway.
  44513. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  44514. // The ID of the Internet gateway.
  44515. InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
  44516. // Any tags assigned to the Internet gateway.
  44517. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  44518. }
  44519. // String returns the string representation
  44520. func (s InternetGateway) String() string {
  44521. return awsutil.Prettify(s)
  44522. }
  44523. // GoString returns the string representation
  44524. func (s InternetGateway) GoString() string {
  44525. return s.String()
  44526. }
  44527. // SetAttachments sets the Attachments field's value.
  44528. func (s *InternetGateway) SetAttachments(v []*InternetGatewayAttachment) *InternetGateway {
  44529. s.Attachments = v
  44530. return s
  44531. }
  44532. // SetInternetGatewayId sets the InternetGatewayId field's value.
  44533. func (s *InternetGateway) SetInternetGatewayId(v string) *InternetGateway {
  44534. s.InternetGatewayId = &v
  44535. return s
  44536. }
  44537. // SetTags sets the Tags field's value.
  44538. func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
  44539. s.Tags = v
  44540. return s
  44541. }
  44542. // Describes the attachment of a VPC to an Internet gateway or an egress-only
  44543. // Internet gateway.
  44544. type InternetGatewayAttachment struct {
  44545. _ struct{} `type:"structure"`
  44546. // The current state of the attachment. For an Internet gateway, the state is
  44547. // available when attached to a VPC; otherwise, this value is not returned.
  44548. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  44549. // The ID of the VPC.
  44550. VpcId *string `locationName:"vpcId" type:"string"`
  44551. }
  44552. // String returns the string representation
  44553. func (s InternetGatewayAttachment) String() string {
  44554. return awsutil.Prettify(s)
  44555. }
  44556. // GoString returns the string representation
  44557. func (s InternetGatewayAttachment) GoString() string {
  44558. return s.String()
  44559. }
  44560. // SetState sets the State field's value.
  44561. func (s *InternetGatewayAttachment) SetState(v string) *InternetGatewayAttachment {
  44562. s.State = &v
  44563. return s
  44564. }
  44565. // SetVpcId sets the VpcId field's value.
  44566. func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachment {
  44567. s.VpcId = &v
  44568. return s
  44569. }
  44570. // Describes a set of permissions for a security group rule.
  44571. type IpPermission struct {
  44572. _ struct{} `type:"structure"`
  44573. // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
  44574. // type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify
  44575. // all ICMP/ICMPv6 types, you must specify all codes.
  44576. FromPort *int64 `locationName:"fromPort" type:"integer"`
  44577. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  44578. //
  44579. // [EC2-VPC only] Use -1 to specify all protocols. When authorizing security
  44580. // group rules, specifying -1 or a protocol number other than tcp, udp, icmp,
  44581. // or 58 (ICMPv6) allows traffic on all ports, regardless of any port range
  44582. // you specify. For tcp, udp, and icmp, you must specify a port range. For 58
  44583. // (ICMPv6), you can optionally specify a port range; if you don't, traffic
  44584. // for all types and codes is allowed when authorizing rules.
  44585. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  44586. // One or more IPv4 ranges.
  44587. IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
  44588. // [EC2-VPC only] One or more IPv6 ranges.
  44589. Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"`
  44590. // (EC2-VPC only; valid for AuthorizeSecurityGroupEgress, RevokeSecurityGroupEgress
  44591. // and DescribeSecurityGroups only) One or more prefix list IDs for an AWS service.
  44592. // In an AuthorizeSecurityGroupEgress request, this is the AWS service that
  44593. // you want to access through a VPC endpoint from instances associated with
  44594. // the security group.
  44595. PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  44596. // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
  44597. // A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type.
  44598. // If you specify all ICMP/ICMPv6 types, you must specify all codes.
  44599. ToPort *int64 `locationName:"toPort" type:"integer"`
  44600. // One or more security group and AWS account ID pairs.
  44601. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  44602. }
  44603. // String returns the string representation
  44604. func (s IpPermission) String() string {
  44605. return awsutil.Prettify(s)
  44606. }
  44607. // GoString returns the string representation
  44608. func (s IpPermission) GoString() string {
  44609. return s.String()
  44610. }
  44611. // SetFromPort sets the FromPort field's value.
  44612. func (s *IpPermission) SetFromPort(v int64) *IpPermission {
  44613. s.FromPort = &v
  44614. return s
  44615. }
  44616. // SetIpProtocol sets the IpProtocol field's value.
  44617. func (s *IpPermission) SetIpProtocol(v string) *IpPermission {
  44618. s.IpProtocol = &v
  44619. return s
  44620. }
  44621. // SetIpRanges sets the IpRanges field's value.
  44622. func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission {
  44623. s.IpRanges = v
  44624. return s
  44625. }
  44626. // SetIpv6Ranges sets the Ipv6Ranges field's value.
  44627. func (s *IpPermission) SetIpv6Ranges(v []*Ipv6Range) *IpPermission {
  44628. s.Ipv6Ranges = v
  44629. return s
  44630. }
  44631. // SetPrefixListIds sets the PrefixListIds field's value.
  44632. func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission {
  44633. s.PrefixListIds = v
  44634. return s
  44635. }
  44636. // SetToPort sets the ToPort field's value.
  44637. func (s *IpPermission) SetToPort(v int64) *IpPermission {
  44638. s.ToPort = &v
  44639. return s
  44640. }
  44641. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  44642. func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission {
  44643. s.UserIdGroupPairs = v
  44644. return s
  44645. }
  44646. // Describes an IPv4 range.
  44647. type IpRange struct {
  44648. _ struct{} `type:"structure"`
  44649. // The IPv4 CIDR range. You can either specify a CIDR range or a source security
  44650. // group, not both. To specify a single IPv4 address, use the /32 prefix length.
  44651. CidrIp *string `locationName:"cidrIp" type:"string"`
  44652. // A description for the security group rule that references this IPv4 address
  44653. // range.
  44654. //
  44655. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  44656. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
  44657. Description *string `locationName:"description" type:"string"`
  44658. }
  44659. // String returns the string representation
  44660. func (s IpRange) String() string {
  44661. return awsutil.Prettify(s)
  44662. }
  44663. // GoString returns the string representation
  44664. func (s IpRange) GoString() string {
  44665. return s.String()
  44666. }
  44667. // SetCidrIp sets the CidrIp field's value.
  44668. func (s *IpRange) SetCidrIp(v string) *IpRange {
  44669. s.CidrIp = &v
  44670. return s
  44671. }
  44672. // SetDescription sets the Description field's value.
  44673. func (s *IpRange) SetDescription(v string) *IpRange {
  44674. s.Description = &v
  44675. return s
  44676. }
  44677. // Describes an IPv6 CIDR block.
  44678. type Ipv6CidrBlock struct {
  44679. _ struct{} `type:"structure"`
  44680. // The IPv6 CIDR block.
  44681. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  44682. }
  44683. // String returns the string representation
  44684. func (s Ipv6CidrBlock) String() string {
  44685. return awsutil.Prettify(s)
  44686. }
  44687. // GoString returns the string representation
  44688. func (s Ipv6CidrBlock) GoString() string {
  44689. return s.String()
  44690. }
  44691. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  44692. func (s *Ipv6CidrBlock) SetIpv6CidrBlock(v string) *Ipv6CidrBlock {
  44693. s.Ipv6CidrBlock = &v
  44694. return s
  44695. }
  44696. // [EC2-VPC only] Describes an IPv6 range.
  44697. type Ipv6Range struct {
  44698. _ struct{} `type:"structure"`
  44699. // The IPv6 CIDR range. You can either specify a CIDR range or a source security
  44700. // group, not both. To specify a single IPv6 address, use the /128 prefix length.
  44701. CidrIpv6 *string `locationName:"cidrIpv6" type:"string"`
  44702. // A description for the security group rule that references this IPv6 address
  44703. // range.
  44704. //
  44705. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  44706. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
  44707. Description *string `locationName:"description" type:"string"`
  44708. }
  44709. // String returns the string representation
  44710. func (s Ipv6Range) String() string {
  44711. return awsutil.Prettify(s)
  44712. }
  44713. // GoString returns the string representation
  44714. func (s Ipv6Range) GoString() string {
  44715. return s.String()
  44716. }
  44717. // SetCidrIpv6 sets the CidrIpv6 field's value.
  44718. func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range {
  44719. s.CidrIpv6 = &v
  44720. return s
  44721. }
  44722. // SetDescription sets the Description field's value.
  44723. func (s *Ipv6Range) SetDescription(v string) *Ipv6Range {
  44724. s.Description = &v
  44725. return s
  44726. }
  44727. // Describes a key pair.
  44728. type KeyPairInfo struct {
  44729. _ struct{} `type:"structure"`
  44730. // If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
  44731. // of the DER encoded private key. If you used ImportKeyPair to provide AWS
  44732. // the public key, this is the MD5 public key fingerprint as specified in section
  44733. // 4 of RFC4716.
  44734. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  44735. // The name of the key pair.
  44736. KeyName *string `locationName:"keyName" type:"string"`
  44737. }
  44738. // String returns the string representation
  44739. func (s KeyPairInfo) String() string {
  44740. return awsutil.Prettify(s)
  44741. }
  44742. // GoString returns the string representation
  44743. func (s KeyPairInfo) GoString() string {
  44744. return s.String()
  44745. }
  44746. // SetKeyFingerprint sets the KeyFingerprint field's value.
  44747. func (s *KeyPairInfo) SetKeyFingerprint(v string) *KeyPairInfo {
  44748. s.KeyFingerprint = &v
  44749. return s
  44750. }
  44751. // SetKeyName sets the KeyName field's value.
  44752. func (s *KeyPairInfo) SetKeyName(v string) *KeyPairInfo {
  44753. s.KeyName = &v
  44754. return s
  44755. }
  44756. // Describes a launch permission.
  44757. type LaunchPermission struct {
  44758. _ struct{} `type:"structure"`
  44759. // The name of the group.
  44760. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  44761. // The AWS account ID.
  44762. UserId *string `locationName:"userId" type:"string"`
  44763. }
  44764. // String returns the string representation
  44765. func (s LaunchPermission) String() string {
  44766. return awsutil.Prettify(s)
  44767. }
  44768. // GoString returns the string representation
  44769. func (s LaunchPermission) GoString() string {
  44770. return s.String()
  44771. }
  44772. // SetGroup sets the Group field's value.
  44773. func (s *LaunchPermission) SetGroup(v string) *LaunchPermission {
  44774. s.Group = &v
  44775. return s
  44776. }
  44777. // SetUserId sets the UserId field's value.
  44778. func (s *LaunchPermission) SetUserId(v string) *LaunchPermission {
  44779. s.UserId = &v
  44780. return s
  44781. }
  44782. // Describes a launch permission modification.
  44783. type LaunchPermissionModifications struct {
  44784. _ struct{} `type:"structure"`
  44785. // The AWS account ID to add to the list of launch permissions for the AMI.
  44786. Add []*LaunchPermission `locationNameList:"item" type:"list"`
  44787. // The AWS account ID to remove from the list of launch permissions for the
  44788. // AMI.
  44789. Remove []*LaunchPermission `locationNameList:"item" type:"list"`
  44790. }
  44791. // String returns the string representation
  44792. func (s LaunchPermissionModifications) String() string {
  44793. return awsutil.Prettify(s)
  44794. }
  44795. // GoString returns the string representation
  44796. func (s LaunchPermissionModifications) GoString() string {
  44797. return s.String()
  44798. }
  44799. // SetAdd sets the Add field's value.
  44800. func (s *LaunchPermissionModifications) SetAdd(v []*LaunchPermission) *LaunchPermissionModifications {
  44801. s.Add = v
  44802. return s
  44803. }
  44804. // SetRemove sets the Remove field's value.
  44805. func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *LaunchPermissionModifications {
  44806. s.Remove = v
  44807. return s
  44808. }
  44809. // Describes the launch specification for an instance.
  44810. type LaunchSpecification struct {
  44811. _ struct{} `type:"structure"`
  44812. // Deprecated.
  44813. AddressingType *string `locationName:"addressingType" type:"string"`
  44814. // One or more block device mapping entries.
  44815. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  44816. // Indicates whether the instance is optimized for EBS I/O. This optimization
  44817. // provides dedicated throughput to Amazon EBS and an optimized configuration
  44818. // stack to provide optimal EBS I/O performance. This optimization isn't available
  44819. // with all instance types. Additional usage charges apply when using an EBS
  44820. // Optimized instance.
  44821. //
  44822. // Default: false
  44823. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  44824. // The IAM instance profile.
  44825. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  44826. // The ID of the AMI.
  44827. ImageId *string `locationName:"imageId" type:"string"`
  44828. // The instance type.
  44829. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  44830. // The ID of the kernel.
  44831. KernelId *string `locationName:"kernelId" type:"string"`
  44832. // The name of the key pair.
  44833. KeyName *string `locationName:"keyName" type:"string"`
  44834. // Describes the monitoring of an instance.
  44835. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  44836. // One or more network interfaces. If you specify a network interface, you must
  44837. // specify subnet IDs and security group IDs using the network interface.
  44838. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  44839. // The placement information for the instance.
  44840. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  44841. // The ID of the RAM disk.
  44842. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  44843. // One or more security groups. When requesting instances in a VPC, you must
  44844. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  44845. // you can specify the names or the IDs of the security groups.
  44846. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  44847. // The ID of the subnet in which to launch the instance.
  44848. SubnetId *string `locationName:"subnetId" type:"string"`
  44849. // The Base64-encoded user data for the instance.
  44850. UserData *string `locationName:"userData" type:"string"`
  44851. }
  44852. // String returns the string representation
  44853. func (s LaunchSpecification) String() string {
  44854. return awsutil.Prettify(s)
  44855. }
  44856. // GoString returns the string representation
  44857. func (s LaunchSpecification) GoString() string {
  44858. return s.String()
  44859. }
  44860. // SetAddressingType sets the AddressingType field's value.
  44861. func (s *LaunchSpecification) SetAddressingType(v string) *LaunchSpecification {
  44862. s.AddressingType = &v
  44863. return s
  44864. }
  44865. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  44866. func (s *LaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchSpecification {
  44867. s.BlockDeviceMappings = v
  44868. return s
  44869. }
  44870. // SetEbsOptimized sets the EbsOptimized field's value.
  44871. func (s *LaunchSpecification) SetEbsOptimized(v bool) *LaunchSpecification {
  44872. s.EbsOptimized = &v
  44873. return s
  44874. }
  44875. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  44876. func (s *LaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *LaunchSpecification {
  44877. s.IamInstanceProfile = v
  44878. return s
  44879. }
  44880. // SetImageId sets the ImageId field's value.
  44881. func (s *LaunchSpecification) SetImageId(v string) *LaunchSpecification {
  44882. s.ImageId = &v
  44883. return s
  44884. }
  44885. // SetInstanceType sets the InstanceType field's value.
  44886. func (s *LaunchSpecification) SetInstanceType(v string) *LaunchSpecification {
  44887. s.InstanceType = &v
  44888. return s
  44889. }
  44890. // SetKernelId sets the KernelId field's value.
  44891. func (s *LaunchSpecification) SetKernelId(v string) *LaunchSpecification {
  44892. s.KernelId = &v
  44893. return s
  44894. }
  44895. // SetKeyName sets the KeyName field's value.
  44896. func (s *LaunchSpecification) SetKeyName(v string) *LaunchSpecification {
  44897. s.KeyName = &v
  44898. return s
  44899. }
  44900. // SetMonitoring sets the Monitoring field's value.
  44901. func (s *LaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *LaunchSpecification {
  44902. s.Monitoring = v
  44903. return s
  44904. }
  44905. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  44906. func (s *LaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *LaunchSpecification {
  44907. s.NetworkInterfaces = v
  44908. return s
  44909. }
  44910. // SetPlacement sets the Placement field's value.
  44911. func (s *LaunchSpecification) SetPlacement(v *SpotPlacement) *LaunchSpecification {
  44912. s.Placement = v
  44913. return s
  44914. }
  44915. // SetRamdiskId sets the RamdiskId field's value.
  44916. func (s *LaunchSpecification) SetRamdiskId(v string) *LaunchSpecification {
  44917. s.RamdiskId = &v
  44918. return s
  44919. }
  44920. // SetSecurityGroups sets the SecurityGroups field's value.
  44921. func (s *LaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *LaunchSpecification {
  44922. s.SecurityGroups = v
  44923. return s
  44924. }
  44925. // SetSubnetId sets the SubnetId field's value.
  44926. func (s *LaunchSpecification) SetSubnetId(v string) *LaunchSpecification {
  44927. s.SubnetId = &v
  44928. return s
  44929. }
  44930. // SetUserData sets the UserData field's value.
  44931. func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification {
  44932. s.UserData = &v
  44933. return s
  44934. }
  44935. // Describes a launch template.
  44936. type LaunchTemplate struct {
  44937. _ struct{} `type:"structure"`
  44938. // The time launch template was created.
  44939. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  44940. // The principal that created the launch template.
  44941. CreatedBy *string `locationName:"createdBy" type:"string"`
  44942. // The version number of the default version of the launch template.
  44943. DefaultVersionNumber *int64 `locationName:"defaultVersionNumber" type:"long"`
  44944. // The version number of the latest version of the launch template.
  44945. LatestVersionNumber *int64 `locationName:"latestVersionNumber" type:"long"`
  44946. // The ID of the launch template.
  44947. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  44948. // The name of the launch template.
  44949. LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
  44950. // The tags for the launch template.
  44951. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  44952. }
  44953. // String returns the string representation
  44954. func (s LaunchTemplate) String() string {
  44955. return awsutil.Prettify(s)
  44956. }
  44957. // GoString returns the string representation
  44958. func (s LaunchTemplate) GoString() string {
  44959. return s.String()
  44960. }
  44961. // SetCreateTime sets the CreateTime field's value.
  44962. func (s *LaunchTemplate) SetCreateTime(v time.Time) *LaunchTemplate {
  44963. s.CreateTime = &v
  44964. return s
  44965. }
  44966. // SetCreatedBy sets the CreatedBy field's value.
  44967. func (s *LaunchTemplate) SetCreatedBy(v string) *LaunchTemplate {
  44968. s.CreatedBy = &v
  44969. return s
  44970. }
  44971. // SetDefaultVersionNumber sets the DefaultVersionNumber field's value.
  44972. func (s *LaunchTemplate) SetDefaultVersionNumber(v int64) *LaunchTemplate {
  44973. s.DefaultVersionNumber = &v
  44974. return s
  44975. }
  44976. // SetLatestVersionNumber sets the LatestVersionNumber field's value.
  44977. func (s *LaunchTemplate) SetLatestVersionNumber(v int64) *LaunchTemplate {
  44978. s.LatestVersionNumber = &v
  44979. return s
  44980. }
  44981. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  44982. func (s *LaunchTemplate) SetLaunchTemplateId(v string) *LaunchTemplate {
  44983. s.LaunchTemplateId = &v
  44984. return s
  44985. }
  44986. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  44987. func (s *LaunchTemplate) SetLaunchTemplateName(v string) *LaunchTemplate {
  44988. s.LaunchTemplateName = &v
  44989. return s
  44990. }
  44991. // SetTags sets the Tags field's value.
  44992. func (s *LaunchTemplate) SetTags(v []*Tag) *LaunchTemplate {
  44993. s.Tags = v
  44994. return s
  44995. }
  44996. // Describes a block device mapping.
  44997. type LaunchTemplateBlockDeviceMapping struct {
  44998. _ struct{} `type:"structure"`
  44999. // The device name.
  45000. DeviceName *string `locationName:"deviceName" type:"string"`
  45001. // Information about the block device for an EBS volume.
  45002. Ebs *LaunchTemplateEbsBlockDevice `locationName:"ebs" type:"structure"`
  45003. // Suppresses the specified device included in the block device mapping of the
  45004. // AMI.
  45005. NoDevice *string `locationName:"noDevice" type:"string"`
  45006. // The virtual device name (ephemeralN).
  45007. VirtualName *string `locationName:"virtualName" type:"string"`
  45008. }
  45009. // String returns the string representation
  45010. func (s LaunchTemplateBlockDeviceMapping) String() string {
  45011. return awsutil.Prettify(s)
  45012. }
  45013. // GoString returns the string representation
  45014. func (s LaunchTemplateBlockDeviceMapping) GoString() string {
  45015. return s.String()
  45016. }
  45017. // SetDeviceName sets the DeviceName field's value.
  45018. func (s *LaunchTemplateBlockDeviceMapping) SetDeviceName(v string) *LaunchTemplateBlockDeviceMapping {
  45019. s.DeviceName = &v
  45020. return s
  45021. }
  45022. // SetEbs sets the Ebs field's value.
  45023. func (s *LaunchTemplateBlockDeviceMapping) SetEbs(v *LaunchTemplateEbsBlockDevice) *LaunchTemplateBlockDeviceMapping {
  45024. s.Ebs = v
  45025. return s
  45026. }
  45027. // SetNoDevice sets the NoDevice field's value.
  45028. func (s *LaunchTemplateBlockDeviceMapping) SetNoDevice(v string) *LaunchTemplateBlockDeviceMapping {
  45029. s.NoDevice = &v
  45030. return s
  45031. }
  45032. // SetVirtualName sets the VirtualName field's value.
  45033. func (s *LaunchTemplateBlockDeviceMapping) SetVirtualName(v string) *LaunchTemplateBlockDeviceMapping {
  45034. s.VirtualName = &v
  45035. return s
  45036. }
  45037. // Describes a block device mapping.
  45038. type LaunchTemplateBlockDeviceMappingRequest struct {
  45039. _ struct{} `type:"structure"`
  45040. // The device name (for example, /dev/sdh or xvdh).
  45041. DeviceName *string `type:"string"`
  45042. // Parameters used to automatically set up EBS volumes when the instance is
  45043. // launched.
  45044. Ebs *LaunchTemplateEbsBlockDeviceRequest `type:"structure"`
  45045. // Suppresses the specified device included in the block device mapping of the
  45046. // AMI.
  45047. NoDevice *string `type:"string"`
  45048. // The virtual device name (ephemeralN). Instance store volumes are numbered
  45049. // starting from 0. An instance type with 2 available instance store volumes
  45050. // can specify mappings for ephemeral0 and ephemeral1. The number of available
  45051. // instance store volumes depends on the instance type. After you connect to
  45052. // the instance, you must mount the volume.
  45053. VirtualName *string `type:"string"`
  45054. }
  45055. // String returns the string representation
  45056. func (s LaunchTemplateBlockDeviceMappingRequest) String() string {
  45057. return awsutil.Prettify(s)
  45058. }
  45059. // GoString returns the string representation
  45060. func (s LaunchTemplateBlockDeviceMappingRequest) GoString() string {
  45061. return s.String()
  45062. }
  45063. // SetDeviceName sets the DeviceName field's value.
  45064. func (s *LaunchTemplateBlockDeviceMappingRequest) SetDeviceName(v string) *LaunchTemplateBlockDeviceMappingRequest {
  45065. s.DeviceName = &v
  45066. return s
  45067. }
  45068. // SetEbs sets the Ebs field's value.
  45069. func (s *LaunchTemplateBlockDeviceMappingRequest) SetEbs(v *LaunchTemplateEbsBlockDeviceRequest) *LaunchTemplateBlockDeviceMappingRequest {
  45070. s.Ebs = v
  45071. return s
  45072. }
  45073. // SetNoDevice sets the NoDevice field's value.
  45074. func (s *LaunchTemplateBlockDeviceMappingRequest) SetNoDevice(v string) *LaunchTemplateBlockDeviceMappingRequest {
  45075. s.NoDevice = &v
  45076. return s
  45077. }
  45078. // SetVirtualName sets the VirtualName field's value.
  45079. func (s *LaunchTemplateBlockDeviceMappingRequest) SetVirtualName(v string) *LaunchTemplateBlockDeviceMappingRequest {
  45080. s.VirtualName = &v
  45081. return s
  45082. }
  45083. // Describes a launch template and overrides.
  45084. type LaunchTemplateConfig struct {
  45085. _ struct{} `type:"structure"`
  45086. // The launch template.
  45087. LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
  45088. // Any parameters that you specify override the same parameters in the launch
  45089. // template.
  45090. Overrides []*LaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
  45091. }
  45092. // String returns the string representation
  45093. func (s LaunchTemplateConfig) String() string {
  45094. return awsutil.Prettify(s)
  45095. }
  45096. // GoString returns the string representation
  45097. func (s LaunchTemplateConfig) GoString() string {
  45098. return s.String()
  45099. }
  45100. // Validate inspects the fields of the type to determine if they are valid.
  45101. func (s *LaunchTemplateConfig) Validate() error {
  45102. invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateConfig"}
  45103. if s.LaunchTemplateSpecification != nil {
  45104. if err := s.LaunchTemplateSpecification.Validate(); err != nil {
  45105. invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
  45106. }
  45107. }
  45108. if invalidParams.Len() > 0 {
  45109. return invalidParams
  45110. }
  45111. return nil
  45112. }
  45113. // SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
  45114. func (s *LaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateConfig {
  45115. s.LaunchTemplateSpecification = v
  45116. return s
  45117. }
  45118. // SetOverrides sets the Overrides field's value.
  45119. func (s *LaunchTemplateConfig) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTemplateConfig {
  45120. s.Overrides = v
  45121. return s
  45122. }
  45123. // Describes a block device for an EBS volume.
  45124. type LaunchTemplateEbsBlockDevice struct {
  45125. _ struct{} `type:"structure"`
  45126. // Indicates whether the EBS volume is deleted on instance termination.
  45127. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  45128. // Indicates whether the EBS volume is encrypted.
  45129. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  45130. // The number of I/O operations per second (IOPS) that the volume supports.
  45131. Iops *int64 `locationName:"iops" type:"integer"`
  45132. // The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
  45133. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  45134. // The ID of the snapshot.
  45135. SnapshotId *string `locationName:"snapshotId" type:"string"`
  45136. // The size of the volume, in GiB.
  45137. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  45138. // The volume type.
  45139. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  45140. }
  45141. // String returns the string representation
  45142. func (s LaunchTemplateEbsBlockDevice) String() string {
  45143. return awsutil.Prettify(s)
  45144. }
  45145. // GoString returns the string representation
  45146. func (s LaunchTemplateEbsBlockDevice) GoString() string {
  45147. return s.String()
  45148. }
  45149. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  45150. func (s *LaunchTemplateEbsBlockDevice) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDevice {
  45151. s.DeleteOnTermination = &v
  45152. return s
  45153. }
  45154. // SetEncrypted sets the Encrypted field's value.
  45155. func (s *LaunchTemplateEbsBlockDevice) SetEncrypted(v bool) *LaunchTemplateEbsBlockDevice {
  45156. s.Encrypted = &v
  45157. return s
  45158. }
  45159. // SetIops sets the Iops field's value.
  45160. func (s *LaunchTemplateEbsBlockDevice) SetIops(v int64) *LaunchTemplateEbsBlockDevice {
  45161. s.Iops = &v
  45162. return s
  45163. }
  45164. // SetKmsKeyId sets the KmsKeyId field's value.
  45165. func (s *LaunchTemplateEbsBlockDevice) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDevice {
  45166. s.KmsKeyId = &v
  45167. return s
  45168. }
  45169. // SetSnapshotId sets the SnapshotId field's value.
  45170. func (s *LaunchTemplateEbsBlockDevice) SetSnapshotId(v string) *LaunchTemplateEbsBlockDevice {
  45171. s.SnapshotId = &v
  45172. return s
  45173. }
  45174. // SetVolumeSize sets the VolumeSize field's value.
  45175. func (s *LaunchTemplateEbsBlockDevice) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDevice {
  45176. s.VolumeSize = &v
  45177. return s
  45178. }
  45179. // SetVolumeType sets the VolumeType field's value.
  45180. func (s *LaunchTemplateEbsBlockDevice) SetVolumeType(v string) *LaunchTemplateEbsBlockDevice {
  45181. s.VolumeType = &v
  45182. return s
  45183. }
  45184. // The parameters for a block device for an EBS volume.
  45185. type LaunchTemplateEbsBlockDeviceRequest struct {
  45186. _ struct{} `type:"structure"`
  45187. // Indicates whether the EBS volume is deleted on instance termination.
  45188. DeleteOnTermination *bool `type:"boolean"`
  45189. // Indicates whether the EBS volume is encrypted. Encrypted volumes can only
  45190. // be attached to instances that support Amazon EBS encryption. If you are creating
  45191. // a volume from a snapshot, you can't specify an encryption value.
  45192. Encrypted *bool `type:"boolean"`
  45193. // The number of I/O operations per second (IOPS) that the volume supports.
  45194. // For io1, this represents the number of IOPS that are provisioned for the
  45195. // volume. For gp2, this represents the baseline performance of the volume and
  45196. // the rate at which the volume accumulates I/O credits for bursting. For more
  45197. // information about General Purpose SSD baseline performance, I/O credits,
  45198. // and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud
  45199. // User Guide.
  45200. //
  45201. // Condition: This parameter is required for requests to create io1 volumes;
  45202. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  45203. Iops *int64 `type:"integer"`
  45204. // The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
  45205. KmsKeyId *string `type:"string"`
  45206. // The ID of the snapshot.
  45207. SnapshotId *string `type:"string"`
  45208. // The size of the volume, in GiB.
  45209. //
  45210. // Default: If you're creating the volume from a snapshot and don't specify
  45211. // a volume size, the default is the snapshot size.
  45212. VolumeSize *int64 `type:"integer"`
  45213. // The volume type.
  45214. VolumeType *string `type:"string" enum:"VolumeType"`
  45215. }
  45216. // String returns the string representation
  45217. func (s LaunchTemplateEbsBlockDeviceRequest) String() string {
  45218. return awsutil.Prettify(s)
  45219. }
  45220. // GoString returns the string representation
  45221. func (s LaunchTemplateEbsBlockDeviceRequest) GoString() string {
  45222. return s.String()
  45223. }
  45224. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  45225. func (s *LaunchTemplateEbsBlockDeviceRequest) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDeviceRequest {
  45226. s.DeleteOnTermination = &v
  45227. return s
  45228. }
  45229. // SetEncrypted sets the Encrypted field's value.
  45230. func (s *LaunchTemplateEbsBlockDeviceRequest) SetEncrypted(v bool) *LaunchTemplateEbsBlockDeviceRequest {
  45231. s.Encrypted = &v
  45232. return s
  45233. }
  45234. // SetIops sets the Iops field's value.
  45235. func (s *LaunchTemplateEbsBlockDeviceRequest) SetIops(v int64) *LaunchTemplateEbsBlockDeviceRequest {
  45236. s.Iops = &v
  45237. return s
  45238. }
  45239. // SetKmsKeyId sets the KmsKeyId field's value.
  45240. func (s *LaunchTemplateEbsBlockDeviceRequest) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDeviceRequest {
  45241. s.KmsKeyId = &v
  45242. return s
  45243. }
  45244. // SetSnapshotId sets the SnapshotId field's value.
  45245. func (s *LaunchTemplateEbsBlockDeviceRequest) SetSnapshotId(v string) *LaunchTemplateEbsBlockDeviceRequest {
  45246. s.SnapshotId = &v
  45247. return s
  45248. }
  45249. // SetVolumeSize sets the VolumeSize field's value.
  45250. func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDeviceRequest {
  45251. s.VolumeSize = &v
  45252. return s
  45253. }
  45254. // SetVolumeType sets the VolumeType field's value.
  45255. func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeType(v string) *LaunchTemplateEbsBlockDeviceRequest {
  45256. s.VolumeType = &v
  45257. return s
  45258. }
  45259. // Describes an IAM instance profile.
  45260. type LaunchTemplateIamInstanceProfileSpecification struct {
  45261. _ struct{} `type:"structure"`
  45262. // The Amazon Resource Name (ARN) of the instance profile.
  45263. Arn *string `locationName:"arn" type:"string"`
  45264. // The name of the instance profile.
  45265. Name *string `locationName:"name" type:"string"`
  45266. }
  45267. // String returns the string representation
  45268. func (s LaunchTemplateIamInstanceProfileSpecification) String() string {
  45269. return awsutil.Prettify(s)
  45270. }
  45271. // GoString returns the string representation
  45272. func (s LaunchTemplateIamInstanceProfileSpecification) GoString() string {
  45273. return s.String()
  45274. }
  45275. // SetArn sets the Arn field's value.
  45276. func (s *LaunchTemplateIamInstanceProfileSpecification) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecification {
  45277. s.Arn = &v
  45278. return s
  45279. }
  45280. // SetName sets the Name field's value.
  45281. func (s *LaunchTemplateIamInstanceProfileSpecification) SetName(v string) *LaunchTemplateIamInstanceProfileSpecification {
  45282. s.Name = &v
  45283. return s
  45284. }
  45285. // An IAM instance profile.
  45286. type LaunchTemplateIamInstanceProfileSpecificationRequest struct {
  45287. _ struct{} `type:"structure"`
  45288. // The Amazon Resource Name (ARN) of the instance profile.
  45289. Arn *string `type:"string"`
  45290. // The name of the instance profile.
  45291. Name *string `type:"string"`
  45292. }
  45293. // String returns the string representation
  45294. func (s LaunchTemplateIamInstanceProfileSpecificationRequest) String() string {
  45295. return awsutil.Prettify(s)
  45296. }
  45297. // GoString returns the string representation
  45298. func (s LaunchTemplateIamInstanceProfileSpecificationRequest) GoString() string {
  45299. return s.String()
  45300. }
  45301. // SetArn sets the Arn field's value.
  45302. func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
  45303. s.Arn = &v
  45304. return s
  45305. }
  45306. // SetName sets the Name field's value.
  45307. func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetName(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
  45308. s.Name = &v
  45309. return s
  45310. }
  45311. // The market (purchasing) option for the instances.
  45312. type LaunchTemplateInstanceMarketOptions struct {
  45313. _ struct{} `type:"structure"`
  45314. // The market type.
  45315. MarketType *string `locationName:"marketType" type:"string" enum:"MarketType"`
  45316. // The options for Spot Instances.
  45317. SpotOptions *LaunchTemplateSpotMarketOptions `locationName:"spotOptions" type:"structure"`
  45318. }
  45319. // String returns the string representation
  45320. func (s LaunchTemplateInstanceMarketOptions) String() string {
  45321. return awsutil.Prettify(s)
  45322. }
  45323. // GoString returns the string representation
  45324. func (s LaunchTemplateInstanceMarketOptions) GoString() string {
  45325. return s.String()
  45326. }
  45327. // SetMarketType sets the MarketType field's value.
  45328. func (s *LaunchTemplateInstanceMarketOptions) SetMarketType(v string) *LaunchTemplateInstanceMarketOptions {
  45329. s.MarketType = &v
  45330. return s
  45331. }
  45332. // SetSpotOptions sets the SpotOptions field's value.
  45333. func (s *LaunchTemplateInstanceMarketOptions) SetSpotOptions(v *LaunchTemplateSpotMarketOptions) *LaunchTemplateInstanceMarketOptions {
  45334. s.SpotOptions = v
  45335. return s
  45336. }
  45337. // The market (purchasing) option for the instances.
  45338. type LaunchTemplateInstanceMarketOptionsRequest struct {
  45339. _ struct{} `type:"structure"`
  45340. // The market type.
  45341. MarketType *string `type:"string" enum:"MarketType"`
  45342. // The options for Spot Instances.
  45343. SpotOptions *LaunchTemplateSpotMarketOptionsRequest `type:"structure"`
  45344. }
  45345. // String returns the string representation
  45346. func (s LaunchTemplateInstanceMarketOptionsRequest) String() string {
  45347. return awsutil.Prettify(s)
  45348. }
  45349. // GoString returns the string representation
  45350. func (s LaunchTemplateInstanceMarketOptionsRequest) GoString() string {
  45351. return s.String()
  45352. }
  45353. // SetMarketType sets the MarketType field's value.
  45354. func (s *LaunchTemplateInstanceMarketOptionsRequest) SetMarketType(v string) *LaunchTemplateInstanceMarketOptionsRequest {
  45355. s.MarketType = &v
  45356. return s
  45357. }
  45358. // SetSpotOptions sets the SpotOptions field's value.
  45359. func (s *LaunchTemplateInstanceMarketOptionsRequest) SetSpotOptions(v *LaunchTemplateSpotMarketOptionsRequest) *LaunchTemplateInstanceMarketOptionsRequest {
  45360. s.SpotOptions = v
  45361. return s
  45362. }
  45363. // Describes a network interface.
  45364. type LaunchTemplateInstanceNetworkInterfaceSpecification struct {
  45365. _ struct{} `type:"structure"`
  45366. // Indicates whether to associate a public IPv4 address with eth0 for a new
  45367. // network interface.
  45368. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  45369. // Indicates whether the network interface is deleted when the instance is terminated.
  45370. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  45371. // A description for the network interface.
  45372. Description *string `locationName:"description" type:"string"`
  45373. // The device index for the network interface attachment.
  45374. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  45375. // The IDs of one or more security groups.
  45376. Groups []*string `locationName:"groupSet" locationNameList:"groupId" type:"list"`
  45377. // The number of IPv6 addresses for the network interface.
  45378. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  45379. // The IPv6 addresses for the network interface.
  45380. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  45381. // The ID of the network interface.
  45382. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  45383. // The primary private IPv4 address of the network interface.
  45384. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  45385. // One or more private IPv4 addresses.
  45386. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  45387. // The number of secondary private IPv4 addresses for the network interface.
  45388. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  45389. // The ID of the subnet for the network interface.
  45390. SubnetId *string `locationName:"subnetId" type:"string"`
  45391. }
  45392. // String returns the string representation
  45393. func (s LaunchTemplateInstanceNetworkInterfaceSpecification) String() string {
  45394. return awsutil.Prettify(s)
  45395. }
  45396. // GoString returns the string representation
  45397. func (s LaunchTemplateInstanceNetworkInterfaceSpecification) GoString() string {
  45398. return s.String()
  45399. }
  45400. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  45401. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  45402. s.AssociatePublicIpAddress = &v
  45403. return s
  45404. }
  45405. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  45406. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  45407. s.DeleteOnTermination = &v
  45408. return s
  45409. }
  45410. // SetDescription sets the Description field's value.
  45411. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  45412. s.Description = &v
  45413. return s
  45414. }
  45415. // SetDeviceIndex sets the DeviceIndex field's value.
  45416. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  45417. s.DeviceIndex = &v
  45418. return s
  45419. }
  45420. // SetGroups sets the Groups field's value.
  45421. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  45422. s.Groups = v
  45423. return s
  45424. }
  45425. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  45426. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  45427. s.Ipv6AddressCount = &v
  45428. return s
  45429. }
  45430. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  45431. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  45432. s.Ipv6Addresses = v
  45433. return s
  45434. }
  45435. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  45436. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  45437. s.NetworkInterfaceId = &v
  45438. return s
  45439. }
  45440. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  45441. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  45442. s.PrivateIpAddress = &v
  45443. return s
  45444. }
  45445. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  45446. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  45447. s.PrivateIpAddresses = v
  45448. return s
  45449. }
  45450. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  45451. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  45452. s.SecondaryPrivateIpAddressCount = &v
  45453. return s
  45454. }
  45455. // SetSubnetId sets the SubnetId field's value.
  45456. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  45457. s.SubnetId = &v
  45458. return s
  45459. }
  45460. // The parameters for a network interface.
  45461. type LaunchTemplateInstanceNetworkInterfaceSpecificationRequest struct {
  45462. _ struct{} `type:"structure"`
  45463. // Associates a public IPv4 address with eth0 for a new network interface.
  45464. AssociatePublicIpAddress *bool `type:"boolean"`
  45465. // Indicates whether the network interface is deleted when the instance is terminated.
  45466. DeleteOnTermination *bool `type:"boolean"`
  45467. // A description for the network interface.
  45468. Description *string `type:"string"`
  45469. // The device index for the network interface attachment.
  45470. DeviceIndex *int64 `type:"integer"`
  45471. // The IDs of one or more security groups.
  45472. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  45473. // The number of IPv6 addresses to assign to a network interface. Amazon EC2
  45474. // automatically selects the IPv6 addresses from the subnet range. You can't
  45475. // use this option if specifying specific IPv6 addresses.
  45476. Ipv6AddressCount *int64 `type:"integer"`
  45477. // One or more specific IPv6 addresses from the IPv6 CIDR block range of your
  45478. // subnet. You can't use this option if you're specifying a number of IPv6 addresses.
  45479. Ipv6Addresses []*InstanceIpv6AddressRequest `locationNameList:"InstanceIpv6Address" type:"list"`
  45480. // The ID of the network interface.
  45481. NetworkInterfaceId *string `type:"string"`
  45482. // The primary private IPv4 address of the network interface.
  45483. PrivateIpAddress *string `type:"string"`
  45484. // One or more private IPv4 addresses.
  45485. PrivateIpAddresses []*PrivateIpAddressSpecification `locationNameList:"item" type:"list"`
  45486. // The number of secondary private IPv4 addresses to assign to a network interface.
  45487. SecondaryPrivateIpAddressCount *int64 `type:"integer"`
  45488. // The ID of the subnet for the network interface.
  45489. SubnetId *string `type:"string"`
  45490. }
  45491. // String returns the string representation
  45492. func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) String() string {
  45493. return awsutil.Prettify(s)
  45494. }
  45495. // GoString returns the string representation
  45496. func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) GoString() string {
  45497. return s.String()
  45498. }
  45499. // Validate inspects the fields of the type to determine if they are valid.
  45500. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) Validate() error {
  45501. invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateInstanceNetworkInterfaceSpecificationRequest"}
  45502. if s.PrivateIpAddresses != nil {
  45503. for i, v := range s.PrivateIpAddresses {
  45504. if v == nil {
  45505. continue
  45506. }
  45507. if err := v.Validate(); err != nil {
  45508. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  45509. }
  45510. }
  45511. }
  45512. if invalidParams.Len() > 0 {
  45513. return invalidParams
  45514. }
  45515. return nil
  45516. }
  45517. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  45518. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  45519. s.AssociatePublicIpAddress = &v
  45520. return s
  45521. }
  45522. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  45523. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  45524. s.DeleteOnTermination = &v
  45525. return s
  45526. }
  45527. // SetDescription sets the Description field's value.
  45528. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  45529. s.Description = &v
  45530. return s
  45531. }
  45532. // SetDeviceIndex sets the DeviceIndex field's value.
  45533. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  45534. s.DeviceIndex = &v
  45535. return s
  45536. }
  45537. // SetGroups sets the Groups field's value.
  45538. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  45539. s.Groups = v
  45540. return s
  45541. }
  45542. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  45543. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  45544. s.Ipv6AddressCount = &v
  45545. return s
  45546. }
  45547. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  45548. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6Addresses(v []*InstanceIpv6AddressRequest) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  45549. s.Ipv6Addresses = v
  45550. return s
  45551. }
  45552. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  45553. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  45554. s.NetworkInterfaceId = &v
  45555. return s
  45556. }
  45557. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  45558. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  45559. s.PrivateIpAddress = &v
  45560. return s
  45561. }
  45562. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  45563. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  45564. s.PrivateIpAddresses = v
  45565. return s
  45566. }
  45567. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  45568. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  45569. s.SecondaryPrivateIpAddressCount = &v
  45570. return s
  45571. }
  45572. // SetSubnetId sets the SubnetId field's value.
  45573. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  45574. s.SubnetId = &v
  45575. return s
  45576. }
  45577. // Describes overrides for a launch template.
  45578. type LaunchTemplateOverrides struct {
  45579. _ struct{} `type:"structure"`
  45580. // The Availability Zone in which to launch the instances.
  45581. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  45582. // The instance type.
  45583. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  45584. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  45585. SpotPrice *string `locationName:"spotPrice" type:"string"`
  45586. // The ID of the subnet in which to launch the instances.
  45587. SubnetId *string `locationName:"subnetId" type:"string"`
  45588. // The number of units provided by the specified instance type.
  45589. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  45590. }
  45591. // String returns the string representation
  45592. func (s LaunchTemplateOverrides) String() string {
  45593. return awsutil.Prettify(s)
  45594. }
  45595. // GoString returns the string representation
  45596. func (s LaunchTemplateOverrides) GoString() string {
  45597. return s.String()
  45598. }
  45599. // SetAvailabilityZone sets the AvailabilityZone field's value.
  45600. func (s *LaunchTemplateOverrides) SetAvailabilityZone(v string) *LaunchTemplateOverrides {
  45601. s.AvailabilityZone = &v
  45602. return s
  45603. }
  45604. // SetInstanceType sets the InstanceType field's value.
  45605. func (s *LaunchTemplateOverrides) SetInstanceType(v string) *LaunchTemplateOverrides {
  45606. s.InstanceType = &v
  45607. return s
  45608. }
  45609. // SetSpotPrice sets the SpotPrice field's value.
  45610. func (s *LaunchTemplateOverrides) SetSpotPrice(v string) *LaunchTemplateOverrides {
  45611. s.SpotPrice = &v
  45612. return s
  45613. }
  45614. // SetSubnetId sets the SubnetId field's value.
  45615. func (s *LaunchTemplateOverrides) SetSubnetId(v string) *LaunchTemplateOverrides {
  45616. s.SubnetId = &v
  45617. return s
  45618. }
  45619. // SetWeightedCapacity sets the WeightedCapacity field's value.
  45620. func (s *LaunchTemplateOverrides) SetWeightedCapacity(v float64) *LaunchTemplateOverrides {
  45621. s.WeightedCapacity = &v
  45622. return s
  45623. }
  45624. // Describes the placement of an instance.
  45625. type LaunchTemplatePlacement struct {
  45626. _ struct{} `type:"structure"`
  45627. // The affinity setting for the instance on the Dedicated Host.
  45628. Affinity *string `locationName:"affinity" type:"string"`
  45629. // The Availability Zone of the instance.
  45630. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  45631. // The name of the placement group for the instance.
  45632. GroupName *string `locationName:"groupName" type:"string"`
  45633. // The ID of the Dedicated Host for the instance.
  45634. HostId *string `locationName:"hostId" type:"string"`
  45635. // Reserved for future use.
  45636. SpreadDomain *string `locationName:"spreadDomain" type:"string"`
  45637. // The tenancy of the instance (if the instance is running in a VPC). An instance
  45638. // with a tenancy of dedicated runs on single-tenant hardware.
  45639. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  45640. }
  45641. // String returns the string representation
  45642. func (s LaunchTemplatePlacement) String() string {
  45643. return awsutil.Prettify(s)
  45644. }
  45645. // GoString returns the string representation
  45646. func (s LaunchTemplatePlacement) GoString() string {
  45647. return s.String()
  45648. }
  45649. // SetAffinity sets the Affinity field's value.
  45650. func (s *LaunchTemplatePlacement) SetAffinity(v string) *LaunchTemplatePlacement {
  45651. s.Affinity = &v
  45652. return s
  45653. }
  45654. // SetAvailabilityZone sets the AvailabilityZone field's value.
  45655. func (s *LaunchTemplatePlacement) SetAvailabilityZone(v string) *LaunchTemplatePlacement {
  45656. s.AvailabilityZone = &v
  45657. return s
  45658. }
  45659. // SetGroupName sets the GroupName field's value.
  45660. func (s *LaunchTemplatePlacement) SetGroupName(v string) *LaunchTemplatePlacement {
  45661. s.GroupName = &v
  45662. return s
  45663. }
  45664. // SetHostId sets the HostId field's value.
  45665. func (s *LaunchTemplatePlacement) SetHostId(v string) *LaunchTemplatePlacement {
  45666. s.HostId = &v
  45667. return s
  45668. }
  45669. // SetSpreadDomain sets the SpreadDomain field's value.
  45670. func (s *LaunchTemplatePlacement) SetSpreadDomain(v string) *LaunchTemplatePlacement {
  45671. s.SpreadDomain = &v
  45672. return s
  45673. }
  45674. // SetTenancy sets the Tenancy field's value.
  45675. func (s *LaunchTemplatePlacement) SetTenancy(v string) *LaunchTemplatePlacement {
  45676. s.Tenancy = &v
  45677. return s
  45678. }
  45679. // The placement for the instance.
  45680. type LaunchTemplatePlacementRequest struct {
  45681. _ struct{} `type:"structure"`
  45682. // The affinity setting for an instance on a Dedicated Host.
  45683. Affinity *string `type:"string"`
  45684. // The Availability Zone for the instance.
  45685. AvailabilityZone *string `type:"string"`
  45686. // The name of the placement group for the instance.
  45687. GroupName *string `type:"string"`
  45688. // The ID of the Dedicated Host for the instance.
  45689. HostId *string `type:"string"`
  45690. // Reserved for future use.
  45691. SpreadDomain *string `type:"string"`
  45692. // The tenancy of the instance (if the instance is running in a VPC). An instance
  45693. // with a tenancy of dedicated runs on single-tenant hardware.
  45694. Tenancy *string `type:"string" enum:"Tenancy"`
  45695. }
  45696. // String returns the string representation
  45697. func (s LaunchTemplatePlacementRequest) String() string {
  45698. return awsutil.Prettify(s)
  45699. }
  45700. // GoString returns the string representation
  45701. func (s LaunchTemplatePlacementRequest) GoString() string {
  45702. return s.String()
  45703. }
  45704. // SetAffinity sets the Affinity field's value.
  45705. func (s *LaunchTemplatePlacementRequest) SetAffinity(v string) *LaunchTemplatePlacementRequest {
  45706. s.Affinity = &v
  45707. return s
  45708. }
  45709. // SetAvailabilityZone sets the AvailabilityZone field's value.
  45710. func (s *LaunchTemplatePlacementRequest) SetAvailabilityZone(v string) *LaunchTemplatePlacementRequest {
  45711. s.AvailabilityZone = &v
  45712. return s
  45713. }
  45714. // SetGroupName sets the GroupName field's value.
  45715. func (s *LaunchTemplatePlacementRequest) SetGroupName(v string) *LaunchTemplatePlacementRequest {
  45716. s.GroupName = &v
  45717. return s
  45718. }
  45719. // SetHostId sets the HostId field's value.
  45720. func (s *LaunchTemplatePlacementRequest) SetHostId(v string) *LaunchTemplatePlacementRequest {
  45721. s.HostId = &v
  45722. return s
  45723. }
  45724. // SetSpreadDomain sets the SpreadDomain field's value.
  45725. func (s *LaunchTemplatePlacementRequest) SetSpreadDomain(v string) *LaunchTemplatePlacementRequest {
  45726. s.SpreadDomain = &v
  45727. return s
  45728. }
  45729. // SetTenancy sets the Tenancy field's value.
  45730. func (s *LaunchTemplatePlacementRequest) SetTenancy(v string) *LaunchTemplatePlacementRequest {
  45731. s.Tenancy = &v
  45732. return s
  45733. }
  45734. // The launch template to use. You must specify either the launch template ID
  45735. // or launch template name in the request, but not both.
  45736. type LaunchTemplateSpecification struct {
  45737. _ struct{} `type:"structure"`
  45738. // The ID of the launch template.
  45739. LaunchTemplateId *string `type:"string"`
  45740. // The name of the launch template.
  45741. LaunchTemplateName *string `type:"string"`
  45742. // The version number of the launch template.
  45743. //
  45744. // Default: The default version for the launch template.
  45745. Version *string `type:"string"`
  45746. }
  45747. // String returns the string representation
  45748. func (s LaunchTemplateSpecification) String() string {
  45749. return awsutil.Prettify(s)
  45750. }
  45751. // GoString returns the string representation
  45752. func (s LaunchTemplateSpecification) GoString() string {
  45753. return s.String()
  45754. }
  45755. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  45756. func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification {
  45757. s.LaunchTemplateId = &v
  45758. return s
  45759. }
  45760. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  45761. func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification {
  45762. s.LaunchTemplateName = &v
  45763. return s
  45764. }
  45765. // SetVersion sets the Version field's value.
  45766. func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification {
  45767. s.Version = &v
  45768. return s
  45769. }
  45770. // The options for Spot Instances.
  45771. type LaunchTemplateSpotMarketOptions struct {
  45772. _ struct{} `type:"structure"`
  45773. // The required duration for the Spot Instances (also known as Spot blocks),
  45774. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  45775. // or 360).
  45776. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  45777. // The behavior when a Spot Instance is interrupted.
  45778. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
  45779. // The maximum hourly price you're willing to pay for the Spot Instances.
  45780. MaxPrice *string `locationName:"maxPrice" type:"string"`
  45781. // The Spot Instance request type.
  45782. SpotInstanceType *string `locationName:"spotInstanceType" type:"string" enum:"SpotInstanceType"`
  45783. // The end date of the request. For a one-time request, the request remains
  45784. // active until all instances launch, the request is canceled, or this date
  45785. // is reached. If the request is persistent, it remains active until it is canceled
  45786. // or this date and time is reached.
  45787. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  45788. }
  45789. // String returns the string representation
  45790. func (s LaunchTemplateSpotMarketOptions) String() string {
  45791. return awsutil.Prettify(s)
  45792. }
  45793. // GoString returns the string representation
  45794. func (s LaunchTemplateSpotMarketOptions) GoString() string {
  45795. return s.String()
  45796. }
  45797. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  45798. func (s *LaunchTemplateSpotMarketOptions) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptions {
  45799. s.BlockDurationMinutes = &v
  45800. return s
  45801. }
  45802. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  45803. func (s *LaunchTemplateSpotMarketOptions) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptions {
  45804. s.InstanceInterruptionBehavior = &v
  45805. return s
  45806. }
  45807. // SetMaxPrice sets the MaxPrice field's value.
  45808. func (s *LaunchTemplateSpotMarketOptions) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptions {
  45809. s.MaxPrice = &v
  45810. return s
  45811. }
  45812. // SetSpotInstanceType sets the SpotInstanceType field's value.
  45813. func (s *LaunchTemplateSpotMarketOptions) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptions {
  45814. s.SpotInstanceType = &v
  45815. return s
  45816. }
  45817. // SetValidUntil sets the ValidUntil field's value.
  45818. func (s *LaunchTemplateSpotMarketOptions) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptions {
  45819. s.ValidUntil = &v
  45820. return s
  45821. }
  45822. // The options for Spot Instances.
  45823. type LaunchTemplateSpotMarketOptionsRequest struct {
  45824. _ struct{} `type:"structure"`
  45825. // The required duration for the Spot Instances (also known as Spot blocks),
  45826. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  45827. // or 360).
  45828. BlockDurationMinutes *int64 `type:"integer"`
  45829. // The behavior when a Spot Instance is interrupted. The default is terminate.
  45830. InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
  45831. // The maximum hourly price you're willing to pay for the Spot Instances.
  45832. MaxPrice *string `type:"string"`
  45833. // The Spot Instance request type.
  45834. SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
  45835. // The end date of the request. For a one-time request, the request remains
  45836. // active until all instances launch, the request is canceled, or this date
  45837. // is reached. If the request is persistent, it remains active until it is canceled
  45838. // or this date and time is reached. The default end date is 7 days from the
  45839. // current date.
  45840. ValidUntil *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  45841. }
  45842. // String returns the string representation
  45843. func (s LaunchTemplateSpotMarketOptionsRequest) String() string {
  45844. return awsutil.Prettify(s)
  45845. }
  45846. // GoString returns the string representation
  45847. func (s LaunchTemplateSpotMarketOptionsRequest) GoString() string {
  45848. return s.String()
  45849. }
  45850. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  45851. func (s *LaunchTemplateSpotMarketOptionsRequest) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptionsRequest {
  45852. s.BlockDurationMinutes = &v
  45853. return s
  45854. }
  45855. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  45856. func (s *LaunchTemplateSpotMarketOptionsRequest) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptionsRequest {
  45857. s.InstanceInterruptionBehavior = &v
  45858. return s
  45859. }
  45860. // SetMaxPrice sets the MaxPrice field's value.
  45861. func (s *LaunchTemplateSpotMarketOptionsRequest) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptionsRequest {
  45862. s.MaxPrice = &v
  45863. return s
  45864. }
  45865. // SetSpotInstanceType sets the SpotInstanceType field's value.
  45866. func (s *LaunchTemplateSpotMarketOptionsRequest) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptionsRequest {
  45867. s.SpotInstanceType = &v
  45868. return s
  45869. }
  45870. // SetValidUntil sets the ValidUntil field's value.
  45871. func (s *LaunchTemplateSpotMarketOptionsRequest) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptionsRequest {
  45872. s.ValidUntil = &v
  45873. return s
  45874. }
  45875. // The tag specification for the launch template.
  45876. type LaunchTemplateTagSpecification struct {
  45877. _ struct{} `type:"structure"`
  45878. // The type of resource.
  45879. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  45880. // The tags for the resource.
  45881. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  45882. }
  45883. // String returns the string representation
  45884. func (s LaunchTemplateTagSpecification) String() string {
  45885. return awsutil.Prettify(s)
  45886. }
  45887. // GoString returns the string representation
  45888. func (s LaunchTemplateTagSpecification) GoString() string {
  45889. return s.String()
  45890. }
  45891. // SetResourceType sets the ResourceType field's value.
  45892. func (s *LaunchTemplateTagSpecification) SetResourceType(v string) *LaunchTemplateTagSpecification {
  45893. s.ResourceType = &v
  45894. return s
  45895. }
  45896. // SetTags sets the Tags field's value.
  45897. func (s *LaunchTemplateTagSpecification) SetTags(v []*Tag) *LaunchTemplateTagSpecification {
  45898. s.Tags = v
  45899. return s
  45900. }
  45901. // The tags specification for the launch template.
  45902. type LaunchTemplateTagSpecificationRequest struct {
  45903. _ struct{} `type:"structure"`
  45904. // The type of resource to tag. Currently, the resource types that support tagging
  45905. // on creation are instance and volume.
  45906. ResourceType *string `type:"string" enum:"ResourceType"`
  45907. // The tags to apply to the resource.
  45908. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
  45909. }
  45910. // String returns the string representation
  45911. func (s LaunchTemplateTagSpecificationRequest) String() string {
  45912. return awsutil.Prettify(s)
  45913. }
  45914. // GoString returns the string representation
  45915. func (s LaunchTemplateTagSpecificationRequest) GoString() string {
  45916. return s.String()
  45917. }
  45918. // SetResourceType sets the ResourceType field's value.
  45919. func (s *LaunchTemplateTagSpecificationRequest) SetResourceType(v string) *LaunchTemplateTagSpecificationRequest {
  45920. s.ResourceType = &v
  45921. return s
  45922. }
  45923. // SetTags sets the Tags field's value.
  45924. func (s *LaunchTemplateTagSpecificationRequest) SetTags(v []*Tag) *LaunchTemplateTagSpecificationRequest {
  45925. s.Tags = v
  45926. return s
  45927. }
  45928. // Describes a launch template version.
  45929. type LaunchTemplateVersion struct {
  45930. _ struct{} `type:"structure"`
  45931. // The time the version was created.
  45932. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  45933. // The principal that created the version.
  45934. CreatedBy *string `locationName:"createdBy" type:"string"`
  45935. // Indicates whether the version is the default version.
  45936. DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"`
  45937. // Information about the launch template.
  45938. LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
  45939. // The ID of the launch template.
  45940. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  45941. // The name of the launch template.
  45942. LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
  45943. // The description for the version.
  45944. VersionDescription *string `locationName:"versionDescription" type:"string"`
  45945. // The version number.
  45946. VersionNumber *int64 `locationName:"versionNumber" type:"long"`
  45947. }
  45948. // String returns the string representation
  45949. func (s LaunchTemplateVersion) String() string {
  45950. return awsutil.Prettify(s)
  45951. }
  45952. // GoString returns the string representation
  45953. func (s LaunchTemplateVersion) GoString() string {
  45954. return s.String()
  45955. }
  45956. // SetCreateTime sets the CreateTime field's value.
  45957. func (s *LaunchTemplateVersion) SetCreateTime(v time.Time) *LaunchTemplateVersion {
  45958. s.CreateTime = &v
  45959. return s
  45960. }
  45961. // SetCreatedBy sets the CreatedBy field's value.
  45962. func (s *LaunchTemplateVersion) SetCreatedBy(v string) *LaunchTemplateVersion {
  45963. s.CreatedBy = &v
  45964. return s
  45965. }
  45966. // SetDefaultVersion sets the DefaultVersion field's value.
  45967. func (s *LaunchTemplateVersion) SetDefaultVersion(v bool) *LaunchTemplateVersion {
  45968. s.DefaultVersion = &v
  45969. return s
  45970. }
  45971. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  45972. func (s *LaunchTemplateVersion) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *LaunchTemplateVersion {
  45973. s.LaunchTemplateData = v
  45974. return s
  45975. }
  45976. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  45977. func (s *LaunchTemplateVersion) SetLaunchTemplateId(v string) *LaunchTemplateVersion {
  45978. s.LaunchTemplateId = &v
  45979. return s
  45980. }
  45981. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  45982. func (s *LaunchTemplateVersion) SetLaunchTemplateName(v string) *LaunchTemplateVersion {
  45983. s.LaunchTemplateName = &v
  45984. return s
  45985. }
  45986. // SetVersionDescription sets the VersionDescription field's value.
  45987. func (s *LaunchTemplateVersion) SetVersionDescription(v string) *LaunchTemplateVersion {
  45988. s.VersionDescription = &v
  45989. return s
  45990. }
  45991. // SetVersionNumber sets the VersionNumber field's value.
  45992. func (s *LaunchTemplateVersion) SetVersionNumber(v int64) *LaunchTemplateVersion {
  45993. s.VersionNumber = &v
  45994. return s
  45995. }
  45996. // Describes the monitoring for the instance.
  45997. type LaunchTemplatesMonitoring struct {
  45998. _ struct{} `type:"structure"`
  45999. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  46000. // is enabled.
  46001. Enabled *bool `locationName:"enabled" type:"boolean"`
  46002. }
  46003. // String returns the string representation
  46004. func (s LaunchTemplatesMonitoring) String() string {
  46005. return awsutil.Prettify(s)
  46006. }
  46007. // GoString returns the string representation
  46008. func (s LaunchTemplatesMonitoring) GoString() string {
  46009. return s.String()
  46010. }
  46011. // SetEnabled sets the Enabled field's value.
  46012. func (s *LaunchTemplatesMonitoring) SetEnabled(v bool) *LaunchTemplatesMonitoring {
  46013. s.Enabled = &v
  46014. return s
  46015. }
  46016. // Describes the monitoring for the instance.
  46017. type LaunchTemplatesMonitoringRequest struct {
  46018. _ struct{} `type:"structure"`
  46019. // Specify true to enable detailed monitoring. Otherwise, basic monitoring is
  46020. // enabled.
  46021. Enabled *bool `type:"boolean"`
  46022. }
  46023. // String returns the string representation
  46024. func (s LaunchTemplatesMonitoringRequest) String() string {
  46025. return awsutil.Prettify(s)
  46026. }
  46027. // GoString returns the string representation
  46028. func (s LaunchTemplatesMonitoringRequest) GoString() string {
  46029. return s.String()
  46030. }
  46031. // SetEnabled sets the Enabled field's value.
  46032. func (s *LaunchTemplatesMonitoringRequest) SetEnabled(v bool) *LaunchTemplatesMonitoringRequest {
  46033. s.Enabled = &v
  46034. return s
  46035. }
  46036. // Describes the Classic Load Balancers and target groups to attach to a Spot
  46037. // Fleet request.
  46038. type LoadBalancersConfig struct {
  46039. _ struct{} `type:"structure"`
  46040. // The Classic Load Balancers.
  46041. ClassicLoadBalancersConfig *ClassicLoadBalancersConfig `locationName:"classicLoadBalancersConfig" type:"structure"`
  46042. // The target groups.
  46043. TargetGroupsConfig *TargetGroupsConfig `locationName:"targetGroupsConfig" type:"structure"`
  46044. }
  46045. // String returns the string representation
  46046. func (s LoadBalancersConfig) String() string {
  46047. return awsutil.Prettify(s)
  46048. }
  46049. // GoString returns the string representation
  46050. func (s LoadBalancersConfig) GoString() string {
  46051. return s.String()
  46052. }
  46053. // Validate inspects the fields of the type to determine if they are valid.
  46054. func (s *LoadBalancersConfig) Validate() error {
  46055. invalidParams := request.ErrInvalidParams{Context: "LoadBalancersConfig"}
  46056. if s.ClassicLoadBalancersConfig != nil {
  46057. if err := s.ClassicLoadBalancersConfig.Validate(); err != nil {
  46058. invalidParams.AddNested("ClassicLoadBalancersConfig", err.(request.ErrInvalidParams))
  46059. }
  46060. }
  46061. if s.TargetGroupsConfig != nil {
  46062. if err := s.TargetGroupsConfig.Validate(); err != nil {
  46063. invalidParams.AddNested("TargetGroupsConfig", err.(request.ErrInvalidParams))
  46064. }
  46065. }
  46066. if invalidParams.Len() > 0 {
  46067. return invalidParams
  46068. }
  46069. return nil
  46070. }
  46071. // SetClassicLoadBalancersConfig sets the ClassicLoadBalancersConfig field's value.
  46072. func (s *LoadBalancersConfig) SetClassicLoadBalancersConfig(v *ClassicLoadBalancersConfig) *LoadBalancersConfig {
  46073. s.ClassicLoadBalancersConfig = v
  46074. return s
  46075. }
  46076. // SetTargetGroupsConfig sets the TargetGroupsConfig field's value.
  46077. func (s *LoadBalancersConfig) SetTargetGroupsConfig(v *TargetGroupsConfig) *LoadBalancersConfig {
  46078. s.TargetGroupsConfig = v
  46079. return s
  46080. }
  46081. // Describes a load permission.
  46082. type LoadPermission struct {
  46083. _ struct{} `type:"structure"`
  46084. // The name of the group.
  46085. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  46086. // The AWS account ID.
  46087. UserId *string `locationName:"userId" type:"string"`
  46088. }
  46089. // String returns the string representation
  46090. func (s LoadPermission) String() string {
  46091. return awsutil.Prettify(s)
  46092. }
  46093. // GoString returns the string representation
  46094. func (s LoadPermission) GoString() string {
  46095. return s.String()
  46096. }
  46097. // SetGroup sets the Group field's value.
  46098. func (s *LoadPermission) SetGroup(v string) *LoadPermission {
  46099. s.Group = &v
  46100. return s
  46101. }
  46102. // SetUserId sets the UserId field's value.
  46103. func (s *LoadPermission) SetUserId(v string) *LoadPermission {
  46104. s.UserId = &v
  46105. return s
  46106. }
  46107. // Describes modifications to the load permissions of an Amazon FPGA image (AFI).
  46108. type LoadPermissionModifications struct {
  46109. _ struct{} `type:"structure"`
  46110. // The load permissions to add.
  46111. Add []*LoadPermissionRequest `locationNameList:"item" type:"list"`
  46112. // The load permissions to remove.
  46113. Remove []*LoadPermissionRequest `locationNameList:"item" type:"list"`
  46114. }
  46115. // String returns the string representation
  46116. func (s LoadPermissionModifications) String() string {
  46117. return awsutil.Prettify(s)
  46118. }
  46119. // GoString returns the string representation
  46120. func (s LoadPermissionModifications) GoString() string {
  46121. return s.String()
  46122. }
  46123. // SetAdd sets the Add field's value.
  46124. func (s *LoadPermissionModifications) SetAdd(v []*LoadPermissionRequest) *LoadPermissionModifications {
  46125. s.Add = v
  46126. return s
  46127. }
  46128. // SetRemove sets the Remove field's value.
  46129. func (s *LoadPermissionModifications) SetRemove(v []*LoadPermissionRequest) *LoadPermissionModifications {
  46130. s.Remove = v
  46131. return s
  46132. }
  46133. // Describes a load permission.
  46134. type LoadPermissionRequest struct {
  46135. _ struct{} `type:"structure"`
  46136. // The name of the group.
  46137. Group *string `type:"string" enum:"PermissionGroup"`
  46138. // The AWS account ID.
  46139. UserId *string `type:"string"`
  46140. }
  46141. // String returns the string representation
  46142. func (s LoadPermissionRequest) String() string {
  46143. return awsutil.Prettify(s)
  46144. }
  46145. // GoString returns the string representation
  46146. func (s LoadPermissionRequest) GoString() string {
  46147. return s.String()
  46148. }
  46149. // SetGroup sets the Group field's value.
  46150. func (s *LoadPermissionRequest) SetGroup(v string) *LoadPermissionRequest {
  46151. s.Group = &v
  46152. return s
  46153. }
  46154. // SetUserId sets the UserId field's value.
  46155. func (s *LoadPermissionRequest) SetUserId(v string) *LoadPermissionRequest {
  46156. s.UserId = &v
  46157. return s
  46158. }
  46159. type ModifyFleetInput struct {
  46160. _ struct{} `type:"structure"`
  46161. // Checks whether you have the required permissions for the action, without
  46162. // actually making the request, and provides an error response. If you have
  46163. // the required permissions, the error response is DryRunOperation. Otherwise,
  46164. // it is UnauthorizedOperation.
  46165. DryRun *bool `type:"boolean"`
  46166. // Indicates whether running instances should be terminated if the total target
  46167. // capacity of the EC2 Fleet is decreased below the current size of the EC2
  46168. // Fleet.
  46169. ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
  46170. // The ID of the EC2 Fleet.
  46171. //
  46172. // FleetId is a required field
  46173. FleetId *string `type:"string" required:"true"`
  46174. // The size of the EC2 Fleet.
  46175. //
  46176. // TargetCapacitySpecification is a required field
  46177. TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
  46178. }
  46179. // String returns the string representation
  46180. func (s ModifyFleetInput) String() string {
  46181. return awsutil.Prettify(s)
  46182. }
  46183. // GoString returns the string representation
  46184. func (s ModifyFleetInput) GoString() string {
  46185. return s.String()
  46186. }
  46187. // Validate inspects the fields of the type to determine if they are valid.
  46188. func (s *ModifyFleetInput) Validate() error {
  46189. invalidParams := request.ErrInvalidParams{Context: "ModifyFleetInput"}
  46190. if s.FleetId == nil {
  46191. invalidParams.Add(request.NewErrParamRequired("FleetId"))
  46192. }
  46193. if s.TargetCapacitySpecification == nil {
  46194. invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
  46195. }
  46196. if s.TargetCapacitySpecification != nil {
  46197. if err := s.TargetCapacitySpecification.Validate(); err != nil {
  46198. invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
  46199. }
  46200. }
  46201. if invalidParams.Len() > 0 {
  46202. return invalidParams
  46203. }
  46204. return nil
  46205. }
  46206. // SetDryRun sets the DryRun field's value.
  46207. func (s *ModifyFleetInput) SetDryRun(v bool) *ModifyFleetInput {
  46208. s.DryRun = &v
  46209. return s
  46210. }
  46211. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  46212. func (s *ModifyFleetInput) SetExcessCapacityTerminationPolicy(v string) *ModifyFleetInput {
  46213. s.ExcessCapacityTerminationPolicy = &v
  46214. return s
  46215. }
  46216. // SetFleetId sets the FleetId field's value.
  46217. func (s *ModifyFleetInput) SetFleetId(v string) *ModifyFleetInput {
  46218. s.FleetId = &v
  46219. return s
  46220. }
  46221. // SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
  46222. func (s *ModifyFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *ModifyFleetInput {
  46223. s.TargetCapacitySpecification = v
  46224. return s
  46225. }
  46226. type ModifyFleetOutput struct {
  46227. _ struct{} `type:"structure"`
  46228. // Is true if the request succeeds, and an error otherwise.
  46229. Return *bool `locationName:"return" type:"boolean"`
  46230. }
  46231. // String returns the string representation
  46232. func (s ModifyFleetOutput) String() string {
  46233. return awsutil.Prettify(s)
  46234. }
  46235. // GoString returns the string representation
  46236. func (s ModifyFleetOutput) GoString() string {
  46237. return s.String()
  46238. }
  46239. // SetReturn sets the Return field's value.
  46240. func (s *ModifyFleetOutput) SetReturn(v bool) *ModifyFleetOutput {
  46241. s.Return = &v
  46242. return s
  46243. }
  46244. type ModifyFpgaImageAttributeInput struct {
  46245. _ struct{} `type:"structure"`
  46246. // The name of the attribute.
  46247. Attribute *string `type:"string" enum:"FpgaImageAttributeName"`
  46248. // A description for the AFI.
  46249. Description *string `type:"string"`
  46250. // Checks whether you have the required permissions for the action, without
  46251. // actually making the request, and provides an error response. If you have
  46252. // the required permissions, the error response is DryRunOperation. Otherwise,
  46253. // it is UnauthorizedOperation.
  46254. DryRun *bool `type:"boolean"`
  46255. // The ID of the AFI.
  46256. //
  46257. // FpgaImageId is a required field
  46258. FpgaImageId *string `type:"string" required:"true"`
  46259. // The load permission for the AFI.
  46260. LoadPermission *LoadPermissionModifications `type:"structure"`
  46261. // A name for the AFI.
  46262. Name *string `type:"string"`
  46263. // The operation type.
  46264. OperationType *string `type:"string" enum:"OperationType"`
  46265. // One or more product codes. After you add a product code to an AFI, it can't
  46266. // be removed. This parameter is valid only when modifying the productCodes
  46267. // attribute.
  46268. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
  46269. // One or more user groups. This parameter is valid only when modifying the
  46270. // loadPermission attribute.
  46271. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
  46272. // One or more AWS account IDs. This parameter is valid only when modifying
  46273. // the loadPermission attribute.
  46274. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  46275. }
  46276. // String returns the string representation
  46277. func (s ModifyFpgaImageAttributeInput) String() string {
  46278. return awsutil.Prettify(s)
  46279. }
  46280. // GoString returns the string representation
  46281. func (s ModifyFpgaImageAttributeInput) GoString() string {
  46282. return s.String()
  46283. }
  46284. // Validate inspects the fields of the type to determine if they are valid.
  46285. func (s *ModifyFpgaImageAttributeInput) Validate() error {
  46286. invalidParams := request.ErrInvalidParams{Context: "ModifyFpgaImageAttributeInput"}
  46287. if s.FpgaImageId == nil {
  46288. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  46289. }
  46290. if invalidParams.Len() > 0 {
  46291. return invalidParams
  46292. }
  46293. return nil
  46294. }
  46295. // SetAttribute sets the Attribute field's value.
  46296. func (s *ModifyFpgaImageAttributeInput) SetAttribute(v string) *ModifyFpgaImageAttributeInput {
  46297. s.Attribute = &v
  46298. return s
  46299. }
  46300. // SetDescription sets the Description field's value.
  46301. func (s *ModifyFpgaImageAttributeInput) SetDescription(v string) *ModifyFpgaImageAttributeInput {
  46302. s.Description = &v
  46303. return s
  46304. }
  46305. // SetDryRun sets the DryRun field's value.
  46306. func (s *ModifyFpgaImageAttributeInput) SetDryRun(v bool) *ModifyFpgaImageAttributeInput {
  46307. s.DryRun = &v
  46308. return s
  46309. }
  46310. // SetFpgaImageId sets the FpgaImageId field's value.
  46311. func (s *ModifyFpgaImageAttributeInput) SetFpgaImageId(v string) *ModifyFpgaImageAttributeInput {
  46312. s.FpgaImageId = &v
  46313. return s
  46314. }
  46315. // SetLoadPermission sets the LoadPermission field's value.
  46316. func (s *ModifyFpgaImageAttributeInput) SetLoadPermission(v *LoadPermissionModifications) *ModifyFpgaImageAttributeInput {
  46317. s.LoadPermission = v
  46318. return s
  46319. }
  46320. // SetName sets the Name field's value.
  46321. func (s *ModifyFpgaImageAttributeInput) SetName(v string) *ModifyFpgaImageAttributeInput {
  46322. s.Name = &v
  46323. return s
  46324. }
  46325. // SetOperationType sets the OperationType field's value.
  46326. func (s *ModifyFpgaImageAttributeInput) SetOperationType(v string) *ModifyFpgaImageAttributeInput {
  46327. s.OperationType = &v
  46328. return s
  46329. }
  46330. // SetProductCodes sets the ProductCodes field's value.
  46331. func (s *ModifyFpgaImageAttributeInput) SetProductCodes(v []*string) *ModifyFpgaImageAttributeInput {
  46332. s.ProductCodes = v
  46333. return s
  46334. }
  46335. // SetUserGroups sets the UserGroups field's value.
  46336. func (s *ModifyFpgaImageAttributeInput) SetUserGroups(v []*string) *ModifyFpgaImageAttributeInput {
  46337. s.UserGroups = v
  46338. return s
  46339. }
  46340. // SetUserIds sets the UserIds field's value.
  46341. func (s *ModifyFpgaImageAttributeInput) SetUserIds(v []*string) *ModifyFpgaImageAttributeInput {
  46342. s.UserIds = v
  46343. return s
  46344. }
  46345. type ModifyFpgaImageAttributeOutput struct {
  46346. _ struct{} `type:"structure"`
  46347. // Information about the attribute.
  46348. FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
  46349. }
  46350. // String returns the string representation
  46351. func (s ModifyFpgaImageAttributeOutput) String() string {
  46352. return awsutil.Prettify(s)
  46353. }
  46354. // GoString returns the string representation
  46355. func (s ModifyFpgaImageAttributeOutput) GoString() string {
  46356. return s.String()
  46357. }
  46358. // SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
  46359. func (s *ModifyFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *ModifyFpgaImageAttributeOutput {
  46360. s.FpgaImageAttribute = v
  46361. return s
  46362. }
  46363. // Contains the parameters for ModifyHosts.
  46364. type ModifyHostsInput struct {
  46365. _ struct{} `type:"structure"`
  46366. // Specify whether to enable or disable auto-placement.
  46367. //
  46368. // AutoPlacement is a required field
  46369. AutoPlacement *string `locationName:"autoPlacement" type:"string" required:"true" enum:"AutoPlacement"`
  46370. // The host IDs of the Dedicated Hosts you want to modify.
  46371. //
  46372. // HostIds is a required field
  46373. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  46374. }
  46375. // String returns the string representation
  46376. func (s ModifyHostsInput) String() string {
  46377. return awsutil.Prettify(s)
  46378. }
  46379. // GoString returns the string representation
  46380. func (s ModifyHostsInput) GoString() string {
  46381. return s.String()
  46382. }
  46383. // Validate inspects the fields of the type to determine if they are valid.
  46384. func (s *ModifyHostsInput) Validate() error {
  46385. invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
  46386. if s.AutoPlacement == nil {
  46387. invalidParams.Add(request.NewErrParamRequired("AutoPlacement"))
  46388. }
  46389. if s.HostIds == nil {
  46390. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  46391. }
  46392. if invalidParams.Len() > 0 {
  46393. return invalidParams
  46394. }
  46395. return nil
  46396. }
  46397. // SetAutoPlacement sets the AutoPlacement field's value.
  46398. func (s *ModifyHostsInput) SetAutoPlacement(v string) *ModifyHostsInput {
  46399. s.AutoPlacement = &v
  46400. return s
  46401. }
  46402. // SetHostIds sets the HostIds field's value.
  46403. func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput {
  46404. s.HostIds = v
  46405. return s
  46406. }
  46407. // Contains the output of ModifyHosts.
  46408. type ModifyHostsOutput struct {
  46409. _ struct{} `type:"structure"`
  46410. // The IDs of the Dedicated Hosts that were successfully modified.
  46411. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  46412. // The IDs of the Dedicated Hosts that could not be modified. Check whether
  46413. // the setting you requested can be used.
  46414. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  46415. }
  46416. // String returns the string representation
  46417. func (s ModifyHostsOutput) String() string {
  46418. return awsutil.Prettify(s)
  46419. }
  46420. // GoString returns the string representation
  46421. func (s ModifyHostsOutput) GoString() string {
  46422. return s.String()
  46423. }
  46424. // SetSuccessful sets the Successful field's value.
  46425. func (s *ModifyHostsOutput) SetSuccessful(v []*string) *ModifyHostsOutput {
  46426. s.Successful = v
  46427. return s
  46428. }
  46429. // SetUnsuccessful sets the Unsuccessful field's value.
  46430. func (s *ModifyHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ModifyHostsOutput {
  46431. s.Unsuccessful = v
  46432. return s
  46433. }
  46434. // Contains the parameters of ModifyIdFormat.
  46435. type ModifyIdFormatInput struct {
  46436. _ struct{} `type:"structure"`
  46437. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  46438. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  46439. // | image | import-task | internet-gateway | network-acl | network-acl-association
  46440. // | network-interface | network-interface-attachment | prefix-list | route-table
  46441. // | route-table-association | security-group | subnet | subnet-cidr-block-association
  46442. // | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
  46443. // | vpn-connection | vpn-gateway.
  46444. //
  46445. // Alternatively, use the all-current option to include all resource types that
  46446. // are currently within their opt-in period for longer IDs.
  46447. //
  46448. // Resource is a required field
  46449. Resource *string `type:"string" required:"true"`
  46450. // Indicate whether the resource should use longer IDs (17-character IDs).
  46451. //
  46452. // UseLongIds is a required field
  46453. UseLongIds *bool `type:"boolean" required:"true"`
  46454. }
  46455. // String returns the string representation
  46456. func (s ModifyIdFormatInput) String() string {
  46457. return awsutil.Prettify(s)
  46458. }
  46459. // GoString returns the string representation
  46460. func (s ModifyIdFormatInput) GoString() string {
  46461. return s.String()
  46462. }
  46463. // Validate inspects the fields of the type to determine if they are valid.
  46464. func (s *ModifyIdFormatInput) Validate() error {
  46465. invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
  46466. if s.Resource == nil {
  46467. invalidParams.Add(request.NewErrParamRequired("Resource"))
  46468. }
  46469. if s.UseLongIds == nil {
  46470. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  46471. }
  46472. if invalidParams.Len() > 0 {
  46473. return invalidParams
  46474. }
  46475. return nil
  46476. }
  46477. // SetResource sets the Resource field's value.
  46478. func (s *ModifyIdFormatInput) SetResource(v string) *ModifyIdFormatInput {
  46479. s.Resource = &v
  46480. return s
  46481. }
  46482. // SetUseLongIds sets the UseLongIds field's value.
  46483. func (s *ModifyIdFormatInput) SetUseLongIds(v bool) *ModifyIdFormatInput {
  46484. s.UseLongIds = &v
  46485. return s
  46486. }
  46487. type ModifyIdFormatOutput struct {
  46488. _ struct{} `type:"structure"`
  46489. }
  46490. // String returns the string representation
  46491. func (s ModifyIdFormatOutput) String() string {
  46492. return awsutil.Prettify(s)
  46493. }
  46494. // GoString returns the string representation
  46495. func (s ModifyIdFormatOutput) GoString() string {
  46496. return s.String()
  46497. }
  46498. // Contains the parameters of ModifyIdentityIdFormat.
  46499. type ModifyIdentityIdFormatInput struct {
  46500. _ struct{} `type:"structure"`
  46501. // The ARN of the principal, which can be an IAM user, IAM role, or the root
  46502. // user. Specify all to modify the ID format for all IAM users, IAM roles, and
  46503. // the root user of the account.
  46504. //
  46505. // PrincipalArn is a required field
  46506. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  46507. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  46508. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  46509. // | image | import-task | internet-gateway | network-acl | network-acl-association
  46510. // | network-interface | network-interface-attachment | prefix-list | route-table
  46511. // | route-table-association | security-group | subnet | subnet-cidr-block-association
  46512. // | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
  46513. // | vpn-connection | vpn-gateway.
  46514. //
  46515. // Alternatively, use the all-current option to include all resource types that
  46516. // are currently within their opt-in period for longer IDs.
  46517. //
  46518. // Resource is a required field
  46519. Resource *string `locationName:"resource" type:"string" required:"true"`
  46520. // Indicates whether the resource should use longer IDs (17-character IDs)
  46521. //
  46522. // UseLongIds is a required field
  46523. UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
  46524. }
  46525. // String returns the string representation
  46526. func (s ModifyIdentityIdFormatInput) String() string {
  46527. return awsutil.Prettify(s)
  46528. }
  46529. // GoString returns the string representation
  46530. func (s ModifyIdentityIdFormatInput) GoString() string {
  46531. return s.String()
  46532. }
  46533. // Validate inspects the fields of the type to determine if they are valid.
  46534. func (s *ModifyIdentityIdFormatInput) Validate() error {
  46535. invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
  46536. if s.PrincipalArn == nil {
  46537. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  46538. }
  46539. if s.Resource == nil {
  46540. invalidParams.Add(request.NewErrParamRequired("Resource"))
  46541. }
  46542. if s.UseLongIds == nil {
  46543. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  46544. }
  46545. if invalidParams.Len() > 0 {
  46546. return invalidParams
  46547. }
  46548. return nil
  46549. }
  46550. // SetPrincipalArn sets the PrincipalArn field's value.
  46551. func (s *ModifyIdentityIdFormatInput) SetPrincipalArn(v string) *ModifyIdentityIdFormatInput {
  46552. s.PrincipalArn = &v
  46553. return s
  46554. }
  46555. // SetResource sets the Resource field's value.
  46556. func (s *ModifyIdentityIdFormatInput) SetResource(v string) *ModifyIdentityIdFormatInput {
  46557. s.Resource = &v
  46558. return s
  46559. }
  46560. // SetUseLongIds sets the UseLongIds field's value.
  46561. func (s *ModifyIdentityIdFormatInput) SetUseLongIds(v bool) *ModifyIdentityIdFormatInput {
  46562. s.UseLongIds = &v
  46563. return s
  46564. }
  46565. type ModifyIdentityIdFormatOutput struct {
  46566. _ struct{} `type:"structure"`
  46567. }
  46568. // String returns the string representation
  46569. func (s ModifyIdentityIdFormatOutput) String() string {
  46570. return awsutil.Prettify(s)
  46571. }
  46572. // GoString returns the string representation
  46573. func (s ModifyIdentityIdFormatOutput) GoString() string {
  46574. return s.String()
  46575. }
  46576. // Contains the parameters for ModifyImageAttribute.
  46577. type ModifyImageAttributeInput struct {
  46578. _ struct{} `type:"structure"`
  46579. // The name of the attribute to modify. The valid values are description, launchPermission,
  46580. // and productCodes.
  46581. Attribute *string `type:"string"`
  46582. // A new description for the AMI.
  46583. Description *AttributeValue `type:"structure"`
  46584. // Checks whether you have the required permissions for the action, without
  46585. // actually making the request, and provides an error response. If you have
  46586. // the required permissions, the error response is DryRunOperation. Otherwise,
  46587. // it is UnauthorizedOperation.
  46588. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46589. // The ID of the AMI.
  46590. //
  46591. // ImageId is a required field
  46592. ImageId *string `type:"string" required:"true"`
  46593. // A new launch permission for the AMI.
  46594. LaunchPermission *LaunchPermissionModifications `type:"structure"`
  46595. // The operation type. This parameter can be used only when the Attribute parameter
  46596. // is launchPermission.
  46597. OperationType *string `type:"string" enum:"OperationType"`
  46598. // One or more DevPay product codes. After you add a product code to an AMI,
  46599. // it can't be removed.
  46600. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
  46601. // One or more user groups. This parameter can be used only when the Attribute
  46602. // parameter is launchPermission.
  46603. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
  46604. // One or more AWS account IDs. This parameter can be used only when the Attribute
  46605. // parameter is launchPermission.
  46606. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  46607. // The value of the attribute being modified. This parameter can be used only
  46608. // when the Attribute parameter is description or productCodes.
  46609. Value *string `type:"string"`
  46610. }
  46611. // String returns the string representation
  46612. func (s ModifyImageAttributeInput) String() string {
  46613. return awsutil.Prettify(s)
  46614. }
  46615. // GoString returns the string representation
  46616. func (s ModifyImageAttributeInput) GoString() string {
  46617. return s.String()
  46618. }
  46619. // Validate inspects the fields of the type to determine if they are valid.
  46620. func (s *ModifyImageAttributeInput) Validate() error {
  46621. invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
  46622. if s.ImageId == nil {
  46623. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  46624. }
  46625. if invalidParams.Len() > 0 {
  46626. return invalidParams
  46627. }
  46628. return nil
  46629. }
  46630. // SetAttribute sets the Attribute field's value.
  46631. func (s *ModifyImageAttributeInput) SetAttribute(v string) *ModifyImageAttributeInput {
  46632. s.Attribute = &v
  46633. return s
  46634. }
  46635. // SetDescription sets the Description field's value.
  46636. func (s *ModifyImageAttributeInput) SetDescription(v *AttributeValue) *ModifyImageAttributeInput {
  46637. s.Description = v
  46638. return s
  46639. }
  46640. // SetDryRun sets the DryRun field's value.
  46641. func (s *ModifyImageAttributeInput) SetDryRun(v bool) *ModifyImageAttributeInput {
  46642. s.DryRun = &v
  46643. return s
  46644. }
  46645. // SetImageId sets the ImageId field's value.
  46646. func (s *ModifyImageAttributeInput) SetImageId(v string) *ModifyImageAttributeInput {
  46647. s.ImageId = &v
  46648. return s
  46649. }
  46650. // SetLaunchPermission sets the LaunchPermission field's value.
  46651. func (s *ModifyImageAttributeInput) SetLaunchPermission(v *LaunchPermissionModifications) *ModifyImageAttributeInput {
  46652. s.LaunchPermission = v
  46653. return s
  46654. }
  46655. // SetOperationType sets the OperationType field's value.
  46656. func (s *ModifyImageAttributeInput) SetOperationType(v string) *ModifyImageAttributeInput {
  46657. s.OperationType = &v
  46658. return s
  46659. }
  46660. // SetProductCodes sets the ProductCodes field's value.
  46661. func (s *ModifyImageAttributeInput) SetProductCodes(v []*string) *ModifyImageAttributeInput {
  46662. s.ProductCodes = v
  46663. return s
  46664. }
  46665. // SetUserGroups sets the UserGroups field's value.
  46666. func (s *ModifyImageAttributeInput) SetUserGroups(v []*string) *ModifyImageAttributeInput {
  46667. s.UserGroups = v
  46668. return s
  46669. }
  46670. // SetUserIds sets the UserIds field's value.
  46671. func (s *ModifyImageAttributeInput) SetUserIds(v []*string) *ModifyImageAttributeInput {
  46672. s.UserIds = v
  46673. return s
  46674. }
  46675. // SetValue sets the Value field's value.
  46676. func (s *ModifyImageAttributeInput) SetValue(v string) *ModifyImageAttributeInput {
  46677. s.Value = &v
  46678. return s
  46679. }
  46680. type ModifyImageAttributeOutput struct {
  46681. _ struct{} `type:"structure"`
  46682. }
  46683. // String returns the string representation
  46684. func (s ModifyImageAttributeOutput) String() string {
  46685. return awsutil.Prettify(s)
  46686. }
  46687. // GoString returns the string representation
  46688. func (s ModifyImageAttributeOutput) GoString() string {
  46689. return s.String()
  46690. }
  46691. // Contains the parameters for ModifyInstanceAttribute.
  46692. type ModifyInstanceAttributeInput struct {
  46693. _ struct{} `type:"structure"`
  46694. // The name of the attribute.
  46695. Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
  46696. // Modifies the DeleteOnTermination attribute for volumes that are currently
  46697. // attached. The volume must be owned by the caller. If no value is specified
  46698. // for DeleteOnTermination, the default is true and the volume is deleted when
  46699. // the instance is terminated.
  46700. //
  46701. // To add instance store volumes to an Amazon EBS-backed instance, you must
  46702. // add them when you launch the instance. For more information, see Updating
  46703. // the Block Device Mapping when Launching an Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
  46704. // in the Amazon Elastic Compute Cloud User Guide.
  46705. BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  46706. // If the value is true, you can't terminate the instance using the Amazon EC2
  46707. // console, CLI, or API; otherwise, you can. You cannot use this parameter for
  46708. // Spot Instances.
  46709. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  46710. // Checks whether you have the required permissions for the action, without
  46711. // actually making the request, and provides an error response. If you have
  46712. // the required permissions, the error response is DryRunOperation. Otherwise,
  46713. // it is UnauthorizedOperation.
  46714. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46715. // Specifies whether the instance is optimized for Amazon EBS I/O. This optimization
  46716. // provides dedicated throughput to Amazon EBS and an optimized configuration
  46717. // stack to provide optimal EBS I/O performance. This optimization isn't available
  46718. // with all instance types. Additional usage charges apply when using an EBS
  46719. // Optimized instance.
  46720. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  46721. // Set to true to enable enhanced networking with ENA for the instance.
  46722. //
  46723. // This option is supported only for HVM instances. Specifying this option with
  46724. // a PV instance can make it unreachable.
  46725. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  46726. // [EC2-VPC] Changes the security groups of the instance. You must specify at
  46727. // least one security group, even if it's just the default security group for
  46728. // the VPC. You must specify the security group ID, not the security group name.
  46729. Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  46730. // The ID of the instance.
  46731. //
  46732. // InstanceId is a required field
  46733. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  46734. // Specifies whether an instance stops or terminates when you initiate shutdown
  46735. // from the instance (using the operating system command for system shutdown).
  46736. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  46737. // Changes the instance type to the specified value. For more information, see
  46738. // Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  46739. // If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.
  46740. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  46741. // Changes the instance's kernel to the specified value. We recommend that you
  46742. // use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
  46743. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  46744. Kernel *AttributeValue `locationName:"kernel" type:"structure"`
  46745. // Changes the instance's RAM disk to the specified value. We recommend that
  46746. // you use PV-GRUB instead of kernels and RAM disks. For more information, see
  46747. // PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  46748. Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
  46749. // Specifies whether source/destination checking is enabled. A value of true
  46750. // means that checking is enabled, and false means that checking is disabled.
  46751. // This value must be false for a NAT instance to perform NAT.
  46752. SourceDestCheck *AttributeBooleanValue `type:"structure"`
  46753. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  46754. // Function interface for the instance.
  46755. //
  46756. // There is no way to disable enhanced networking with the Intel 82599 Virtual
  46757. // Function interface at this time.
  46758. //
  46759. // This option is supported only for HVM instances. Specifying this option with
  46760. // a PV instance can make it unreachable.
  46761. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  46762. // Changes the instance's user data to the specified value. If you are using
  46763. // an AWS SDK or command line tool, base64-encoding is performed for you, and
  46764. // you can load the text from a file. Otherwise, you must provide base64-encoded
  46765. // text.
  46766. UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
  46767. // A new value for the attribute. Use only with the kernel, ramdisk, userData,
  46768. // disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
  46769. Value *string `locationName:"value" type:"string"`
  46770. }
  46771. // String returns the string representation
  46772. func (s ModifyInstanceAttributeInput) String() string {
  46773. return awsutil.Prettify(s)
  46774. }
  46775. // GoString returns the string representation
  46776. func (s ModifyInstanceAttributeInput) GoString() string {
  46777. return s.String()
  46778. }
  46779. // Validate inspects the fields of the type to determine if they are valid.
  46780. func (s *ModifyInstanceAttributeInput) Validate() error {
  46781. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
  46782. if s.InstanceId == nil {
  46783. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  46784. }
  46785. if invalidParams.Len() > 0 {
  46786. return invalidParams
  46787. }
  46788. return nil
  46789. }
  46790. // SetAttribute sets the Attribute field's value.
  46791. func (s *ModifyInstanceAttributeInput) SetAttribute(v string) *ModifyInstanceAttributeInput {
  46792. s.Attribute = &v
  46793. return s
  46794. }
  46795. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  46796. func (s *ModifyInstanceAttributeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMappingSpecification) *ModifyInstanceAttributeInput {
  46797. s.BlockDeviceMappings = v
  46798. return s
  46799. }
  46800. // SetDisableApiTermination sets the DisableApiTermination field's value.
  46801. func (s *ModifyInstanceAttributeInput) SetDisableApiTermination(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  46802. s.DisableApiTermination = v
  46803. return s
  46804. }
  46805. // SetDryRun sets the DryRun field's value.
  46806. func (s *ModifyInstanceAttributeInput) SetDryRun(v bool) *ModifyInstanceAttributeInput {
  46807. s.DryRun = &v
  46808. return s
  46809. }
  46810. // SetEbsOptimized sets the EbsOptimized field's value.
  46811. func (s *ModifyInstanceAttributeInput) SetEbsOptimized(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  46812. s.EbsOptimized = v
  46813. return s
  46814. }
  46815. // SetEnaSupport sets the EnaSupport field's value.
  46816. func (s *ModifyInstanceAttributeInput) SetEnaSupport(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  46817. s.EnaSupport = v
  46818. return s
  46819. }
  46820. // SetGroups sets the Groups field's value.
  46821. func (s *ModifyInstanceAttributeInput) SetGroups(v []*string) *ModifyInstanceAttributeInput {
  46822. s.Groups = v
  46823. return s
  46824. }
  46825. // SetInstanceId sets the InstanceId field's value.
  46826. func (s *ModifyInstanceAttributeInput) SetInstanceId(v string) *ModifyInstanceAttributeInput {
  46827. s.InstanceId = &v
  46828. return s
  46829. }
  46830. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  46831. func (s *ModifyInstanceAttributeInput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *ModifyInstanceAttributeInput {
  46832. s.InstanceInitiatedShutdownBehavior = v
  46833. return s
  46834. }
  46835. // SetInstanceType sets the InstanceType field's value.
  46836. func (s *ModifyInstanceAttributeInput) SetInstanceType(v *AttributeValue) *ModifyInstanceAttributeInput {
  46837. s.InstanceType = v
  46838. return s
  46839. }
  46840. // SetKernel sets the Kernel field's value.
  46841. func (s *ModifyInstanceAttributeInput) SetKernel(v *AttributeValue) *ModifyInstanceAttributeInput {
  46842. s.Kernel = v
  46843. return s
  46844. }
  46845. // SetRamdisk sets the Ramdisk field's value.
  46846. func (s *ModifyInstanceAttributeInput) SetRamdisk(v *AttributeValue) *ModifyInstanceAttributeInput {
  46847. s.Ramdisk = v
  46848. return s
  46849. }
  46850. // SetSourceDestCheck sets the SourceDestCheck field's value.
  46851. func (s *ModifyInstanceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  46852. s.SourceDestCheck = v
  46853. return s
  46854. }
  46855. // SetSriovNetSupport sets the SriovNetSupport field's value.
  46856. func (s *ModifyInstanceAttributeInput) SetSriovNetSupport(v *AttributeValue) *ModifyInstanceAttributeInput {
  46857. s.SriovNetSupport = v
  46858. return s
  46859. }
  46860. // SetUserData sets the UserData field's value.
  46861. func (s *ModifyInstanceAttributeInput) SetUserData(v *BlobAttributeValue) *ModifyInstanceAttributeInput {
  46862. s.UserData = v
  46863. return s
  46864. }
  46865. // SetValue sets the Value field's value.
  46866. func (s *ModifyInstanceAttributeInput) SetValue(v string) *ModifyInstanceAttributeInput {
  46867. s.Value = &v
  46868. return s
  46869. }
  46870. type ModifyInstanceAttributeOutput struct {
  46871. _ struct{} `type:"structure"`
  46872. }
  46873. // String returns the string representation
  46874. func (s ModifyInstanceAttributeOutput) String() string {
  46875. return awsutil.Prettify(s)
  46876. }
  46877. // GoString returns the string representation
  46878. func (s ModifyInstanceAttributeOutput) GoString() string {
  46879. return s.String()
  46880. }
  46881. type ModifyInstanceCreditSpecificationInput struct {
  46882. _ struct{} `type:"structure"`
  46883. // A unique, case-sensitive token that you provide to ensure idempotency of
  46884. // your modification request. For more information, see Ensuring Idempotency
  46885. // (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  46886. ClientToken *string `type:"string"`
  46887. // Checks whether you have the required permissions for the action, without
  46888. // actually making the request, and provides an error response. If you have
  46889. // the required permissions, the error response is DryRunOperation. Otherwise,
  46890. // it is UnauthorizedOperation.
  46891. DryRun *bool `type:"boolean"`
  46892. // Information about the credit option for CPU usage.
  46893. //
  46894. // InstanceCreditSpecifications is a required field
  46895. InstanceCreditSpecifications []*InstanceCreditSpecificationRequest `locationName:"InstanceCreditSpecification" locationNameList:"item" type:"list" required:"true"`
  46896. }
  46897. // String returns the string representation
  46898. func (s ModifyInstanceCreditSpecificationInput) String() string {
  46899. return awsutil.Prettify(s)
  46900. }
  46901. // GoString returns the string representation
  46902. func (s ModifyInstanceCreditSpecificationInput) GoString() string {
  46903. return s.String()
  46904. }
  46905. // Validate inspects the fields of the type to determine if they are valid.
  46906. func (s *ModifyInstanceCreditSpecificationInput) Validate() error {
  46907. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCreditSpecificationInput"}
  46908. if s.InstanceCreditSpecifications == nil {
  46909. invalidParams.Add(request.NewErrParamRequired("InstanceCreditSpecifications"))
  46910. }
  46911. if invalidParams.Len() > 0 {
  46912. return invalidParams
  46913. }
  46914. return nil
  46915. }
  46916. // SetClientToken sets the ClientToken field's value.
  46917. func (s *ModifyInstanceCreditSpecificationInput) SetClientToken(v string) *ModifyInstanceCreditSpecificationInput {
  46918. s.ClientToken = &v
  46919. return s
  46920. }
  46921. // SetDryRun sets the DryRun field's value.
  46922. func (s *ModifyInstanceCreditSpecificationInput) SetDryRun(v bool) *ModifyInstanceCreditSpecificationInput {
  46923. s.DryRun = &v
  46924. return s
  46925. }
  46926. // SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
  46927. func (s *ModifyInstanceCreditSpecificationInput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecificationRequest) *ModifyInstanceCreditSpecificationInput {
  46928. s.InstanceCreditSpecifications = v
  46929. return s
  46930. }
  46931. type ModifyInstanceCreditSpecificationOutput struct {
  46932. _ struct{} `type:"structure"`
  46933. // Information about the instances whose credit option for CPU usage was successfully
  46934. // modified.
  46935. SuccessfulInstanceCreditSpecifications []*SuccessfulInstanceCreditSpecificationItem `locationName:"successfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
  46936. // Information about the instances whose credit option for CPU usage was not
  46937. // modified.
  46938. UnsuccessfulInstanceCreditSpecifications []*UnsuccessfulInstanceCreditSpecificationItem `locationName:"unsuccessfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
  46939. }
  46940. // String returns the string representation
  46941. func (s ModifyInstanceCreditSpecificationOutput) String() string {
  46942. return awsutil.Prettify(s)
  46943. }
  46944. // GoString returns the string representation
  46945. func (s ModifyInstanceCreditSpecificationOutput) GoString() string {
  46946. return s.String()
  46947. }
  46948. // SetSuccessfulInstanceCreditSpecifications sets the SuccessfulInstanceCreditSpecifications field's value.
  46949. func (s *ModifyInstanceCreditSpecificationOutput) SetSuccessfulInstanceCreditSpecifications(v []*SuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
  46950. s.SuccessfulInstanceCreditSpecifications = v
  46951. return s
  46952. }
  46953. // SetUnsuccessfulInstanceCreditSpecifications sets the UnsuccessfulInstanceCreditSpecifications field's value.
  46954. func (s *ModifyInstanceCreditSpecificationOutput) SetUnsuccessfulInstanceCreditSpecifications(v []*UnsuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
  46955. s.UnsuccessfulInstanceCreditSpecifications = v
  46956. return s
  46957. }
  46958. // Contains the parameters for ModifyInstancePlacement.
  46959. type ModifyInstancePlacementInput struct {
  46960. _ struct{} `type:"structure"`
  46961. // The affinity setting for the instance.
  46962. Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
  46963. // The name of the placement group in which to place the instance. For spread
  46964. // placement groups, the instance must have a tenancy of default. For cluster
  46965. // placement groups, the instance must have a tenancy of default or dedicated.
  46966. //
  46967. // To remove an instance from a placement group, specify an empty string ("").
  46968. GroupName *string `type:"string"`
  46969. // The ID of the Dedicated Host with which to associate the instance.
  46970. HostId *string `locationName:"hostId" type:"string"`
  46971. // The ID of the instance that you are modifying.
  46972. //
  46973. // InstanceId is a required field
  46974. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  46975. // The tenancy for the instance.
  46976. Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
  46977. }
  46978. // String returns the string representation
  46979. func (s ModifyInstancePlacementInput) String() string {
  46980. return awsutil.Prettify(s)
  46981. }
  46982. // GoString returns the string representation
  46983. func (s ModifyInstancePlacementInput) GoString() string {
  46984. return s.String()
  46985. }
  46986. // Validate inspects the fields of the type to determine if they are valid.
  46987. func (s *ModifyInstancePlacementInput) Validate() error {
  46988. invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
  46989. if s.InstanceId == nil {
  46990. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  46991. }
  46992. if invalidParams.Len() > 0 {
  46993. return invalidParams
  46994. }
  46995. return nil
  46996. }
  46997. // SetAffinity sets the Affinity field's value.
  46998. func (s *ModifyInstancePlacementInput) SetAffinity(v string) *ModifyInstancePlacementInput {
  46999. s.Affinity = &v
  47000. return s
  47001. }
  47002. // SetGroupName sets the GroupName field's value.
  47003. func (s *ModifyInstancePlacementInput) SetGroupName(v string) *ModifyInstancePlacementInput {
  47004. s.GroupName = &v
  47005. return s
  47006. }
  47007. // SetHostId sets the HostId field's value.
  47008. func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacementInput {
  47009. s.HostId = &v
  47010. return s
  47011. }
  47012. // SetInstanceId sets the InstanceId field's value.
  47013. func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
  47014. s.InstanceId = &v
  47015. return s
  47016. }
  47017. // SetTenancy sets the Tenancy field's value.
  47018. func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput {
  47019. s.Tenancy = &v
  47020. return s
  47021. }
  47022. // Contains the output of ModifyInstancePlacement.
  47023. type ModifyInstancePlacementOutput struct {
  47024. _ struct{} `type:"structure"`
  47025. // Is true if the request succeeds, and an error otherwise.
  47026. Return *bool `locationName:"return" type:"boolean"`
  47027. }
  47028. // String returns the string representation
  47029. func (s ModifyInstancePlacementOutput) String() string {
  47030. return awsutil.Prettify(s)
  47031. }
  47032. // GoString returns the string representation
  47033. func (s ModifyInstancePlacementOutput) GoString() string {
  47034. return s.String()
  47035. }
  47036. // SetReturn sets the Return field's value.
  47037. func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlacementOutput {
  47038. s.Return = &v
  47039. return s
  47040. }
  47041. type ModifyLaunchTemplateInput struct {
  47042. _ struct{} `type:"structure"`
  47043. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  47044. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  47045. ClientToken *string `type:"string"`
  47046. // The version number of the launch template to set as the default version.
  47047. DefaultVersion *string `locationName:"SetDefaultVersion" type:"string"`
  47048. // Checks whether you have the required permissions for the action, without
  47049. // actually making the request, and provides an error response. If you have
  47050. // the required permissions, the error response is DryRunOperation. Otherwise,
  47051. // it is UnauthorizedOperation.
  47052. DryRun *bool `type:"boolean"`
  47053. // The ID of the launch template. You must specify either the launch template
  47054. // ID or launch template name in the request.
  47055. LaunchTemplateId *string `type:"string"`
  47056. // The name of the launch template. You must specify either the launch template
  47057. // ID or launch template name in the request.
  47058. LaunchTemplateName *string `min:"3" type:"string"`
  47059. }
  47060. // String returns the string representation
  47061. func (s ModifyLaunchTemplateInput) String() string {
  47062. return awsutil.Prettify(s)
  47063. }
  47064. // GoString returns the string representation
  47065. func (s ModifyLaunchTemplateInput) GoString() string {
  47066. return s.String()
  47067. }
  47068. // Validate inspects the fields of the type to determine if they are valid.
  47069. func (s *ModifyLaunchTemplateInput) Validate() error {
  47070. invalidParams := request.ErrInvalidParams{Context: "ModifyLaunchTemplateInput"}
  47071. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  47072. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  47073. }
  47074. if invalidParams.Len() > 0 {
  47075. return invalidParams
  47076. }
  47077. return nil
  47078. }
  47079. // SetClientToken sets the ClientToken field's value.
  47080. func (s *ModifyLaunchTemplateInput) SetClientToken(v string) *ModifyLaunchTemplateInput {
  47081. s.ClientToken = &v
  47082. return s
  47083. }
  47084. // SetDefaultVersion sets the DefaultVersion field's value.
  47085. func (s *ModifyLaunchTemplateInput) SetDefaultVersion(v string) *ModifyLaunchTemplateInput {
  47086. s.DefaultVersion = &v
  47087. return s
  47088. }
  47089. // SetDryRun sets the DryRun field's value.
  47090. func (s *ModifyLaunchTemplateInput) SetDryRun(v bool) *ModifyLaunchTemplateInput {
  47091. s.DryRun = &v
  47092. return s
  47093. }
  47094. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  47095. func (s *ModifyLaunchTemplateInput) SetLaunchTemplateId(v string) *ModifyLaunchTemplateInput {
  47096. s.LaunchTemplateId = &v
  47097. return s
  47098. }
  47099. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  47100. func (s *ModifyLaunchTemplateInput) SetLaunchTemplateName(v string) *ModifyLaunchTemplateInput {
  47101. s.LaunchTemplateName = &v
  47102. return s
  47103. }
  47104. type ModifyLaunchTemplateOutput struct {
  47105. _ struct{} `type:"structure"`
  47106. // Information about the launch template.
  47107. LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
  47108. }
  47109. // String returns the string representation
  47110. func (s ModifyLaunchTemplateOutput) String() string {
  47111. return awsutil.Prettify(s)
  47112. }
  47113. // GoString returns the string representation
  47114. func (s ModifyLaunchTemplateOutput) GoString() string {
  47115. return s.String()
  47116. }
  47117. // SetLaunchTemplate sets the LaunchTemplate field's value.
  47118. func (s *ModifyLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *ModifyLaunchTemplateOutput {
  47119. s.LaunchTemplate = v
  47120. return s
  47121. }
  47122. // Contains the parameters for ModifyNetworkInterfaceAttribute.
  47123. type ModifyNetworkInterfaceAttributeInput struct {
  47124. _ struct{} `type:"structure"`
  47125. // Information about the interface attachment. If modifying the 'delete on termination'
  47126. // attribute, you must specify the ID of the interface attachment.
  47127. Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
  47128. // A description for the network interface.
  47129. Description *AttributeValue `locationName:"description" type:"structure"`
  47130. // Checks whether you have the required permissions for the action, without
  47131. // actually making the request, and provides an error response. If you have
  47132. // the required permissions, the error response is DryRunOperation. Otherwise,
  47133. // it is UnauthorizedOperation.
  47134. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47135. // Changes the security groups for the network interface. The new set of groups
  47136. // you specify replaces the current set. You must specify at least one group,
  47137. // even if it's just the default security group in the VPC. You must specify
  47138. // the ID of the security group, not the name.
  47139. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  47140. // The ID of the network interface.
  47141. //
  47142. // NetworkInterfaceId is a required field
  47143. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  47144. // Indicates whether source/destination checking is enabled. A value of true
  47145. // means checking is enabled, and false means checking is disabled. This value
  47146. // must be false for a NAT instance to perform NAT. For more information, see
  47147. // NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  47148. // in the Amazon Virtual Private Cloud User Guide.
  47149. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  47150. }
  47151. // String returns the string representation
  47152. func (s ModifyNetworkInterfaceAttributeInput) String() string {
  47153. return awsutil.Prettify(s)
  47154. }
  47155. // GoString returns the string representation
  47156. func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
  47157. return s.String()
  47158. }
  47159. // Validate inspects the fields of the type to determine if they are valid.
  47160. func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
  47161. invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
  47162. if s.NetworkInterfaceId == nil {
  47163. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  47164. }
  47165. if invalidParams.Len() > 0 {
  47166. return invalidParams
  47167. }
  47168. return nil
  47169. }
  47170. // SetAttachment sets the Attachment field's value.
  47171. func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput {
  47172. s.Attachment = v
  47173. return s
  47174. }
  47175. // SetDescription sets the Description field's value.
  47176. func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput {
  47177. s.Description = v
  47178. return s
  47179. }
  47180. // SetDryRun sets the DryRun field's value.
  47181. func (s *ModifyNetworkInterfaceAttributeInput) SetDryRun(v bool) *ModifyNetworkInterfaceAttributeInput {
  47182. s.DryRun = &v
  47183. return s
  47184. }
  47185. // SetGroups sets the Groups field's value.
  47186. func (s *ModifyNetworkInterfaceAttributeInput) SetGroups(v []*string) *ModifyNetworkInterfaceAttributeInput {
  47187. s.Groups = v
  47188. return s
  47189. }
  47190. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  47191. func (s *ModifyNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ModifyNetworkInterfaceAttributeInput {
  47192. s.NetworkInterfaceId = &v
  47193. return s
  47194. }
  47195. // SetSourceDestCheck sets the SourceDestCheck field's value.
  47196. func (s *ModifyNetworkInterfaceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyNetworkInterfaceAttributeInput {
  47197. s.SourceDestCheck = v
  47198. return s
  47199. }
  47200. type ModifyNetworkInterfaceAttributeOutput struct {
  47201. _ struct{} `type:"structure"`
  47202. }
  47203. // String returns the string representation
  47204. func (s ModifyNetworkInterfaceAttributeOutput) String() string {
  47205. return awsutil.Prettify(s)
  47206. }
  47207. // GoString returns the string representation
  47208. func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
  47209. return s.String()
  47210. }
  47211. // Contains the parameters for ModifyReservedInstances.
  47212. type ModifyReservedInstancesInput struct {
  47213. _ struct{} `type:"structure"`
  47214. // A unique, case-sensitive token you provide to ensure idempotency of your
  47215. // modification request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  47216. ClientToken *string `locationName:"clientToken" type:"string"`
  47217. // The IDs of the Reserved Instances to modify.
  47218. //
  47219. // ReservedInstancesIds is a required field
  47220. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
  47221. // The configuration settings for the Reserved Instances to modify.
  47222. //
  47223. // TargetConfigurations is a required field
  47224. TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
  47225. }
  47226. // String returns the string representation
  47227. func (s ModifyReservedInstancesInput) String() string {
  47228. return awsutil.Prettify(s)
  47229. }
  47230. // GoString returns the string representation
  47231. func (s ModifyReservedInstancesInput) GoString() string {
  47232. return s.String()
  47233. }
  47234. // Validate inspects the fields of the type to determine if they are valid.
  47235. func (s *ModifyReservedInstancesInput) Validate() error {
  47236. invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
  47237. if s.ReservedInstancesIds == nil {
  47238. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
  47239. }
  47240. if s.TargetConfigurations == nil {
  47241. invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
  47242. }
  47243. if invalidParams.Len() > 0 {
  47244. return invalidParams
  47245. }
  47246. return nil
  47247. }
  47248. // SetClientToken sets the ClientToken field's value.
  47249. func (s *ModifyReservedInstancesInput) SetClientToken(v string) *ModifyReservedInstancesInput {
  47250. s.ClientToken = &v
  47251. return s
  47252. }
  47253. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  47254. func (s *ModifyReservedInstancesInput) SetReservedInstancesIds(v []*string) *ModifyReservedInstancesInput {
  47255. s.ReservedInstancesIds = v
  47256. return s
  47257. }
  47258. // SetTargetConfigurations sets the TargetConfigurations field's value.
  47259. func (s *ModifyReservedInstancesInput) SetTargetConfigurations(v []*ReservedInstancesConfiguration) *ModifyReservedInstancesInput {
  47260. s.TargetConfigurations = v
  47261. return s
  47262. }
  47263. // Contains the output of ModifyReservedInstances.
  47264. type ModifyReservedInstancesOutput struct {
  47265. _ struct{} `type:"structure"`
  47266. // The ID for the modification.
  47267. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  47268. }
  47269. // String returns the string representation
  47270. func (s ModifyReservedInstancesOutput) String() string {
  47271. return awsutil.Prettify(s)
  47272. }
  47273. // GoString returns the string representation
  47274. func (s ModifyReservedInstancesOutput) GoString() string {
  47275. return s.String()
  47276. }
  47277. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  47278. func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v string) *ModifyReservedInstancesOutput {
  47279. s.ReservedInstancesModificationId = &v
  47280. return s
  47281. }
  47282. // Contains the parameters for ModifySnapshotAttribute.
  47283. type ModifySnapshotAttributeInput struct {
  47284. _ struct{} `type:"structure"`
  47285. // The snapshot attribute to modify.
  47286. //
  47287. // Only volume creation permissions may be modified at the customer level.
  47288. Attribute *string `type:"string" enum:"SnapshotAttributeName"`
  47289. // A JSON representation of the snapshot attribute modification.
  47290. CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
  47291. // Checks whether you have the required permissions for the action, without
  47292. // actually making the request, and provides an error response. If you have
  47293. // the required permissions, the error response is DryRunOperation. Otherwise,
  47294. // it is UnauthorizedOperation.
  47295. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47296. // The group to modify for the snapshot.
  47297. GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
  47298. // The type of operation to perform to the attribute.
  47299. OperationType *string `type:"string" enum:"OperationType"`
  47300. // The ID of the snapshot.
  47301. //
  47302. // SnapshotId is a required field
  47303. SnapshotId *string `type:"string" required:"true"`
  47304. // The account ID to modify for the snapshot.
  47305. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  47306. }
  47307. // String returns the string representation
  47308. func (s ModifySnapshotAttributeInput) String() string {
  47309. return awsutil.Prettify(s)
  47310. }
  47311. // GoString returns the string representation
  47312. func (s ModifySnapshotAttributeInput) GoString() string {
  47313. return s.String()
  47314. }
  47315. // Validate inspects the fields of the type to determine if they are valid.
  47316. func (s *ModifySnapshotAttributeInput) Validate() error {
  47317. invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
  47318. if s.SnapshotId == nil {
  47319. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  47320. }
  47321. if invalidParams.Len() > 0 {
  47322. return invalidParams
  47323. }
  47324. return nil
  47325. }
  47326. // SetAttribute sets the Attribute field's value.
  47327. func (s *ModifySnapshotAttributeInput) SetAttribute(v string) *ModifySnapshotAttributeInput {
  47328. s.Attribute = &v
  47329. return s
  47330. }
  47331. // SetCreateVolumePermission sets the CreateVolumePermission field's value.
  47332. func (s *ModifySnapshotAttributeInput) SetCreateVolumePermission(v *CreateVolumePermissionModifications) *ModifySnapshotAttributeInput {
  47333. s.CreateVolumePermission = v
  47334. return s
  47335. }
  47336. // SetDryRun sets the DryRun field's value.
  47337. func (s *ModifySnapshotAttributeInput) SetDryRun(v bool) *ModifySnapshotAttributeInput {
  47338. s.DryRun = &v
  47339. return s
  47340. }
  47341. // SetGroupNames sets the GroupNames field's value.
  47342. func (s *ModifySnapshotAttributeInput) SetGroupNames(v []*string) *ModifySnapshotAttributeInput {
  47343. s.GroupNames = v
  47344. return s
  47345. }
  47346. // SetOperationType sets the OperationType field's value.
  47347. func (s *ModifySnapshotAttributeInput) SetOperationType(v string) *ModifySnapshotAttributeInput {
  47348. s.OperationType = &v
  47349. return s
  47350. }
  47351. // SetSnapshotId sets the SnapshotId field's value.
  47352. func (s *ModifySnapshotAttributeInput) SetSnapshotId(v string) *ModifySnapshotAttributeInput {
  47353. s.SnapshotId = &v
  47354. return s
  47355. }
  47356. // SetUserIds sets the UserIds field's value.
  47357. func (s *ModifySnapshotAttributeInput) SetUserIds(v []*string) *ModifySnapshotAttributeInput {
  47358. s.UserIds = v
  47359. return s
  47360. }
  47361. type ModifySnapshotAttributeOutput struct {
  47362. _ struct{} `type:"structure"`
  47363. }
  47364. // String returns the string representation
  47365. func (s ModifySnapshotAttributeOutput) String() string {
  47366. return awsutil.Prettify(s)
  47367. }
  47368. // GoString returns the string representation
  47369. func (s ModifySnapshotAttributeOutput) GoString() string {
  47370. return s.String()
  47371. }
  47372. // Contains the parameters for ModifySpotFleetRequest.
  47373. type ModifySpotFleetRequestInput struct {
  47374. _ struct{} `type:"structure"`
  47375. // Indicates whether running Spot Instances should be terminated if the target
  47376. // capacity of the Spot Fleet request is decreased below the current size of
  47377. // the Spot Fleet.
  47378. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  47379. // The ID of the Spot Fleet request.
  47380. //
  47381. // SpotFleetRequestId is a required field
  47382. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  47383. // The size of the fleet.
  47384. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
  47385. }
  47386. // String returns the string representation
  47387. func (s ModifySpotFleetRequestInput) String() string {
  47388. return awsutil.Prettify(s)
  47389. }
  47390. // GoString returns the string representation
  47391. func (s ModifySpotFleetRequestInput) GoString() string {
  47392. return s.String()
  47393. }
  47394. // Validate inspects the fields of the type to determine if they are valid.
  47395. func (s *ModifySpotFleetRequestInput) Validate() error {
  47396. invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
  47397. if s.SpotFleetRequestId == nil {
  47398. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  47399. }
  47400. if invalidParams.Len() > 0 {
  47401. return invalidParams
  47402. }
  47403. return nil
  47404. }
  47405. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  47406. func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v string) *ModifySpotFleetRequestInput {
  47407. s.ExcessCapacityTerminationPolicy = &v
  47408. return s
  47409. }
  47410. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  47411. func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput {
  47412. s.SpotFleetRequestId = &v
  47413. return s
  47414. }
  47415. // SetTargetCapacity sets the TargetCapacity field's value.
  47416. func (s *ModifySpotFleetRequestInput) SetTargetCapacity(v int64) *ModifySpotFleetRequestInput {
  47417. s.TargetCapacity = &v
  47418. return s
  47419. }
  47420. // Contains the output of ModifySpotFleetRequest.
  47421. type ModifySpotFleetRequestOutput struct {
  47422. _ struct{} `type:"structure"`
  47423. // Is true if the request succeeds, and an error otherwise.
  47424. Return *bool `locationName:"return" type:"boolean"`
  47425. }
  47426. // String returns the string representation
  47427. func (s ModifySpotFleetRequestOutput) String() string {
  47428. return awsutil.Prettify(s)
  47429. }
  47430. // GoString returns the string representation
  47431. func (s ModifySpotFleetRequestOutput) GoString() string {
  47432. return s.String()
  47433. }
  47434. // SetReturn sets the Return field's value.
  47435. func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequestOutput {
  47436. s.Return = &v
  47437. return s
  47438. }
  47439. // Contains the parameters for ModifySubnetAttribute.
  47440. type ModifySubnetAttributeInput struct {
  47441. _ struct{} `type:"structure"`
  47442. // Specify true to indicate that network interfaces created in the specified
  47443. // subnet should be assigned an IPv6 address. This includes a network interface
  47444. // that's created when launching an instance into the subnet (the instance therefore
  47445. // receives an IPv6 address).
  47446. //
  47447. // If you enable the IPv6 addressing feature for your subnet, your network interface
  47448. // or instance only receives an IPv6 address if it's created using version 2016-11-15
  47449. // or later of the Amazon EC2 API.
  47450. AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"`
  47451. // Specify true to indicate that network interfaces created in the specified
  47452. // subnet should be assigned a public IPv4 address. This includes a network
  47453. // interface that's created when launching an instance into the subnet (the
  47454. // instance therefore receives a public IPv4 address).
  47455. MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
  47456. // The ID of the subnet.
  47457. //
  47458. // SubnetId is a required field
  47459. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  47460. }
  47461. // String returns the string representation
  47462. func (s ModifySubnetAttributeInput) String() string {
  47463. return awsutil.Prettify(s)
  47464. }
  47465. // GoString returns the string representation
  47466. func (s ModifySubnetAttributeInput) GoString() string {
  47467. return s.String()
  47468. }
  47469. // Validate inspects the fields of the type to determine if they are valid.
  47470. func (s *ModifySubnetAttributeInput) Validate() error {
  47471. invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
  47472. if s.SubnetId == nil {
  47473. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  47474. }
  47475. if invalidParams.Len() > 0 {
  47476. return invalidParams
  47477. }
  47478. return nil
  47479. }
  47480. // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
  47481. func (s *ModifySubnetAttributeInput) SetAssignIpv6AddressOnCreation(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  47482. s.AssignIpv6AddressOnCreation = v
  47483. return s
  47484. }
  47485. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  47486. func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  47487. s.MapPublicIpOnLaunch = v
  47488. return s
  47489. }
  47490. // SetSubnetId sets the SubnetId field's value.
  47491. func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput {
  47492. s.SubnetId = &v
  47493. return s
  47494. }
  47495. type ModifySubnetAttributeOutput struct {
  47496. _ struct{} `type:"structure"`
  47497. }
  47498. // String returns the string representation
  47499. func (s ModifySubnetAttributeOutput) String() string {
  47500. return awsutil.Prettify(s)
  47501. }
  47502. // GoString returns the string representation
  47503. func (s ModifySubnetAttributeOutput) GoString() string {
  47504. return s.String()
  47505. }
  47506. // Contains the parameters for ModifyVolumeAttribute.
  47507. type ModifyVolumeAttributeInput struct {
  47508. _ struct{} `type:"structure"`
  47509. // Indicates whether the volume should be auto-enabled for I/O operations.
  47510. AutoEnableIO *AttributeBooleanValue `type:"structure"`
  47511. // Checks whether you have the required permissions for the action, without
  47512. // actually making the request, and provides an error response. If you have
  47513. // the required permissions, the error response is DryRunOperation. Otherwise,
  47514. // it is UnauthorizedOperation.
  47515. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47516. // The ID of the volume.
  47517. //
  47518. // VolumeId is a required field
  47519. VolumeId *string `type:"string" required:"true"`
  47520. }
  47521. // String returns the string representation
  47522. func (s ModifyVolumeAttributeInput) String() string {
  47523. return awsutil.Prettify(s)
  47524. }
  47525. // GoString returns the string representation
  47526. func (s ModifyVolumeAttributeInput) GoString() string {
  47527. return s.String()
  47528. }
  47529. // Validate inspects the fields of the type to determine if they are valid.
  47530. func (s *ModifyVolumeAttributeInput) Validate() error {
  47531. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
  47532. if s.VolumeId == nil {
  47533. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  47534. }
  47535. if invalidParams.Len() > 0 {
  47536. return invalidParams
  47537. }
  47538. return nil
  47539. }
  47540. // SetAutoEnableIO sets the AutoEnableIO field's value.
  47541. func (s *ModifyVolumeAttributeInput) SetAutoEnableIO(v *AttributeBooleanValue) *ModifyVolumeAttributeInput {
  47542. s.AutoEnableIO = v
  47543. return s
  47544. }
  47545. // SetDryRun sets the DryRun field's value.
  47546. func (s *ModifyVolumeAttributeInput) SetDryRun(v bool) *ModifyVolumeAttributeInput {
  47547. s.DryRun = &v
  47548. return s
  47549. }
  47550. // SetVolumeId sets the VolumeId field's value.
  47551. func (s *ModifyVolumeAttributeInput) SetVolumeId(v string) *ModifyVolumeAttributeInput {
  47552. s.VolumeId = &v
  47553. return s
  47554. }
  47555. type ModifyVolumeAttributeOutput struct {
  47556. _ struct{} `type:"structure"`
  47557. }
  47558. // String returns the string representation
  47559. func (s ModifyVolumeAttributeOutput) String() string {
  47560. return awsutil.Prettify(s)
  47561. }
  47562. // GoString returns the string representation
  47563. func (s ModifyVolumeAttributeOutput) GoString() string {
  47564. return s.String()
  47565. }
  47566. type ModifyVolumeInput struct {
  47567. _ struct{} `type:"structure"`
  47568. // Checks whether you have the required permissions for the action, without
  47569. // actually making the request, and provides an error response. If you have
  47570. // the required permissions, the error response is DryRunOperation. Otherwise,
  47571. // it is UnauthorizedOperation.
  47572. DryRun *bool `type:"boolean"`
  47573. // Target IOPS rate of the volume to be modified.
  47574. //
  47575. // Only valid for Provisioned IOPS SSD (io1) volumes. For more information about
  47576. // io1 IOPS configuration, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops
  47577. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops).
  47578. //
  47579. // Default: If no IOPS value is specified, the existing value is retained.
  47580. Iops *int64 `type:"integer"`
  47581. // Target size in GiB of the volume to be modified. Target volume size must
  47582. // be greater than or equal to than the existing size of the volume. For information
  47583. // about available EBS volume sizes, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
  47584. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
  47585. //
  47586. // Default: If no size is specified, the existing size is retained.
  47587. Size *int64 `type:"integer"`
  47588. // The ID of the volume.
  47589. //
  47590. // VolumeId is a required field
  47591. VolumeId *string `type:"string" required:"true"`
  47592. // Target EBS volume type of the volume to be modified
  47593. //
  47594. // The API does not support modifications for volume type standard. You also
  47595. // cannot change the type of a volume to standard.
  47596. //
  47597. // Default: If no type is specified, the existing type is retained.
  47598. VolumeType *string `type:"string" enum:"VolumeType"`
  47599. }
  47600. // String returns the string representation
  47601. func (s ModifyVolumeInput) String() string {
  47602. return awsutil.Prettify(s)
  47603. }
  47604. // GoString returns the string representation
  47605. func (s ModifyVolumeInput) GoString() string {
  47606. return s.String()
  47607. }
  47608. // Validate inspects the fields of the type to determine if they are valid.
  47609. func (s *ModifyVolumeInput) Validate() error {
  47610. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeInput"}
  47611. if s.VolumeId == nil {
  47612. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  47613. }
  47614. if invalidParams.Len() > 0 {
  47615. return invalidParams
  47616. }
  47617. return nil
  47618. }
  47619. // SetDryRun sets the DryRun field's value.
  47620. func (s *ModifyVolumeInput) SetDryRun(v bool) *ModifyVolumeInput {
  47621. s.DryRun = &v
  47622. return s
  47623. }
  47624. // SetIops sets the Iops field's value.
  47625. func (s *ModifyVolumeInput) SetIops(v int64) *ModifyVolumeInput {
  47626. s.Iops = &v
  47627. return s
  47628. }
  47629. // SetSize sets the Size field's value.
  47630. func (s *ModifyVolumeInput) SetSize(v int64) *ModifyVolumeInput {
  47631. s.Size = &v
  47632. return s
  47633. }
  47634. // SetVolumeId sets the VolumeId field's value.
  47635. func (s *ModifyVolumeInput) SetVolumeId(v string) *ModifyVolumeInput {
  47636. s.VolumeId = &v
  47637. return s
  47638. }
  47639. // SetVolumeType sets the VolumeType field's value.
  47640. func (s *ModifyVolumeInput) SetVolumeType(v string) *ModifyVolumeInput {
  47641. s.VolumeType = &v
  47642. return s
  47643. }
  47644. type ModifyVolumeOutput struct {
  47645. _ struct{} `type:"structure"`
  47646. // A VolumeModification object.
  47647. VolumeModification *VolumeModification `locationName:"volumeModification" type:"structure"`
  47648. }
  47649. // String returns the string representation
  47650. func (s ModifyVolumeOutput) String() string {
  47651. return awsutil.Prettify(s)
  47652. }
  47653. // GoString returns the string representation
  47654. func (s ModifyVolumeOutput) GoString() string {
  47655. return s.String()
  47656. }
  47657. // SetVolumeModification sets the VolumeModification field's value.
  47658. func (s *ModifyVolumeOutput) SetVolumeModification(v *VolumeModification) *ModifyVolumeOutput {
  47659. s.VolumeModification = v
  47660. return s
  47661. }
  47662. // Contains the parameters for ModifyVpcAttribute.
  47663. type ModifyVpcAttributeInput struct {
  47664. _ struct{} `type:"structure"`
  47665. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  47666. // enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
  47667. //
  47668. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  47669. // same request. Use separate requests for each attribute. You can only enable
  47670. // DNS hostnames if you've enabled DNS support.
  47671. EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
  47672. // Indicates whether the DNS resolution is supported for the VPC. If enabled,
  47673. // queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
  47674. // or the reserved IP address at the base of the VPC network range "plus two"
  47675. // will succeed. If disabled, the Amazon provided DNS service in the VPC that
  47676. // resolves public DNS hostnames to IP addresses is not enabled.
  47677. //
  47678. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  47679. // same request. Use separate requests for each attribute.
  47680. EnableDnsSupport *AttributeBooleanValue `type:"structure"`
  47681. // The ID of the VPC.
  47682. //
  47683. // VpcId is a required field
  47684. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  47685. }
  47686. // String returns the string representation
  47687. func (s ModifyVpcAttributeInput) String() string {
  47688. return awsutil.Prettify(s)
  47689. }
  47690. // GoString returns the string representation
  47691. func (s ModifyVpcAttributeInput) GoString() string {
  47692. return s.String()
  47693. }
  47694. // Validate inspects the fields of the type to determine if they are valid.
  47695. func (s *ModifyVpcAttributeInput) Validate() error {
  47696. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
  47697. if s.VpcId == nil {
  47698. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  47699. }
  47700. if invalidParams.Len() > 0 {
  47701. return invalidParams
  47702. }
  47703. return nil
  47704. }
  47705. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  47706. func (s *ModifyVpcAttributeInput) SetEnableDnsHostnames(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  47707. s.EnableDnsHostnames = v
  47708. return s
  47709. }
  47710. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  47711. func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  47712. s.EnableDnsSupport = v
  47713. return s
  47714. }
  47715. // SetVpcId sets the VpcId field's value.
  47716. func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput {
  47717. s.VpcId = &v
  47718. return s
  47719. }
  47720. type ModifyVpcAttributeOutput struct {
  47721. _ struct{} `type:"structure"`
  47722. }
  47723. // String returns the string representation
  47724. func (s ModifyVpcAttributeOutput) String() string {
  47725. return awsutil.Prettify(s)
  47726. }
  47727. // GoString returns the string representation
  47728. func (s ModifyVpcAttributeOutput) GoString() string {
  47729. return s.String()
  47730. }
  47731. type ModifyVpcEndpointConnectionNotificationInput struct {
  47732. _ struct{} `type:"structure"`
  47733. // One or more events for the endpoint. Valid values are Accept, Connect, Delete,
  47734. // and Reject.
  47735. ConnectionEvents []*string `locationNameList:"item" type:"list"`
  47736. // The ARN for the SNS topic for the notification.
  47737. ConnectionNotificationArn *string `type:"string"`
  47738. // The ID of the notification.
  47739. //
  47740. // ConnectionNotificationId is a required field
  47741. ConnectionNotificationId *string `type:"string" required:"true"`
  47742. // Checks whether you have the required permissions for the action, without
  47743. // actually making the request, and provides an error response. If you have
  47744. // the required permissions, the error response is DryRunOperation. Otherwise,
  47745. // it is UnauthorizedOperation.
  47746. DryRun *bool `type:"boolean"`
  47747. }
  47748. // String returns the string representation
  47749. func (s ModifyVpcEndpointConnectionNotificationInput) String() string {
  47750. return awsutil.Prettify(s)
  47751. }
  47752. // GoString returns the string representation
  47753. func (s ModifyVpcEndpointConnectionNotificationInput) GoString() string {
  47754. return s.String()
  47755. }
  47756. // Validate inspects the fields of the type to determine if they are valid.
  47757. func (s *ModifyVpcEndpointConnectionNotificationInput) Validate() error {
  47758. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointConnectionNotificationInput"}
  47759. if s.ConnectionNotificationId == nil {
  47760. invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationId"))
  47761. }
  47762. if invalidParams.Len() > 0 {
  47763. return invalidParams
  47764. }
  47765. return nil
  47766. }
  47767. // SetConnectionEvents sets the ConnectionEvents field's value.
  47768. func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *ModifyVpcEndpointConnectionNotificationInput {
  47769. s.ConnectionEvents = v
  47770. return s
  47771. }
  47772. // SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
  47773. func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *ModifyVpcEndpointConnectionNotificationInput {
  47774. s.ConnectionNotificationArn = &v
  47775. return s
  47776. }
  47777. // SetConnectionNotificationId sets the ConnectionNotificationId field's value.
  47778. func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationId(v string) *ModifyVpcEndpointConnectionNotificationInput {
  47779. s.ConnectionNotificationId = &v
  47780. return s
  47781. }
  47782. // SetDryRun sets the DryRun field's value.
  47783. func (s *ModifyVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *ModifyVpcEndpointConnectionNotificationInput {
  47784. s.DryRun = &v
  47785. return s
  47786. }
  47787. type ModifyVpcEndpointConnectionNotificationOutput struct {
  47788. _ struct{} `type:"structure"`
  47789. // Returns true if the request succeeds; otherwise, it returns an error.
  47790. ReturnValue *bool `locationName:"return" type:"boolean"`
  47791. }
  47792. // String returns the string representation
  47793. func (s ModifyVpcEndpointConnectionNotificationOutput) String() string {
  47794. return awsutil.Prettify(s)
  47795. }
  47796. // GoString returns the string representation
  47797. func (s ModifyVpcEndpointConnectionNotificationOutput) GoString() string {
  47798. return s.String()
  47799. }
  47800. // SetReturnValue sets the ReturnValue field's value.
  47801. func (s *ModifyVpcEndpointConnectionNotificationOutput) SetReturnValue(v bool) *ModifyVpcEndpointConnectionNotificationOutput {
  47802. s.ReturnValue = &v
  47803. return s
  47804. }
  47805. // Contains the parameters for ModifyVpcEndpoint.
  47806. type ModifyVpcEndpointInput struct {
  47807. _ struct{} `type:"structure"`
  47808. // (Gateway endpoint) One or more route tables IDs to associate with the endpoint.
  47809. AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
  47810. // (Interface endpoint) One or more security group IDs to associate with the
  47811. // network interface.
  47812. AddSecurityGroupIds []*string `locationName:"AddSecurityGroupId" locationNameList:"item" type:"list"`
  47813. // (Interface endpoint) One or more subnet IDs in which to serve the endpoint.
  47814. AddSubnetIds []*string `locationName:"AddSubnetId" locationNameList:"item" type:"list"`
  47815. // Checks whether you have the required permissions for the action, without
  47816. // actually making the request, and provides an error response. If you have
  47817. // the required permissions, the error response is DryRunOperation. Otherwise,
  47818. // it is UnauthorizedOperation.
  47819. DryRun *bool `type:"boolean"`
  47820. // (Gateway endpoint) A policy document to attach to the endpoint. The policy
  47821. // must be in valid JSON format.
  47822. PolicyDocument *string `type:"string"`
  47823. // (Interface endpoint) Indicate whether a private hosted zone is associated
  47824. // with the VPC.
  47825. PrivateDnsEnabled *bool `type:"boolean"`
  47826. // (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.
  47827. RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
  47828. // (Interface endpoint) One or more security group IDs to disassociate from
  47829. // the network interface.
  47830. RemoveSecurityGroupIds []*string `locationName:"RemoveSecurityGroupId" locationNameList:"item" type:"list"`
  47831. // (Interface endpoint) One or more subnets IDs in which to remove the endpoint.
  47832. RemoveSubnetIds []*string `locationName:"RemoveSubnetId" locationNameList:"item" type:"list"`
  47833. // (Gateway endpoint) Specify true to reset the policy document to the default
  47834. // policy. The default policy allows full access to the service.
  47835. ResetPolicy *bool `type:"boolean"`
  47836. // The ID of the endpoint.
  47837. //
  47838. // VpcEndpointId is a required field
  47839. VpcEndpointId *string `type:"string" required:"true"`
  47840. }
  47841. // String returns the string representation
  47842. func (s ModifyVpcEndpointInput) String() string {
  47843. return awsutil.Prettify(s)
  47844. }
  47845. // GoString returns the string representation
  47846. func (s ModifyVpcEndpointInput) GoString() string {
  47847. return s.String()
  47848. }
  47849. // Validate inspects the fields of the type to determine if they are valid.
  47850. func (s *ModifyVpcEndpointInput) Validate() error {
  47851. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
  47852. if s.VpcEndpointId == nil {
  47853. invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
  47854. }
  47855. if invalidParams.Len() > 0 {
  47856. return invalidParams
  47857. }
  47858. return nil
  47859. }
  47860. // SetAddRouteTableIds sets the AddRouteTableIds field's value.
  47861. func (s *ModifyVpcEndpointInput) SetAddRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  47862. s.AddRouteTableIds = v
  47863. return s
  47864. }
  47865. // SetAddSecurityGroupIds sets the AddSecurityGroupIds field's value.
  47866. func (s *ModifyVpcEndpointInput) SetAddSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
  47867. s.AddSecurityGroupIds = v
  47868. return s
  47869. }
  47870. // SetAddSubnetIds sets the AddSubnetIds field's value.
  47871. func (s *ModifyVpcEndpointInput) SetAddSubnetIds(v []*string) *ModifyVpcEndpointInput {
  47872. s.AddSubnetIds = v
  47873. return s
  47874. }
  47875. // SetDryRun sets the DryRun field's value.
  47876. func (s *ModifyVpcEndpointInput) SetDryRun(v bool) *ModifyVpcEndpointInput {
  47877. s.DryRun = &v
  47878. return s
  47879. }
  47880. // SetPolicyDocument sets the PolicyDocument field's value.
  47881. func (s *ModifyVpcEndpointInput) SetPolicyDocument(v string) *ModifyVpcEndpointInput {
  47882. s.PolicyDocument = &v
  47883. return s
  47884. }
  47885. // SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
  47886. func (s *ModifyVpcEndpointInput) SetPrivateDnsEnabled(v bool) *ModifyVpcEndpointInput {
  47887. s.PrivateDnsEnabled = &v
  47888. return s
  47889. }
  47890. // SetRemoveRouteTableIds sets the RemoveRouteTableIds field's value.
  47891. func (s *ModifyVpcEndpointInput) SetRemoveRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  47892. s.RemoveRouteTableIds = v
  47893. return s
  47894. }
  47895. // SetRemoveSecurityGroupIds sets the RemoveSecurityGroupIds field's value.
  47896. func (s *ModifyVpcEndpointInput) SetRemoveSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
  47897. s.RemoveSecurityGroupIds = v
  47898. return s
  47899. }
  47900. // SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
  47901. func (s *ModifyVpcEndpointInput) SetRemoveSubnetIds(v []*string) *ModifyVpcEndpointInput {
  47902. s.RemoveSubnetIds = v
  47903. return s
  47904. }
  47905. // SetResetPolicy sets the ResetPolicy field's value.
  47906. func (s *ModifyVpcEndpointInput) SetResetPolicy(v bool) *ModifyVpcEndpointInput {
  47907. s.ResetPolicy = &v
  47908. return s
  47909. }
  47910. // SetVpcEndpointId sets the VpcEndpointId field's value.
  47911. func (s *ModifyVpcEndpointInput) SetVpcEndpointId(v string) *ModifyVpcEndpointInput {
  47912. s.VpcEndpointId = &v
  47913. return s
  47914. }
  47915. type ModifyVpcEndpointOutput struct {
  47916. _ struct{} `type:"structure"`
  47917. // Returns true if the request succeeds; otherwise, it returns an error.
  47918. Return *bool `locationName:"return" type:"boolean"`
  47919. }
  47920. // String returns the string representation
  47921. func (s ModifyVpcEndpointOutput) String() string {
  47922. return awsutil.Prettify(s)
  47923. }
  47924. // GoString returns the string representation
  47925. func (s ModifyVpcEndpointOutput) GoString() string {
  47926. return s.String()
  47927. }
  47928. // SetReturn sets the Return field's value.
  47929. func (s *ModifyVpcEndpointOutput) SetReturn(v bool) *ModifyVpcEndpointOutput {
  47930. s.Return = &v
  47931. return s
  47932. }
  47933. type ModifyVpcEndpointServiceConfigurationInput struct {
  47934. _ struct{} `type:"structure"`
  47935. // Indicate whether requests to create an endpoint to your service must be accepted.
  47936. AcceptanceRequired *bool `type:"boolean"`
  47937. // The Amazon Resource Names (ARNs) of Network Load Balancers to add to your
  47938. // service configuration.
  47939. AddNetworkLoadBalancerArns []*string `locationName:"AddNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
  47940. // Checks whether you have the required permissions for the action, without
  47941. // actually making the request, and provides an error response. If you have
  47942. // the required permissions, the error response is DryRunOperation. Otherwise,
  47943. // it is UnauthorizedOperation.
  47944. DryRun *bool `type:"boolean"`
  47945. // The Amazon Resource Names (ARNs) of Network Load Balancers to remove from
  47946. // your service configuration.
  47947. RemoveNetworkLoadBalancerArns []*string `locationName:"RemoveNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
  47948. // The ID of the service.
  47949. //
  47950. // ServiceId is a required field
  47951. ServiceId *string `type:"string" required:"true"`
  47952. }
  47953. // String returns the string representation
  47954. func (s ModifyVpcEndpointServiceConfigurationInput) String() string {
  47955. return awsutil.Prettify(s)
  47956. }
  47957. // GoString returns the string representation
  47958. func (s ModifyVpcEndpointServiceConfigurationInput) GoString() string {
  47959. return s.String()
  47960. }
  47961. // Validate inspects the fields of the type to determine if they are valid.
  47962. func (s *ModifyVpcEndpointServiceConfigurationInput) Validate() error {
  47963. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServiceConfigurationInput"}
  47964. if s.ServiceId == nil {
  47965. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  47966. }
  47967. if invalidParams.Len() > 0 {
  47968. return invalidParams
  47969. }
  47970. return nil
  47971. }
  47972. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  47973. func (s *ModifyVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *ModifyVpcEndpointServiceConfigurationInput {
  47974. s.AcceptanceRequired = &v
  47975. return s
  47976. }
  47977. // SetAddNetworkLoadBalancerArns sets the AddNetworkLoadBalancerArns field's value.
  47978. func (s *ModifyVpcEndpointServiceConfigurationInput) SetAddNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
  47979. s.AddNetworkLoadBalancerArns = v
  47980. return s
  47981. }
  47982. // SetDryRun sets the DryRun field's value.
  47983. func (s *ModifyVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *ModifyVpcEndpointServiceConfigurationInput {
  47984. s.DryRun = &v
  47985. return s
  47986. }
  47987. // SetRemoveNetworkLoadBalancerArns sets the RemoveNetworkLoadBalancerArns field's value.
  47988. func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemoveNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
  47989. s.RemoveNetworkLoadBalancerArns = v
  47990. return s
  47991. }
  47992. // SetServiceId sets the ServiceId field's value.
  47993. func (s *ModifyVpcEndpointServiceConfigurationInput) SetServiceId(v string) *ModifyVpcEndpointServiceConfigurationInput {
  47994. s.ServiceId = &v
  47995. return s
  47996. }
  47997. type ModifyVpcEndpointServiceConfigurationOutput struct {
  47998. _ struct{} `type:"structure"`
  47999. // Returns true if the request succeeds; otherwise, it returns an error.
  48000. Return *bool `locationName:"return" type:"boolean"`
  48001. }
  48002. // String returns the string representation
  48003. func (s ModifyVpcEndpointServiceConfigurationOutput) String() string {
  48004. return awsutil.Prettify(s)
  48005. }
  48006. // GoString returns the string representation
  48007. func (s ModifyVpcEndpointServiceConfigurationOutput) GoString() string {
  48008. return s.String()
  48009. }
  48010. // SetReturn sets the Return field's value.
  48011. func (s *ModifyVpcEndpointServiceConfigurationOutput) SetReturn(v bool) *ModifyVpcEndpointServiceConfigurationOutput {
  48012. s.Return = &v
  48013. return s
  48014. }
  48015. type ModifyVpcEndpointServicePermissionsInput struct {
  48016. _ struct{} `type:"structure"`
  48017. // One or more Amazon Resource Names (ARNs) of principals for which to allow
  48018. // permission. Specify * to allow all principals.
  48019. AddAllowedPrincipals []*string `locationNameList:"item" type:"list"`
  48020. // Checks whether you have the required permissions for the action, without
  48021. // actually making the request, and provides an error response. If you have
  48022. // the required permissions, the error response is DryRunOperation. Otherwise,
  48023. // it is UnauthorizedOperation.
  48024. DryRun *bool `type:"boolean"`
  48025. // One or more Amazon Resource Names (ARNs) of principals for which to remove
  48026. // permission.
  48027. RemoveAllowedPrincipals []*string `locationNameList:"item" type:"list"`
  48028. // The ID of the service.
  48029. //
  48030. // ServiceId is a required field
  48031. ServiceId *string `type:"string" required:"true"`
  48032. }
  48033. // String returns the string representation
  48034. func (s ModifyVpcEndpointServicePermissionsInput) String() string {
  48035. return awsutil.Prettify(s)
  48036. }
  48037. // GoString returns the string representation
  48038. func (s ModifyVpcEndpointServicePermissionsInput) GoString() string {
  48039. return s.String()
  48040. }
  48041. // Validate inspects the fields of the type to determine if they are valid.
  48042. func (s *ModifyVpcEndpointServicePermissionsInput) Validate() error {
  48043. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServicePermissionsInput"}
  48044. if s.ServiceId == nil {
  48045. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  48046. }
  48047. if invalidParams.Len() > 0 {
  48048. return invalidParams
  48049. }
  48050. return nil
  48051. }
  48052. // SetAddAllowedPrincipals sets the AddAllowedPrincipals field's value.
  48053. func (s *ModifyVpcEndpointServicePermissionsInput) SetAddAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
  48054. s.AddAllowedPrincipals = v
  48055. return s
  48056. }
  48057. // SetDryRun sets the DryRun field's value.
  48058. func (s *ModifyVpcEndpointServicePermissionsInput) SetDryRun(v bool) *ModifyVpcEndpointServicePermissionsInput {
  48059. s.DryRun = &v
  48060. return s
  48061. }
  48062. // SetRemoveAllowedPrincipals sets the RemoveAllowedPrincipals field's value.
  48063. func (s *ModifyVpcEndpointServicePermissionsInput) SetRemoveAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
  48064. s.RemoveAllowedPrincipals = v
  48065. return s
  48066. }
  48067. // SetServiceId sets the ServiceId field's value.
  48068. func (s *ModifyVpcEndpointServicePermissionsInput) SetServiceId(v string) *ModifyVpcEndpointServicePermissionsInput {
  48069. s.ServiceId = &v
  48070. return s
  48071. }
  48072. type ModifyVpcEndpointServicePermissionsOutput struct {
  48073. _ struct{} `type:"structure"`
  48074. // Returns true if the request succeeds; otherwise, it returns an error.
  48075. ReturnValue *bool `locationName:"return" type:"boolean"`
  48076. }
  48077. // String returns the string representation
  48078. func (s ModifyVpcEndpointServicePermissionsOutput) String() string {
  48079. return awsutil.Prettify(s)
  48080. }
  48081. // GoString returns the string representation
  48082. func (s ModifyVpcEndpointServicePermissionsOutput) GoString() string {
  48083. return s.String()
  48084. }
  48085. // SetReturnValue sets the ReturnValue field's value.
  48086. func (s *ModifyVpcEndpointServicePermissionsOutput) SetReturnValue(v bool) *ModifyVpcEndpointServicePermissionsOutput {
  48087. s.ReturnValue = &v
  48088. return s
  48089. }
  48090. type ModifyVpcPeeringConnectionOptionsInput struct {
  48091. _ struct{} `type:"structure"`
  48092. // The VPC peering connection options for the accepter VPC.
  48093. AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  48094. // Checks whether you have the required permissions for the operation, without
  48095. // actually making the request, and provides an error response. If you have
  48096. // the required permissions, the error response is DryRunOperation. Otherwise,
  48097. // it is UnauthorizedOperation.
  48098. DryRun *bool `type:"boolean"`
  48099. // The VPC peering connection options for the requester VPC.
  48100. RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  48101. // The ID of the VPC peering connection.
  48102. //
  48103. // VpcPeeringConnectionId is a required field
  48104. VpcPeeringConnectionId *string `type:"string" required:"true"`
  48105. }
  48106. // String returns the string representation
  48107. func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
  48108. return awsutil.Prettify(s)
  48109. }
  48110. // GoString returns the string representation
  48111. func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
  48112. return s.String()
  48113. }
  48114. // Validate inspects the fields of the type to determine if they are valid.
  48115. func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
  48116. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
  48117. if s.VpcPeeringConnectionId == nil {
  48118. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  48119. }
  48120. if invalidParams.Len() > 0 {
  48121. return invalidParams
  48122. }
  48123. return nil
  48124. }
  48125. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  48126. func (s *ModifyVpcPeeringConnectionOptionsInput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  48127. s.AccepterPeeringConnectionOptions = v
  48128. return s
  48129. }
  48130. // SetDryRun sets the DryRun field's value.
  48131. func (s *ModifyVpcPeeringConnectionOptionsInput) SetDryRun(v bool) *ModifyVpcPeeringConnectionOptionsInput {
  48132. s.DryRun = &v
  48133. return s
  48134. }
  48135. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  48136. func (s *ModifyVpcPeeringConnectionOptionsInput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  48137. s.RequesterPeeringConnectionOptions = v
  48138. return s
  48139. }
  48140. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  48141. func (s *ModifyVpcPeeringConnectionOptionsInput) SetVpcPeeringConnectionId(v string) *ModifyVpcPeeringConnectionOptionsInput {
  48142. s.VpcPeeringConnectionId = &v
  48143. return s
  48144. }
  48145. type ModifyVpcPeeringConnectionOptionsOutput struct {
  48146. _ struct{} `type:"structure"`
  48147. // Information about the VPC peering connection options for the accepter VPC.
  48148. AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
  48149. // Information about the VPC peering connection options for the requester VPC.
  48150. RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
  48151. }
  48152. // String returns the string representation
  48153. func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
  48154. return awsutil.Prettify(s)
  48155. }
  48156. // GoString returns the string representation
  48157. func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
  48158. return s.String()
  48159. }
  48160. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  48161. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  48162. s.AccepterPeeringConnectionOptions = v
  48163. return s
  48164. }
  48165. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  48166. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  48167. s.RequesterPeeringConnectionOptions = v
  48168. return s
  48169. }
  48170. // Contains the parameters for ModifyVpcTenancy.
  48171. type ModifyVpcTenancyInput struct {
  48172. _ struct{} `type:"structure"`
  48173. // Checks whether you have the required permissions for the operation, without
  48174. // actually making the request, and provides an error response. If you have
  48175. // the required permissions, the error response is DryRunOperation. Otherwise,
  48176. // it is UnauthorizedOperation.
  48177. DryRun *bool `type:"boolean"`
  48178. // The instance tenancy attribute for the VPC.
  48179. //
  48180. // InstanceTenancy is a required field
  48181. InstanceTenancy *string `type:"string" required:"true" enum:"VpcTenancy"`
  48182. // The ID of the VPC.
  48183. //
  48184. // VpcId is a required field
  48185. VpcId *string `type:"string" required:"true"`
  48186. }
  48187. // String returns the string representation
  48188. func (s ModifyVpcTenancyInput) String() string {
  48189. return awsutil.Prettify(s)
  48190. }
  48191. // GoString returns the string representation
  48192. func (s ModifyVpcTenancyInput) GoString() string {
  48193. return s.String()
  48194. }
  48195. // Validate inspects the fields of the type to determine if they are valid.
  48196. func (s *ModifyVpcTenancyInput) Validate() error {
  48197. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcTenancyInput"}
  48198. if s.InstanceTenancy == nil {
  48199. invalidParams.Add(request.NewErrParamRequired("InstanceTenancy"))
  48200. }
  48201. if s.VpcId == nil {
  48202. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  48203. }
  48204. if invalidParams.Len() > 0 {
  48205. return invalidParams
  48206. }
  48207. return nil
  48208. }
  48209. // SetDryRun sets the DryRun field's value.
  48210. func (s *ModifyVpcTenancyInput) SetDryRun(v bool) *ModifyVpcTenancyInput {
  48211. s.DryRun = &v
  48212. return s
  48213. }
  48214. // SetInstanceTenancy sets the InstanceTenancy field's value.
  48215. func (s *ModifyVpcTenancyInput) SetInstanceTenancy(v string) *ModifyVpcTenancyInput {
  48216. s.InstanceTenancy = &v
  48217. return s
  48218. }
  48219. // SetVpcId sets the VpcId field's value.
  48220. func (s *ModifyVpcTenancyInput) SetVpcId(v string) *ModifyVpcTenancyInput {
  48221. s.VpcId = &v
  48222. return s
  48223. }
  48224. // Contains the output of ModifyVpcTenancy.
  48225. type ModifyVpcTenancyOutput struct {
  48226. _ struct{} `type:"structure"`
  48227. // Returns true if the request succeeds; otherwise, returns an error.
  48228. ReturnValue *bool `locationName:"return" type:"boolean"`
  48229. }
  48230. // String returns the string representation
  48231. func (s ModifyVpcTenancyOutput) String() string {
  48232. return awsutil.Prettify(s)
  48233. }
  48234. // GoString returns the string representation
  48235. func (s ModifyVpcTenancyOutput) GoString() string {
  48236. return s.String()
  48237. }
  48238. // SetReturnValue sets the ReturnValue field's value.
  48239. func (s *ModifyVpcTenancyOutput) SetReturnValue(v bool) *ModifyVpcTenancyOutput {
  48240. s.ReturnValue = &v
  48241. return s
  48242. }
  48243. // Contains the parameters for MonitorInstances.
  48244. type MonitorInstancesInput struct {
  48245. _ struct{} `type:"structure"`
  48246. // Checks whether you have the required permissions for the action, without
  48247. // actually making the request, and provides an error response. If you have
  48248. // the required permissions, the error response is DryRunOperation. Otherwise,
  48249. // it is UnauthorizedOperation.
  48250. DryRun *bool `locationName:"dryRun" type:"boolean"`
  48251. // One or more instance IDs.
  48252. //
  48253. // InstanceIds is a required field
  48254. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  48255. }
  48256. // String returns the string representation
  48257. func (s MonitorInstancesInput) String() string {
  48258. return awsutil.Prettify(s)
  48259. }
  48260. // GoString returns the string representation
  48261. func (s MonitorInstancesInput) GoString() string {
  48262. return s.String()
  48263. }
  48264. // Validate inspects the fields of the type to determine if they are valid.
  48265. func (s *MonitorInstancesInput) Validate() error {
  48266. invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
  48267. if s.InstanceIds == nil {
  48268. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  48269. }
  48270. if invalidParams.Len() > 0 {
  48271. return invalidParams
  48272. }
  48273. return nil
  48274. }
  48275. // SetDryRun sets the DryRun field's value.
  48276. func (s *MonitorInstancesInput) SetDryRun(v bool) *MonitorInstancesInput {
  48277. s.DryRun = &v
  48278. return s
  48279. }
  48280. // SetInstanceIds sets the InstanceIds field's value.
  48281. func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInput {
  48282. s.InstanceIds = v
  48283. return s
  48284. }
  48285. // Contains the output of MonitorInstances.
  48286. type MonitorInstancesOutput struct {
  48287. _ struct{} `type:"structure"`
  48288. // The monitoring information.
  48289. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  48290. }
  48291. // String returns the string representation
  48292. func (s MonitorInstancesOutput) String() string {
  48293. return awsutil.Prettify(s)
  48294. }
  48295. // GoString returns the string representation
  48296. func (s MonitorInstancesOutput) GoString() string {
  48297. return s.String()
  48298. }
  48299. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  48300. func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *MonitorInstancesOutput {
  48301. s.InstanceMonitorings = v
  48302. return s
  48303. }
  48304. // Describes the monitoring of an instance.
  48305. type Monitoring struct {
  48306. _ struct{} `type:"structure"`
  48307. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  48308. // is enabled.
  48309. State *string `locationName:"state" type:"string" enum:"MonitoringState"`
  48310. }
  48311. // String returns the string representation
  48312. func (s Monitoring) String() string {
  48313. return awsutil.Prettify(s)
  48314. }
  48315. // GoString returns the string representation
  48316. func (s Monitoring) GoString() string {
  48317. return s.String()
  48318. }
  48319. // SetState sets the State field's value.
  48320. func (s *Monitoring) SetState(v string) *Monitoring {
  48321. s.State = &v
  48322. return s
  48323. }
  48324. // Contains the parameters for MoveAddressToVpc.
  48325. type MoveAddressToVpcInput struct {
  48326. _ struct{} `type:"structure"`
  48327. // Checks whether you have the required permissions for the action, without
  48328. // actually making the request, and provides an error response. If you have
  48329. // the required permissions, the error response is DryRunOperation. Otherwise,
  48330. // it is UnauthorizedOperation.
  48331. DryRun *bool `locationName:"dryRun" type:"boolean"`
  48332. // The Elastic IP address.
  48333. //
  48334. // PublicIp is a required field
  48335. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  48336. }
  48337. // String returns the string representation
  48338. func (s MoveAddressToVpcInput) String() string {
  48339. return awsutil.Prettify(s)
  48340. }
  48341. // GoString returns the string representation
  48342. func (s MoveAddressToVpcInput) GoString() string {
  48343. return s.String()
  48344. }
  48345. // Validate inspects the fields of the type to determine if they are valid.
  48346. func (s *MoveAddressToVpcInput) Validate() error {
  48347. invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
  48348. if s.PublicIp == nil {
  48349. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  48350. }
  48351. if invalidParams.Len() > 0 {
  48352. return invalidParams
  48353. }
  48354. return nil
  48355. }
  48356. // SetDryRun sets the DryRun field's value.
  48357. func (s *MoveAddressToVpcInput) SetDryRun(v bool) *MoveAddressToVpcInput {
  48358. s.DryRun = &v
  48359. return s
  48360. }
  48361. // SetPublicIp sets the PublicIp field's value.
  48362. func (s *MoveAddressToVpcInput) SetPublicIp(v string) *MoveAddressToVpcInput {
  48363. s.PublicIp = &v
  48364. return s
  48365. }
  48366. // Contains the output of MoveAddressToVpc.
  48367. type MoveAddressToVpcOutput struct {
  48368. _ struct{} `type:"structure"`
  48369. // The allocation ID for the Elastic IP address.
  48370. AllocationId *string `locationName:"allocationId" type:"string"`
  48371. // The status of the move of the IP address.
  48372. Status *string `locationName:"status" type:"string" enum:"Status"`
  48373. }
  48374. // String returns the string representation
  48375. func (s MoveAddressToVpcOutput) String() string {
  48376. return awsutil.Prettify(s)
  48377. }
  48378. // GoString returns the string representation
  48379. func (s MoveAddressToVpcOutput) GoString() string {
  48380. return s.String()
  48381. }
  48382. // SetAllocationId sets the AllocationId field's value.
  48383. func (s *MoveAddressToVpcOutput) SetAllocationId(v string) *MoveAddressToVpcOutput {
  48384. s.AllocationId = &v
  48385. return s
  48386. }
  48387. // SetStatus sets the Status field's value.
  48388. func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput {
  48389. s.Status = &v
  48390. return s
  48391. }
  48392. // Describes the status of a moving Elastic IP address.
  48393. type MovingAddressStatus struct {
  48394. _ struct{} `type:"structure"`
  48395. // The status of the Elastic IP address that's being moved to the EC2-VPC platform,
  48396. // or restored to the EC2-Classic platform.
  48397. MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
  48398. // The Elastic IP address.
  48399. PublicIp *string `locationName:"publicIp" type:"string"`
  48400. }
  48401. // String returns the string representation
  48402. func (s MovingAddressStatus) String() string {
  48403. return awsutil.Prettify(s)
  48404. }
  48405. // GoString returns the string representation
  48406. func (s MovingAddressStatus) GoString() string {
  48407. return s.String()
  48408. }
  48409. // SetMoveStatus sets the MoveStatus field's value.
  48410. func (s *MovingAddressStatus) SetMoveStatus(v string) *MovingAddressStatus {
  48411. s.MoveStatus = &v
  48412. return s
  48413. }
  48414. // SetPublicIp sets the PublicIp field's value.
  48415. func (s *MovingAddressStatus) SetPublicIp(v string) *MovingAddressStatus {
  48416. s.PublicIp = &v
  48417. return s
  48418. }
  48419. // Describes a NAT gateway.
  48420. type NatGateway struct {
  48421. _ struct{} `type:"structure"`
  48422. // The date and time the NAT gateway was created.
  48423. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  48424. // The date and time the NAT gateway was deleted, if applicable.
  48425. DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp" timestampFormat:"iso8601"`
  48426. // If the NAT gateway could not be created, specifies the error code for the
  48427. // failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
  48428. // | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
  48429. FailureCode *string `locationName:"failureCode" type:"string"`
  48430. // If the NAT gateway could not be created, specifies the error message for
  48431. // the failure, that corresponds to the error code.
  48432. //
  48433. // * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
  48434. // addresses to create this NAT gateway"
  48435. //
  48436. // * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
  48437. // attached"
  48438. //
  48439. // * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
  48440. // could not be associated with this NAT gateway"
  48441. //
  48442. // * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
  48443. // is already associated"
  48444. //
  48445. // * For InternalError: "Network interface eni-xxxxxxxx, created and used
  48446. // internally by this NAT gateway is in an invalid state. Please try again."
  48447. //
  48448. // * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
  48449. // does not exist or could not be found."
  48450. FailureMessage *string `locationName:"failureMessage" type:"string"`
  48451. // Information about the IP addresses and network interface associated with
  48452. // the NAT gateway.
  48453. NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
  48454. // The ID of the NAT gateway.
  48455. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  48456. // Reserved. If you need to sustain traffic greater than the documented limits
  48457. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  48458. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  48459. ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
  48460. // The state of the NAT gateway.
  48461. //
  48462. // * pending: The NAT gateway is being created and is not ready to process
  48463. // traffic.
  48464. //
  48465. // * failed: The NAT gateway could not be created. Check the failureCode
  48466. // and failureMessage fields for the reason.
  48467. //
  48468. // * available: The NAT gateway is able to process traffic. This status remains
  48469. // until you delete the NAT gateway, and does not indicate the health of
  48470. // the NAT gateway.
  48471. //
  48472. // * deleting: The NAT gateway is in the process of being terminated and
  48473. // may still be processing traffic.
  48474. //
  48475. // * deleted: The NAT gateway has been terminated and is no longer processing
  48476. // traffic.
  48477. State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
  48478. // The ID of the subnet in which the NAT gateway is located.
  48479. SubnetId *string `locationName:"subnetId" type:"string"`
  48480. // The tags for the NAT gateway.
  48481. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  48482. // The ID of the VPC in which the NAT gateway is located.
  48483. VpcId *string `locationName:"vpcId" type:"string"`
  48484. }
  48485. // String returns the string representation
  48486. func (s NatGateway) String() string {
  48487. return awsutil.Prettify(s)
  48488. }
  48489. // GoString returns the string representation
  48490. func (s NatGateway) GoString() string {
  48491. return s.String()
  48492. }
  48493. // SetCreateTime sets the CreateTime field's value.
  48494. func (s *NatGateway) SetCreateTime(v time.Time) *NatGateway {
  48495. s.CreateTime = &v
  48496. return s
  48497. }
  48498. // SetDeleteTime sets the DeleteTime field's value.
  48499. func (s *NatGateway) SetDeleteTime(v time.Time) *NatGateway {
  48500. s.DeleteTime = &v
  48501. return s
  48502. }
  48503. // SetFailureCode sets the FailureCode field's value.
  48504. func (s *NatGateway) SetFailureCode(v string) *NatGateway {
  48505. s.FailureCode = &v
  48506. return s
  48507. }
  48508. // SetFailureMessage sets the FailureMessage field's value.
  48509. func (s *NatGateway) SetFailureMessage(v string) *NatGateway {
  48510. s.FailureMessage = &v
  48511. return s
  48512. }
  48513. // SetNatGatewayAddresses sets the NatGatewayAddresses field's value.
  48514. func (s *NatGateway) SetNatGatewayAddresses(v []*NatGatewayAddress) *NatGateway {
  48515. s.NatGatewayAddresses = v
  48516. return s
  48517. }
  48518. // SetNatGatewayId sets the NatGatewayId field's value.
  48519. func (s *NatGateway) SetNatGatewayId(v string) *NatGateway {
  48520. s.NatGatewayId = &v
  48521. return s
  48522. }
  48523. // SetProvisionedBandwidth sets the ProvisionedBandwidth field's value.
  48524. func (s *NatGateway) SetProvisionedBandwidth(v *ProvisionedBandwidth) *NatGateway {
  48525. s.ProvisionedBandwidth = v
  48526. return s
  48527. }
  48528. // SetState sets the State field's value.
  48529. func (s *NatGateway) SetState(v string) *NatGateway {
  48530. s.State = &v
  48531. return s
  48532. }
  48533. // SetSubnetId sets the SubnetId field's value.
  48534. func (s *NatGateway) SetSubnetId(v string) *NatGateway {
  48535. s.SubnetId = &v
  48536. return s
  48537. }
  48538. // SetTags sets the Tags field's value.
  48539. func (s *NatGateway) SetTags(v []*Tag) *NatGateway {
  48540. s.Tags = v
  48541. return s
  48542. }
  48543. // SetVpcId sets the VpcId field's value.
  48544. func (s *NatGateway) SetVpcId(v string) *NatGateway {
  48545. s.VpcId = &v
  48546. return s
  48547. }
  48548. // Describes the IP addresses and network interface associated with a NAT gateway.
  48549. type NatGatewayAddress struct {
  48550. _ struct{} `type:"structure"`
  48551. // The allocation ID of the Elastic IP address that's associated with the NAT
  48552. // gateway.
  48553. AllocationId *string `locationName:"allocationId" type:"string"`
  48554. // The ID of the network interface associated with the NAT gateway.
  48555. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  48556. // The private IP address associated with the Elastic IP address.
  48557. PrivateIp *string `locationName:"privateIp" type:"string"`
  48558. // The Elastic IP address associated with the NAT gateway.
  48559. PublicIp *string `locationName:"publicIp" type:"string"`
  48560. }
  48561. // String returns the string representation
  48562. func (s NatGatewayAddress) String() string {
  48563. return awsutil.Prettify(s)
  48564. }
  48565. // GoString returns the string representation
  48566. func (s NatGatewayAddress) GoString() string {
  48567. return s.String()
  48568. }
  48569. // SetAllocationId sets the AllocationId field's value.
  48570. func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress {
  48571. s.AllocationId = &v
  48572. return s
  48573. }
  48574. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  48575. func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress {
  48576. s.NetworkInterfaceId = &v
  48577. return s
  48578. }
  48579. // SetPrivateIp sets the PrivateIp field's value.
  48580. func (s *NatGatewayAddress) SetPrivateIp(v string) *NatGatewayAddress {
  48581. s.PrivateIp = &v
  48582. return s
  48583. }
  48584. // SetPublicIp sets the PublicIp field's value.
  48585. func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress {
  48586. s.PublicIp = &v
  48587. return s
  48588. }
  48589. // Describes a network ACL.
  48590. type NetworkAcl struct {
  48591. _ struct{} `type:"structure"`
  48592. // Any associations between the network ACL and one or more subnets
  48593. Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  48594. // One or more entries (rules) in the network ACL.
  48595. Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
  48596. // Indicates whether this is the default network ACL for the VPC.
  48597. IsDefault *bool `locationName:"default" type:"boolean"`
  48598. // The ID of the network ACL.
  48599. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  48600. // Any tags assigned to the network ACL.
  48601. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  48602. // The ID of the VPC for the network ACL.
  48603. VpcId *string `locationName:"vpcId" type:"string"`
  48604. }
  48605. // String returns the string representation
  48606. func (s NetworkAcl) String() string {
  48607. return awsutil.Prettify(s)
  48608. }
  48609. // GoString returns the string representation
  48610. func (s NetworkAcl) GoString() string {
  48611. return s.String()
  48612. }
  48613. // SetAssociations sets the Associations field's value.
  48614. func (s *NetworkAcl) SetAssociations(v []*NetworkAclAssociation) *NetworkAcl {
  48615. s.Associations = v
  48616. return s
  48617. }
  48618. // SetEntries sets the Entries field's value.
  48619. func (s *NetworkAcl) SetEntries(v []*NetworkAclEntry) *NetworkAcl {
  48620. s.Entries = v
  48621. return s
  48622. }
  48623. // SetIsDefault sets the IsDefault field's value.
  48624. func (s *NetworkAcl) SetIsDefault(v bool) *NetworkAcl {
  48625. s.IsDefault = &v
  48626. return s
  48627. }
  48628. // SetNetworkAclId sets the NetworkAclId field's value.
  48629. func (s *NetworkAcl) SetNetworkAclId(v string) *NetworkAcl {
  48630. s.NetworkAclId = &v
  48631. return s
  48632. }
  48633. // SetTags sets the Tags field's value.
  48634. func (s *NetworkAcl) SetTags(v []*Tag) *NetworkAcl {
  48635. s.Tags = v
  48636. return s
  48637. }
  48638. // SetVpcId sets the VpcId field's value.
  48639. func (s *NetworkAcl) SetVpcId(v string) *NetworkAcl {
  48640. s.VpcId = &v
  48641. return s
  48642. }
  48643. // Describes an association between a network ACL and a subnet.
  48644. type NetworkAclAssociation struct {
  48645. _ struct{} `type:"structure"`
  48646. // The ID of the association between a network ACL and a subnet.
  48647. NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
  48648. // The ID of the network ACL.
  48649. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  48650. // The ID of the subnet.
  48651. SubnetId *string `locationName:"subnetId" type:"string"`
  48652. }
  48653. // String returns the string representation
  48654. func (s NetworkAclAssociation) String() string {
  48655. return awsutil.Prettify(s)
  48656. }
  48657. // GoString returns the string representation
  48658. func (s NetworkAclAssociation) GoString() string {
  48659. return s.String()
  48660. }
  48661. // SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
  48662. func (s *NetworkAclAssociation) SetNetworkAclAssociationId(v string) *NetworkAclAssociation {
  48663. s.NetworkAclAssociationId = &v
  48664. return s
  48665. }
  48666. // SetNetworkAclId sets the NetworkAclId field's value.
  48667. func (s *NetworkAclAssociation) SetNetworkAclId(v string) *NetworkAclAssociation {
  48668. s.NetworkAclId = &v
  48669. return s
  48670. }
  48671. // SetSubnetId sets the SubnetId field's value.
  48672. func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation {
  48673. s.SubnetId = &v
  48674. return s
  48675. }
  48676. // Describes an entry in a network ACL.
  48677. type NetworkAclEntry struct {
  48678. _ struct{} `type:"structure"`
  48679. // The IPv4 network range to allow or deny, in CIDR notation.
  48680. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  48681. // Indicates whether the rule is an egress rule (applied to traffic leaving
  48682. // the subnet).
  48683. Egress *bool `locationName:"egress" type:"boolean"`
  48684. // ICMP protocol: The ICMP type and code.
  48685. IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
  48686. // The IPv6 network range to allow or deny, in CIDR notation.
  48687. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  48688. // TCP or UDP protocols: The range of ports the rule applies to.
  48689. PortRange *PortRange `locationName:"portRange" type:"structure"`
  48690. // The protocol. A value of -1 means all protocols.
  48691. Protocol *string `locationName:"protocol" type:"string"`
  48692. // Indicates whether to allow or deny the traffic that matches the rule.
  48693. RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
  48694. // The rule number for the entry. ACL entries are processed in ascending order
  48695. // by rule number.
  48696. RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
  48697. }
  48698. // String returns the string representation
  48699. func (s NetworkAclEntry) String() string {
  48700. return awsutil.Prettify(s)
  48701. }
  48702. // GoString returns the string representation
  48703. func (s NetworkAclEntry) GoString() string {
  48704. return s.String()
  48705. }
  48706. // SetCidrBlock sets the CidrBlock field's value.
  48707. func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry {
  48708. s.CidrBlock = &v
  48709. return s
  48710. }
  48711. // SetEgress sets the Egress field's value.
  48712. func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry {
  48713. s.Egress = &v
  48714. return s
  48715. }
  48716. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  48717. func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry {
  48718. s.IcmpTypeCode = v
  48719. return s
  48720. }
  48721. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  48722. func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry {
  48723. s.Ipv6CidrBlock = &v
  48724. return s
  48725. }
  48726. // SetPortRange sets the PortRange field's value.
  48727. func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry {
  48728. s.PortRange = v
  48729. return s
  48730. }
  48731. // SetProtocol sets the Protocol field's value.
  48732. func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry {
  48733. s.Protocol = &v
  48734. return s
  48735. }
  48736. // SetRuleAction sets the RuleAction field's value.
  48737. func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry {
  48738. s.RuleAction = &v
  48739. return s
  48740. }
  48741. // SetRuleNumber sets the RuleNumber field's value.
  48742. func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
  48743. s.RuleNumber = &v
  48744. return s
  48745. }
  48746. // Describes a network interface.
  48747. type NetworkInterface struct {
  48748. _ struct{} `type:"structure"`
  48749. // The association information for an Elastic IP address (IPv4) associated with
  48750. // the network interface.
  48751. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  48752. // The network interface attachment.
  48753. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  48754. // The Availability Zone.
  48755. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  48756. // A description.
  48757. Description *string `locationName:"description" type:"string"`
  48758. // Any security groups for the network interface.
  48759. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  48760. // The type of interface.
  48761. InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
  48762. // The IPv6 addresses associated with the network interface.
  48763. Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  48764. // The MAC address.
  48765. MacAddress *string `locationName:"macAddress" type:"string"`
  48766. // The ID of the network interface.
  48767. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  48768. // The AWS account ID of the owner of the network interface.
  48769. OwnerId *string `locationName:"ownerId" type:"string"`
  48770. // The private DNS name.
  48771. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  48772. // The IPv4 address of the network interface within the subnet.
  48773. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  48774. // The private IPv4 addresses associated with the network interface.
  48775. PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  48776. // The ID of the entity that launched the instance on your behalf (for example,
  48777. // AWS Management Console or Auto Scaling).
  48778. RequesterId *string `locationName:"requesterId" type:"string"`
  48779. // Indicates whether the network interface is being managed by AWS.
  48780. RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
  48781. // Indicates whether traffic to or from the instance is validated.
  48782. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  48783. // The status of the network interface.
  48784. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  48785. // The ID of the subnet.
  48786. SubnetId *string `locationName:"subnetId" type:"string"`
  48787. // Any tags assigned to the network interface.
  48788. TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  48789. // The ID of the VPC.
  48790. VpcId *string `locationName:"vpcId" type:"string"`
  48791. }
  48792. // String returns the string representation
  48793. func (s NetworkInterface) String() string {
  48794. return awsutil.Prettify(s)
  48795. }
  48796. // GoString returns the string representation
  48797. func (s NetworkInterface) GoString() string {
  48798. return s.String()
  48799. }
  48800. // SetAssociation sets the Association field's value.
  48801. func (s *NetworkInterface) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterface {
  48802. s.Association = v
  48803. return s
  48804. }
  48805. // SetAttachment sets the Attachment field's value.
  48806. func (s *NetworkInterface) SetAttachment(v *NetworkInterfaceAttachment) *NetworkInterface {
  48807. s.Attachment = v
  48808. return s
  48809. }
  48810. // SetAvailabilityZone sets the AvailabilityZone field's value.
  48811. func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface {
  48812. s.AvailabilityZone = &v
  48813. return s
  48814. }
  48815. // SetDescription sets the Description field's value.
  48816. func (s *NetworkInterface) SetDescription(v string) *NetworkInterface {
  48817. s.Description = &v
  48818. return s
  48819. }
  48820. // SetGroups sets the Groups field's value.
  48821. func (s *NetworkInterface) SetGroups(v []*GroupIdentifier) *NetworkInterface {
  48822. s.Groups = v
  48823. return s
  48824. }
  48825. // SetInterfaceType sets the InterfaceType field's value.
  48826. func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface {
  48827. s.InterfaceType = &v
  48828. return s
  48829. }
  48830. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  48831. func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface {
  48832. s.Ipv6Addresses = v
  48833. return s
  48834. }
  48835. // SetMacAddress sets the MacAddress field's value.
  48836. func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
  48837. s.MacAddress = &v
  48838. return s
  48839. }
  48840. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  48841. func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
  48842. s.NetworkInterfaceId = &v
  48843. return s
  48844. }
  48845. // SetOwnerId sets the OwnerId field's value.
  48846. func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
  48847. s.OwnerId = &v
  48848. return s
  48849. }
  48850. // SetPrivateDnsName sets the PrivateDnsName field's value.
  48851. func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
  48852. s.PrivateDnsName = &v
  48853. return s
  48854. }
  48855. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  48856. func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
  48857. s.PrivateIpAddress = &v
  48858. return s
  48859. }
  48860. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  48861. func (s *NetworkInterface) SetPrivateIpAddresses(v []*NetworkInterfacePrivateIpAddress) *NetworkInterface {
  48862. s.PrivateIpAddresses = v
  48863. return s
  48864. }
  48865. // SetRequesterId sets the RequesterId field's value.
  48866. func (s *NetworkInterface) SetRequesterId(v string) *NetworkInterface {
  48867. s.RequesterId = &v
  48868. return s
  48869. }
  48870. // SetRequesterManaged sets the RequesterManaged field's value.
  48871. func (s *NetworkInterface) SetRequesterManaged(v bool) *NetworkInterface {
  48872. s.RequesterManaged = &v
  48873. return s
  48874. }
  48875. // SetSourceDestCheck sets the SourceDestCheck field's value.
  48876. func (s *NetworkInterface) SetSourceDestCheck(v bool) *NetworkInterface {
  48877. s.SourceDestCheck = &v
  48878. return s
  48879. }
  48880. // SetStatus sets the Status field's value.
  48881. func (s *NetworkInterface) SetStatus(v string) *NetworkInterface {
  48882. s.Status = &v
  48883. return s
  48884. }
  48885. // SetSubnetId sets the SubnetId field's value.
  48886. func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
  48887. s.SubnetId = &v
  48888. return s
  48889. }
  48890. // SetTagSet sets the TagSet field's value.
  48891. func (s *NetworkInterface) SetTagSet(v []*Tag) *NetworkInterface {
  48892. s.TagSet = v
  48893. return s
  48894. }
  48895. // SetVpcId sets the VpcId field's value.
  48896. func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
  48897. s.VpcId = &v
  48898. return s
  48899. }
  48900. // Describes association information for an Elastic IP address (IPv4 only).
  48901. type NetworkInterfaceAssociation struct {
  48902. _ struct{} `type:"structure"`
  48903. // The allocation ID.
  48904. AllocationId *string `locationName:"allocationId" type:"string"`
  48905. // The association ID.
  48906. AssociationId *string `locationName:"associationId" type:"string"`
  48907. // The ID of the Elastic IP address owner.
  48908. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  48909. // The public DNS name.
  48910. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  48911. // The address of the Elastic IP address bound to the network interface.
  48912. PublicIp *string `locationName:"publicIp" type:"string"`
  48913. }
  48914. // String returns the string representation
  48915. func (s NetworkInterfaceAssociation) String() string {
  48916. return awsutil.Prettify(s)
  48917. }
  48918. // GoString returns the string representation
  48919. func (s NetworkInterfaceAssociation) GoString() string {
  48920. return s.String()
  48921. }
  48922. // SetAllocationId sets the AllocationId field's value.
  48923. func (s *NetworkInterfaceAssociation) SetAllocationId(v string) *NetworkInterfaceAssociation {
  48924. s.AllocationId = &v
  48925. return s
  48926. }
  48927. // SetAssociationId sets the AssociationId field's value.
  48928. func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfaceAssociation {
  48929. s.AssociationId = &v
  48930. return s
  48931. }
  48932. // SetIpOwnerId sets the IpOwnerId field's value.
  48933. func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation {
  48934. s.IpOwnerId = &v
  48935. return s
  48936. }
  48937. // SetPublicDnsName sets the PublicDnsName field's value.
  48938. func (s *NetworkInterfaceAssociation) SetPublicDnsName(v string) *NetworkInterfaceAssociation {
  48939. s.PublicDnsName = &v
  48940. return s
  48941. }
  48942. // SetPublicIp sets the PublicIp field's value.
  48943. func (s *NetworkInterfaceAssociation) SetPublicIp(v string) *NetworkInterfaceAssociation {
  48944. s.PublicIp = &v
  48945. return s
  48946. }
  48947. // Describes a network interface attachment.
  48948. type NetworkInterfaceAttachment struct {
  48949. _ struct{} `type:"structure"`
  48950. // The timestamp indicating when the attachment initiated.
  48951. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  48952. // The ID of the network interface attachment.
  48953. AttachmentId *string `locationName:"attachmentId" type:"string"`
  48954. // Indicates whether the network interface is deleted when the instance is terminated.
  48955. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  48956. // The device index of the network interface attachment on the instance.
  48957. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  48958. // The ID of the instance.
  48959. InstanceId *string `locationName:"instanceId" type:"string"`
  48960. // The AWS account ID of the owner of the instance.
  48961. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  48962. // The attachment state.
  48963. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  48964. }
  48965. // String returns the string representation
  48966. func (s NetworkInterfaceAttachment) String() string {
  48967. return awsutil.Prettify(s)
  48968. }
  48969. // GoString returns the string representation
  48970. func (s NetworkInterfaceAttachment) GoString() string {
  48971. return s.String()
  48972. }
  48973. // SetAttachTime sets the AttachTime field's value.
  48974. func (s *NetworkInterfaceAttachment) SetAttachTime(v time.Time) *NetworkInterfaceAttachment {
  48975. s.AttachTime = &v
  48976. return s
  48977. }
  48978. // SetAttachmentId sets the AttachmentId field's value.
  48979. func (s *NetworkInterfaceAttachment) SetAttachmentId(v string) *NetworkInterfaceAttachment {
  48980. s.AttachmentId = &v
  48981. return s
  48982. }
  48983. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  48984. func (s *NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachment {
  48985. s.DeleteOnTermination = &v
  48986. return s
  48987. }
  48988. // SetDeviceIndex sets the DeviceIndex field's value.
  48989. func (s *NetworkInterfaceAttachment) SetDeviceIndex(v int64) *NetworkInterfaceAttachment {
  48990. s.DeviceIndex = &v
  48991. return s
  48992. }
  48993. // SetInstanceId sets the InstanceId field's value.
  48994. func (s *NetworkInterfaceAttachment) SetInstanceId(v string) *NetworkInterfaceAttachment {
  48995. s.InstanceId = &v
  48996. return s
  48997. }
  48998. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  48999. func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterfaceAttachment {
  49000. s.InstanceOwnerId = &v
  49001. return s
  49002. }
  49003. // SetStatus sets the Status field's value.
  49004. func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
  49005. s.Status = &v
  49006. return s
  49007. }
  49008. // Describes an attachment change.
  49009. type NetworkInterfaceAttachmentChanges struct {
  49010. _ struct{} `type:"structure"`
  49011. // The ID of the network interface attachment.
  49012. AttachmentId *string `locationName:"attachmentId" type:"string"`
  49013. // Indicates whether the network interface is deleted when the instance is terminated.
  49014. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  49015. }
  49016. // String returns the string representation
  49017. func (s NetworkInterfaceAttachmentChanges) String() string {
  49018. return awsutil.Prettify(s)
  49019. }
  49020. // GoString returns the string representation
  49021. func (s NetworkInterfaceAttachmentChanges) GoString() string {
  49022. return s.String()
  49023. }
  49024. // SetAttachmentId sets the AttachmentId field's value.
  49025. func (s *NetworkInterfaceAttachmentChanges) SetAttachmentId(v string) *NetworkInterfaceAttachmentChanges {
  49026. s.AttachmentId = &v
  49027. return s
  49028. }
  49029. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  49030. func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachmentChanges {
  49031. s.DeleteOnTermination = &v
  49032. return s
  49033. }
  49034. // Describes an IPv6 address associated with a network interface.
  49035. type NetworkInterfaceIpv6Address struct {
  49036. _ struct{} `type:"structure"`
  49037. // The IPv6 address.
  49038. Ipv6Address *string `locationName:"ipv6Address" type:"string"`
  49039. }
  49040. // String returns the string representation
  49041. func (s NetworkInterfaceIpv6Address) String() string {
  49042. return awsutil.Prettify(s)
  49043. }
  49044. // GoString returns the string representation
  49045. func (s NetworkInterfaceIpv6Address) GoString() string {
  49046. return s.String()
  49047. }
  49048. // SetIpv6Address sets the Ipv6Address field's value.
  49049. func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterfaceIpv6Address {
  49050. s.Ipv6Address = &v
  49051. return s
  49052. }
  49053. // Describes a permission for a network interface.
  49054. type NetworkInterfacePermission struct {
  49055. _ struct{} `type:"structure"`
  49056. // The AWS account ID.
  49057. AwsAccountId *string `locationName:"awsAccountId" type:"string"`
  49058. // The AWS service.
  49059. AwsService *string `locationName:"awsService" type:"string"`
  49060. // The ID of the network interface.
  49061. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  49062. // The ID of the network interface permission.
  49063. NetworkInterfacePermissionId *string `locationName:"networkInterfacePermissionId" type:"string"`
  49064. // The type of permission.
  49065. Permission *string `locationName:"permission" type:"string" enum:"InterfacePermissionType"`
  49066. // Information about the state of the permission.
  49067. PermissionState *NetworkInterfacePermissionState `locationName:"permissionState" type:"structure"`
  49068. }
  49069. // String returns the string representation
  49070. func (s NetworkInterfacePermission) String() string {
  49071. return awsutil.Prettify(s)
  49072. }
  49073. // GoString returns the string representation
  49074. func (s NetworkInterfacePermission) GoString() string {
  49075. return s.String()
  49076. }
  49077. // SetAwsAccountId sets the AwsAccountId field's value.
  49078. func (s *NetworkInterfacePermission) SetAwsAccountId(v string) *NetworkInterfacePermission {
  49079. s.AwsAccountId = &v
  49080. return s
  49081. }
  49082. // SetAwsService sets the AwsService field's value.
  49083. func (s *NetworkInterfacePermission) SetAwsService(v string) *NetworkInterfacePermission {
  49084. s.AwsService = &v
  49085. return s
  49086. }
  49087. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  49088. func (s *NetworkInterfacePermission) SetNetworkInterfaceId(v string) *NetworkInterfacePermission {
  49089. s.NetworkInterfaceId = &v
  49090. return s
  49091. }
  49092. // SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
  49093. func (s *NetworkInterfacePermission) SetNetworkInterfacePermissionId(v string) *NetworkInterfacePermission {
  49094. s.NetworkInterfacePermissionId = &v
  49095. return s
  49096. }
  49097. // SetPermission sets the Permission field's value.
  49098. func (s *NetworkInterfacePermission) SetPermission(v string) *NetworkInterfacePermission {
  49099. s.Permission = &v
  49100. return s
  49101. }
  49102. // SetPermissionState sets the PermissionState field's value.
  49103. func (s *NetworkInterfacePermission) SetPermissionState(v *NetworkInterfacePermissionState) *NetworkInterfacePermission {
  49104. s.PermissionState = v
  49105. return s
  49106. }
  49107. // Describes the state of a network interface permission.
  49108. type NetworkInterfacePermissionState struct {
  49109. _ struct{} `type:"structure"`
  49110. // The state of the permission.
  49111. State *string `locationName:"state" type:"string" enum:"NetworkInterfacePermissionStateCode"`
  49112. // A status message, if applicable.
  49113. StatusMessage *string `locationName:"statusMessage" type:"string"`
  49114. }
  49115. // String returns the string representation
  49116. func (s NetworkInterfacePermissionState) String() string {
  49117. return awsutil.Prettify(s)
  49118. }
  49119. // GoString returns the string representation
  49120. func (s NetworkInterfacePermissionState) GoString() string {
  49121. return s.String()
  49122. }
  49123. // SetState sets the State field's value.
  49124. func (s *NetworkInterfacePermissionState) SetState(v string) *NetworkInterfacePermissionState {
  49125. s.State = &v
  49126. return s
  49127. }
  49128. // SetStatusMessage sets the StatusMessage field's value.
  49129. func (s *NetworkInterfacePermissionState) SetStatusMessage(v string) *NetworkInterfacePermissionState {
  49130. s.StatusMessage = &v
  49131. return s
  49132. }
  49133. // Describes the private IPv4 address of a network interface.
  49134. type NetworkInterfacePrivateIpAddress struct {
  49135. _ struct{} `type:"structure"`
  49136. // The association information for an Elastic IP address (IPv4) associated with
  49137. // the network interface.
  49138. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  49139. // Indicates whether this IPv4 address is the primary private IPv4 address of
  49140. // the network interface.
  49141. Primary *bool `locationName:"primary" type:"boolean"`
  49142. // The private DNS name.
  49143. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  49144. // The private IPv4 address.
  49145. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  49146. }
  49147. // String returns the string representation
  49148. func (s NetworkInterfacePrivateIpAddress) String() string {
  49149. return awsutil.Prettify(s)
  49150. }
  49151. // GoString returns the string representation
  49152. func (s NetworkInterfacePrivateIpAddress) GoString() string {
  49153. return s.String()
  49154. }
  49155. // SetAssociation sets the Association field's value.
  49156. func (s *NetworkInterfacePrivateIpAddress) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterfacePrivateIpAddress {
  49157. s.Association = v
  49158. return s
  49159. }
  49160. // SetPrimary sets the Primary field's value.
  49161. func (s *NetworkInterfacePrivateIpAddress) SetPrimary(v bool) *NetworkInterfacePrivateIpAddress {
  49162. s.Primary = &v
  49163. return s
  49164. }
  49165. // SetPrivateDnsName sets the PrivateDnsName field's value.
  49166. func (s *NetworkInterfacePrivateIpAddress) SetPrivateDnsName(v string) *NetworkInterfacePrivateIpAddress {
  49167. s.PrivateDnsName = &v
  49168. return s
  49169. }
  49170. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  49171. func (s *NetworkInterfacePrivateIpAddress) SetPrivateIpAddress(v string) *NetworkInterfacePrivateIpAddress {
  49172. s.PrivateIpAddress = &v
  49173. return s
  49174. }
  49175. type NewDhcpConfiguration struct {
  49176. _ struct{} `type:"structure"`
  49177. Key *string `locationName:"key" type:"string"`
  49178. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  49179. }
  49180. // String returns the string representation
  49181. func (s NewDhcpConfiguration) String() string {
  49182. return awsutil.Prettify(s)
  49183. }
  49184. // GoString returns the string representation
  49185. func (s NewDhcpConfiguration) GoString() string {
  49186. return s.String()
  49187. }
  49188. // SetKey sets the Key field's value.
  49189. func (s *NewDhcpConfiguration) SetKey(v string) *NewDhcpConfiguration {
  49190. s.Key = &v
  49191. return s
  49192. }
  49193. // SetValues sets the Values field's value.
  49194. func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
  49195. s.Values = v
  49196. return s
  49197. }
  49198. // Describes the data that identifies an Amazon FPGA image (AFI) on the PCI
  49199. // bus.
  49200. type PciId struct {
  49201. _ struct{} `type:"structure"`
  49202. // The ID of the device.
  49203. DeviceId *string `type:"string"`
  49204. // The ID of the subsystem.
  49205. SubsystemId *string `type:"string"`
  49206. // The ID of the vendor for the subsystem.
  49207. SubsystemVendorId *string `type:"string"`
  49208. // The ID of the vendor.
  49209. VendorId *string `type:"string"`
  49210. }
  49211. // String returns the string representation
  49212. func (s PciId) String() string {
  49213. return awsutil.Prettify(s)
  49214. }
  49215. // GoString returns the string representation
  49216. func (s PciId) GoString() string {
  49217. return s.String()
  49218. }
  49219. // SetDeviceId sets the DeviceId field's value.
  49220. func (s *PciId) SetDeviceId(v string) *PciId {
  49221. s.DeviceId = &v
  49222. return s
  49223. }
  49224. // SetSubsystemId sets the SubsystemId field's value.
  49225. func (s *PciId) SetSubsystemId(v string) *PciId {
  49226. s.SubsystemId = &v
  49227. return s
  49228. }
  49229. // SetSubsystemVendorId sets the SubsystemVendorId field's value.
  49230. func (s *PciId) SetSubsystemVendorId(v string) *PciId {
  49231. s.SubsystemVendorId = &v
  49232. return s
  49233. }
  49234. // SetVendorId sets the VendorId field's value.
  49235. func (s *PciId) SetVendorId(v string) *PciId {
  49236. s.VendorId = &v
  49237. return s
  49238. }
  49239. // Describes the VPC peering connection options.
  49240. type PeeringConnectionOptions struct {
  49241. _ struct{} `type:"structure"`
  49242. // If true, the public DNS hostnames of instances in the specified VPC resolve
  49243. // to private IP addresses when queried from instances in the peer VPC.
  49244. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  49245. // If true, enables outbound communication from an EC2-Classic instance that's
  49246. // linked to a local VPC via ClassicLink to instances in a peer VPC.
  49247. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  49248. // If true, enables outbound communication from instances in a local VPC to
  49249. // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
  49250. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  49251. }
  49252. // String returns the string representation
  49253. func (s PeeringConnectionOptions) String() string {
  49254. return awsutil.Prettify(s)
  49255. }
  49256. // GoString returns the string representation
  49257. func (s PeeringConnectionOptions) GoString() string {
  49258. return s.String()
  49259. }
  49260. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  49261. func (s *PeeringConnectionOptions) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptions {
  49262. s.AllowDnsResolutionFromRemoteVpc = &v
  49263. return s
  49264. }
  49265. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  49266. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptions {
  49267. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  49268. return s
  49269. }
  49270. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  49271. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptions {
  49272. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  49273. return s
  49274. }
  49275. // The VPC peering connection options.
  49276. type PeeringConnectionOptionsRequest struct {
  49277. _ struct{} `type:"structure"`
  49278. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  49279. // addresses when queried from instances in the peer VPC.
  49280. AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
  49281. // If true, enables outbound communication from an EC2-Classic instance that's
  49282. // linked to a local VPC via ClassicLink to instances in a peer VPC.
  49283. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
  49284. // If true, enables outbound communication from instances in a local VPC to
  49285. // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
  49286. AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
  49287. }
  49288. // String returns the string representation
  49289. func (s PeeringConnectionOptionsRequest) String() string {
  49290. return awsutil.Prettify(s)
  49291. }
  49292. // GoString returns the string representation
  49293. func (s PeeringConnectionOptionsRequest) GoString() string {
  49294. return s.String()
  49295. }
  49296. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  49297. func (s *PeeringConnectionOptionsRequest) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  49298. s.AllowDnsResolutionFromRemoteVpc = &v
  49299. return s
  49300. }
  49301. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  49302. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  49303. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  49304. return s
  49305. }
  49306. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  49307. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptionsRequest {
  49308. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  49309. return s
  49310. }
  49311. // Describes the placement of an instance.
  49312. type Placement struct {
  49313. _ struct{} `type:"structure"`
  49314. // The affinity setting for the instance on the Dedicated Host. This parameter
  49315. // is not supported for the ImportInstance command.
  49316. Affinity *string `locationName:"affinity" type:"string"`
  49317. // The Availability Zone of the instance.
  49318. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  49319. // The name of the placement group the instance is in (for cluster compute instances).
  49320. GroupName *string `locationName:"groupName" type:"string"`
  49321. // The ID of the Dedicated Host on which the instance resides. This parameter
  49322. // is not supported for the ImportInstance command.
  49323. HostId *string `locationName:"hostId" type:"string"`
  49324. // Reserved for future use.
  49325. SpreadDomain *string `locationName:"spreadDomain" type:"string"`
  49326. // The tenancy of the instance (if the instance is running in a VPC). An instance
  49327. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  49328. // is not supported for the ImportInstance command.
  49329. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  49330. }
  49331. // String returns the string representation
  49332. func (s Placement) String() string {
  49333. return awsutil.Prettify(s)
  49334. }
  49335. // GoString returns the string representation
  49336. func (s Placement) GoString() string {
  49337. return s.String()
  49338. }
  49339. // SetAffinity sets the Affinity field's value.
  49340. func (s *Placement) SetAffinity(v string) *Placement {
  49341. s.Affinity = &v
  49342. return s
  49343. }
  49344. // SetAvailabilityZone sets the AvailabilityZone field's value.
  49345. func (s *Placement) SetAvailabilityZone(v string) *Placement {
  49346. s.AvailabilityZone = &v
  49347. return s
  49348. }
  49349. // SetGroupName sets the GroupName field's value.
  49350. func (s *Placement) SetGroupName(v string) *Placement {
  49351. s.GroupName = &v
  49352. return s
  49353. }
  49354. // SetHostId sets the HostId field's value.
  49355. func (s *Placement) SetHostId(v string) *Placement {
  49356. s.HostId = &v
  49357. return s
  49358. }
  49359. // SetSpreadDomain sets the SpreadDomain field's value.
  49360. func (s *Placement) SetSpreadDomain(v string) *Placement {
  49361. s.SpreadDomain = &v
  49362. return s
  49363. }
  49364. // SetTenancy sets the Tenancy field's value.
  49365. func (s *Placement) SetTenancy(v string) *Placement {
  49366. s.Tenancy = &v
  49367. return s
  49368. }
  49369. // Describes a placement group.
  49370. type PlacementGroup struct {
  49371. _ struct{} `type:"structure"`
  49372. // The name of the placement group.
  49373. GroupName *string `locationName:"groupName" type:"string"`
  49374. // The state of the placement group.
  49375. State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
  49376. // The placement strategy.
  49377. Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
  49378. }
  49379. // String returns the string representation
  49380. func (s PlacementGroup) String() string {
  49381. return awsutil.Prettify(s)
  49382. }
  49383. // GoString returns the string representation
  49384. func (s PlacementGroup) GoString() string {
  49385. return s.String()
  49386. }
  49387. // SetGroupName sets the GroupName field's value.
  49388. func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup {
  49389. s.GroupName = &v
  49390. return s
  49391. }
  49392. // SetState sets the State field's value.
  49393. func (s *PlacementGroup) SetState(v string) *PlacementGroup {
  49394. s.State = &v
  49395. return s
  49396. }
  49397. // SetStrategy sets the Strategy field's value.
  49398. func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup {
  49399. s.Strategy = &v
  49400. return s
  49401. }
  49402. // Describes a range of ports.
  49403. type PortRange struct {
  49404. _ struct{} `type:"structure"`
  49405. // The first port in the range.
  49406. From *int64 `locationName:"from" type:"integer"`
  49407. // The last port in the range.
  49408. To *int64 `locationName:"to" type:"integer"`
  49409. }
  49410. // String returns the string representation
  49411. func (s PortRange) String() string {
  49412. return awsutil.Prettify(s)
  49413. }
  49414. // GoString returns the string representation
  49415. func (s PortRange) GoString() string {
  49416. return s.String()
  49417. }
  49418. // SetFrom sets the From field's value.
  49419. func (s *PortRange) SetFrom(v int64) *PortRange {
  49420. s.From = &v
  49421. return s
  49422. }
  49423. // SetTo sets the To field's value.
  49424. func (s *PortRange) SetTo(v int64) *PortRange {
  49425. s.To = &v
  49426. return s
  49427. }
  49428. // Describes prefixes for AWS services.
  49429. type PrefixList struct {
  49430. _ struct{} `type:"structure"`
  49431. // The IP address range of the AWS service.
  49432. Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
  49433. // The ID of the prefix.
  49434. PrefixListId *string `locationName:"prefixListId" type:"string"`
  49435. // The name of the prefix.
  49436. PrefixListName *string `locationName:"prefixListName" type:"string"`
  49437. }
  49438. // String returns the string representation
  49439. func (s PrefixList) String() string {
  49440. return awsutil.Prettify(s)
  49441. }
  49442. // GoString returns the string representation
  49443. func (s PrefixList) GoString() string {
  49444. return s.String()
  49445. }
  49446. // SetCidrs sets the Cidrs field's value.
  49447. func (s *PrefixList) SetCidrs(v []*string) *PrefixList {
  49448. s.Cidrs = v
  49449. return s
  49450. }
  49451. // SetPrefixListId sets the PrefixListId field's value.
  49452. func (s *PrefixList) SetPrefixListId(v string) *PrefixList {
  49453. s.PrefixListId = &v
  49454. return s
  49455. }
  49456. // SetPrefixListName sets the PrefixListName field's value.
  49457. func (s *PrefixList) SetPrefixListName(v string) *PrefixList {
  49458. s.PrefixListName = &v
  49459. return s
  49460. }
  49461. // [EC2-VPC only] The ID of the prefix.
  49462. type PrefixListId struct {
  49463. _ struct{} `type:"structure"`
  49464. // A description for the security group rule that references this prefix list
  49465. // ID.
  49466. //
  49467. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  49468. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
  49469. Description *string `locationName:"description" type:"string"`
  49470. // The ID of the prefix.
  49471. PrefixListId *string `locationName:"prefixListId" type:"string"`
  49472. }
  49473. // String returns the string representation
  49474. func (s PrefixListId) String() string {
  49475. return awsutil.Prettify(s)
  49476. }
  49477. // GoString returns the string representation
  49478. func (s PrefixListId) GoString() string {
  49479. return s.String()
  49480. }
  49481. // SetDescription sets the Description field's value.
  49482. func (s *PrefixListId) SetDescription(v string) *PrefixListId {
  49483. s.Description = &v
  49484. return s
  49485. }
  49486. // SetPrefixListId sets the PrefixListId field's value.
  49487. func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId {
  49488. s.PrefixListId = &v
  49489. return s
  49490. }
  49491. // Describes the price for a Reserved Instance.
  49492. type PriceSchedule struct {
  49493. _ struct{} `type:"structure"`
  49494. // The current price schedule, as determined by the term remaining for the Reserved
  49495. // Instance in the listing.
  49496. //
  49497. // A specific price schedule is always in effect, but only one price schedule
  49498. // can be active at any time. Take, for example, a Reserved Instance listing
  49499. // that has five months remaining in its term. When you specify price schedules
  49500. // for five months and two months, this means that schedule 1, covering the
  49501. // first three months of the remaining term, will be active during months 5,
  49502. // 4, and 3. Then schedule 2, covering the last two months of the term, will
  49503. // be active for months 2 and 1.
  49504. Active *bool `locationName:"active" type:"boolean"`
  49505. // The currency for transacting the Reserved Instance resale. At this time,
  49506. // the only supported currency is USD.
  49507. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  49508. // The fixed price for the term.
  49509. Price *float64 `locationName:"price" type:"double"`
  49510. // The number of months remaining in the reservation. For example, 2 is the
  49511. // second to the last month before the capacity reservation expires.
  49512. Term *int64 `locationName:"term" type:"long"`
  49513. }
  49514. // String returns the string representation
  49515. func (s PriceSchedule) String() string {
  49516. return awsutil.Prettify(s)
  49517. }
  49518. // GoString returns the string representation
  49519. func (s PriceSchedule) GoString() string {
  49520. return s.String()
  49521. }
  49522. // SetActive sets the Active field's value.
  49523. func (s *PriceSchedule) SetActive(v bool) *PriceSchedule {
  49524. s.Active = &v
  49525. return s
  49526. }
  49527. // SetCurrencyCode sets the CurrencyCode field's value.
  49528. func (s *PriceSchedule) SetCurrencyCode(v string) *PriceSchedule {
  49529. s.CurrencyCode = &v
  49530. return s
  49531. }
  49532. // SetPrice sets the Price field's value.
  49533. func (s *PriceSchedule) SetPrice(v float64) *PriceSchedule {
  49534. s.Price = &v
  49535. return s
  49536. }
  49537. // SetTerm sets the Term field's value.
  49538. func (s *PriceSchedule) SetTerm(v int64) *PriceSchedule {
  49539. s.Term = &v
  49540. return s
  49541. }
  49542. // Describes the price for a Reserved Instance.
  49543. type PriceScheduleSpecification struct {
  49544. _ struct{} `type:"structure"`
  49545. // The currency for transacting the Reserved Instance resale. At this time,
  49546. // the only supported currency is USD.
  49547. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  49548. // The fixed price for the term.
  49549. Price *float64 `locationName:"price" type:"double"`
  49550. // The number of months remaining in the reservation. For example, 2 is the
  49551. // second to the last month before the capacity reservation expires.
  49552. Term *int64 `locationName:"term" type:"long"`
  49553. }
  49554. // String returns the string representation
  49555. func (s PriceScheduleSpecification) String() string {
  49556. return awsutil.Prettify(s)
  49557. }
  49558. // GoString returns the string representation
  49559. func (s PriceScheduleSpecification) GoString() string {
  49560. return s.String()
  49561. }
  49562. // SetCurrencyCode sets the CurrencyCode field's value.
  49563. func (s *PriceScheduleSpecification) SetCurrencyCode(v string) *PriceScheduleSpecification {
  49564. s.CurrencyCode = &v
  49565. return s
  49566. }
  49567. // SetPrice sets the Price field's value.
  49568. func (s *PriceScheduleSpecification) SetPrice(v float64) *PriceScheduleSpecification {
  49569. s.Price = &v
  49570. return s
  49571. }
  49572. // SetTerm sets the Term field's value.
  49573. func (s *PriceScheduleSpecification) SetTerm(v int64) *PriceScheduleSpecification {
  49574. s.Term = &v
  49575. return s
  49576. }
  49577. // Describes a Reserved Instance offering.
  49578. type PricingDetail struct {
  49579. _ struct{} `type:"structure"`
  49580. // The number of reservations available for the price.
  49581. Count *int64 `locationName:"count" type:"integer"`
  49582. // The price per instance.
  49583. Price *float64 `locationName:"price" type:"double"`
  49584. }
  49585. // String returns the string representation
  49586. func (s PricingDetail) String() string {
  49587. return awsutil.Prettify(s)
  49588. }
  49589. // GoString returns the string representation
  49590. func (s PricingDetail) GoString() string {
  49591. return s.String()
  49592. }
  49593. // SetCount sets the Count field's value.
  49594. func (s *PricingDetail) SetCount(v int64) *PricingDetail {
  49595. s.Count = &v
  49596. return s
  49597. }
  49598. // SetPrice sets the Price field's value.
  49599. func (s *PricingDetail) SetPrice(v float64) *PricingDetail {
  49600. s.Price = &v
  49601. return s
  49602. }
  49603. // PrincipalIdFormat description
  49604. type PrincipalIdFormat struct {
  49605. _ struct{} `type:"structure"`
  49606. // PrincipalIdFormatARN description
  49607. Arn *string `locationName:"arn" type:"string"`
  49608. // PrincipalIdFormatStatuses description
  49609. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  49610. }
  49611. // String returns the string representation
  49612. func (s PrincipalIdFormat) String() string {
  49613. return awsutil.Prettify(s)
  49614. }
  49615. // GoString returns the string representation
  49616. func (s PrincipalIdFormat) GoString() string {
  49617. return s.String()
  49618. }
  49619. // SetArn sets the Arn field's value.
  49620. func (s *PrincipalIdFormat) SetArn(v string) *PrincipalIdFormat {
  49621. s.Arn = &v
  49622. return s
  49623. }
  49624. // SetStatuses sets the Statuses field's value.
  49625. func (s *PrincipalIdFormat) SetStatuses(v []*IdFormat) *PrincipalIdFormat {
  49626. s.Statuses = v
  49627. return s
  49628. }
  49629. // Describes a secondary private IPv4 address for a network interface.
  49630. type PrivateIpAddressSpecification struct {
  49631. _ struct{} `type:"structure"`
  49632. // Indicates whether the private IPv4 address is the primary private IPv4 address.
  49633. // Only one IPv4 address can be designated as primary.
  49634. Primary *bool `locationName:"primary" type:"boolean"`
  49635. // The private IPv4 addresses.
  49636. //
  49637. // PrivateIpAddress is a required field
  49638. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string" required:"true"`
  49639. }
  49640. // String returns the string representation
  49641. func (s PrivateIpAddressSpecification) String() string {
  49642. return awsutil.Prettify(s)
  49643. }
  49644. // GoString returns the string representation
  49645. func (s PrivateIpAddressSpecification) GoString() string {
  49646. return s.String()
  49647. }
  49648. // Validate inspects the fields of the type to determine if they are valid.
  49649. func (s *PrivateIpAddressSpecification) Validate() error {
  49650. invalidParams := request.ErrInvalidParams{Context: "PrivateIpAddressSpecification"}
  49651. if s.PrivateIpAddress == nil {
  49652. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddress"))
  49653. }
  49654. if invalidParams.Len() > 0 {
  49655. return invalidParams
  49656. }
  49657. return nil
  49658. }
  49659. // SetPrimary sets the Primary field's value.
  49660. func (s *PrivateIpAddressSpecification) SetPrimary(v bool) *PrivateIpAddressSpecification {
  49661. s.Primary = &v
  49662. return s
  49663. }
  49664. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  49665. func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIpAddressSpecification {
  49666. s.PrivateIpAddress = &v
  49667. return s
  49668. }
  49669. // Describes a product code.
  49670. type ProductCode struct {
  49671. _ struct{} `type:"structure"`
  49672. // The product code.
  49673. ProductCodeId *string `locationName:"productCode" type:"string"`
  49674. // The type of product code.
  49675. ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
  49676. }
  49677. // String returns the string representation
  49678. func (s ProductCode) String() string {
  49679. return awsutil.Prettify(s)
  49680. }
  49681. // GoString returns the string representation
  49682. func (s ProductCode) GoString() string {
  49683. return s.String()
  49684. }
  49685. // SetProductCodeId sets the ProductCodeId field's value.
  49686. func (s *ProductCode) SetProductCodeId(v string) *ProductCode {
  49687. s.ProductCodeId = &v
  49688. return s
  49689. }
  49690. // SetProductCodeType sets the ProductCodeType field's value.
  49691. func (s *ProductCode) SetProductCodeType(v string) *ProductCode {
  49692. s.ProductCodeType = &v
  49693. return s
  49694. }
  49695. // Describes a virtual private gateway propagating route.
  49696. type PropagatingVgw struct {
  49697. _ struct{} `type:"structure"`
  49698. // The ID of the virtual private gateway (VGW).
  49699. GatewayId *string `locationName:"gatewayId" type:"string"`
  49700. }
  49701. // String returns the string representation
  49702. func (s PropagatingVgw) String() string {
  49703. return awsutil.Prettify(s)
  49704. }
  49705. // GoString returns the string representation
  49706. func (s PropagatingVgw) GoString() string {
  49707. return s.String()
  49708. }
  49709. // SetGatewayId sets the GatewayId field's value.
  49710. func (s *PropagatingVgw) SetGatewayId(v string) *PropagatingVgw {
  49711. s.GatewayId = &v
  49712. return s
  49713. }
  49714. // Reserved. If you need to sustain traffic greater than the documented limits
  49715. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  49716. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  49717. type ProvisionedBandwidth struct {
  49718. _ struct{} `type:"structure"`
  49719. // Reserved. If you need to sustain traffic greater than the documented limits
  49720. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  49721. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  49722. ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp" timestampFormat:"iso8601"`
  49723. // Reserved. If you need to sustain traffic greater than the documented limits
  49724. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  49725. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  49726. Provisioned *string `locationName:"provisioned" type:"string"`
  49727. // Reserved. If you need to sustain traffic greater than the documented limits
  49728. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  49729. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  49730. RequestTime *time.Time `locationName:"requestTime" type:"timestamp" timestampFormat:"iso8601"`
  49731. // Reserved. If you need to sustain traffic greater than the documented limits
  49732. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  49733. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  49734. Requested *string `locationName:"requested" type:"string"`
  49735. // Reserved. If you need to sustain traffic greater than the documented limits
  49736. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  49737. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  49738. Status *string `locationName:"status" type:"string"`
  49739. }
  49740. // String returns the string representation
  49741. func (s ProvisionedBandwidth) String() string {
  49742. return awsutil.Prettify(s)
  49743. }
  49744. // GoString returns the string representation
  49745. func (s ProvisionedBandwidth) GoString() string {
  49746. return s.String()
  49747. }
  49748. // SetProvisionTime sets the ProvisionTime field's value.
  49749. func (s *ProvisionedBandwidth) SetProvisionTime(v time.Time) *ProvisionedBandwidth {
  49750. s.ProvisionTime = &v
  49751. return s
  49752. }
  49753. // SetProvisioned sets the Provisioned field's value.
  49754. func (s *ProvisionedBandwidth) SetProvisioned(v string) *ProvisionedBandwidth {
  49755. s.Provisioned = &v
  49756. return s
  49757. }
  49758. // SetRequestTime sets the RequestTime field's value.
  49759. func (s *ProvisionedBandwidth) SetRequestTime(v time.Time) *ProvisionedBandwidth {
  49760. s.RequestTime = &v
  49761. return s
  49762. }
  49763. // SetRequested sets the Requested field's value.
  49764. func (s *ProvisionedBandwidth) SetRequested(v string) *ProvisionedBandwidth {
  49765. s.Requested = &v
  49766. return s
  49767. }
  49768. // SetStatus sets the Status field's value.
  49769. func (s *ProvisionedBandwidth) SetStatus(v string) *ProvisionedBandwidth {
  49770. s.Status = &v
  49771. return s
  49772. }
  49773. // Describes the result of the purchase.
  49774. type Purchase struct {
  49775. _ struct{} `type:"structure"`
  49776. // The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
  49777. // At this time, the only supported currency is USD.
  49778. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  49779. // The duration of the reservation's term in seconds.
  49780. Duration *int64 `locationName:"duration" type:"integer"`
  49781. // The IDs of the Dedicated Hosts associated with the reservation.
  49782. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  49783. // The ID of the reservation.
  49784. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  49785. // The hourly price of the reservation per hour.
  49786. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  49787. // The instance family on the Dedicated Host that the reservation can be associated
  49788. // with.
  49789. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  49790. // The payment option for the reservation.
  49791. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  49792. // The upfront price of the reservation.
  49793. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  49794. }
  49795. // String returns the string representation
  49796. func (s Purchase) String() string {
  49797. return awsutil.Prettify(s)
  49798. }
  49799. // GoString returns the string representation
  49800. func (s Purchase) GoString() string {
  49801. return s.String()
  49802. }
  49803. // SetCurrencyCode sets the CurrencyCode field's value.
  49804. func (s *Purchase) SetCurrencyCode(v string) *Purchase {
  49805. s.CurrencyCode = &v
  49806. return s
  49807. }
  49808. // SetDuration sets the Duration field's value.
  49809. func (s *Purchase) SetDuration(v int64) *Purchase {
  49810. s.Duration = &v
  49811. return s
  49812. }
  49813. // SetHostIdSet sets the HostIdSet field's value.
  49814. func (s *Purchase) SetHostIdSet(v []*string) *Purchase {
  49815. s.HostIdSet = v
  49816. return s
  49817. }
  49818. // SetHostReservationId sets the HostReservationId field's value.
  49819. func (s *Purchase) SetHostReservationId(v string) *Purchase {
  49820. s.HostReservationId = &v
  49821. return s
  49822. }
  49823. // SetHourlyPrice sets the HourlyPrice field's value.
  49824. func (s *Purchase) SetHourlyPrice(v string) *Purchase {
  49825. s.HourlyPrice = &v
  49826. return s
  49827. }
  49828. // SetInstanceFamily sets the InstanceFamily field's value.
  49829. func (s *Purchase) SetInstanceFamily(v string) *Purchase {
  49830. s.InstanceFamily = &v
  49831. return s
  49832. }
  49833. // SetPaymentOption sets the PaymentOption field's value.
  49834. func (s *Purchase) SetPaymentOption(v string) *Purchase {
  49835. s.PaymentOption = &v
  49836. return s
  49837. }
  49838. // SetUpfrontPrice sets the UpfrontPrice field's value.
  49839. func (s *Purchase) SetUpfrontPrice(v string) *Purchase {
  49840. s.UpfrontPrice = &v
  49841. return s
  49842. }
  49843. type PurchaseHostReservationInput struct {
  49844. _ struct{} `type:"structure"`
  49845. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  49846. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  49847. // in the Amazon Elastic Compute Cloud User Guide.
  49848. ClientToken *string `type:"string"`
  49849. // The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
  49850. // amounts are specified. At this time, the only supported currency is USD.
  49851. CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
  49852. // The ID/s of the Dedicated Host/s that the reservation will be associated
  49853. // with.
  49854. //
  49855. // HostIdSet is a required field
  49856. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  49857. // The specified limit is checked against the total upfront cost of the reservation
  49858. // (calculated as the offering's upfront cost multiplied by the host count).
  49859. // If the total upfront cost is greater than the specified price limit, the
  49860. // request will fail. This is used to ensure that the purchase does not exceed
  49861. // the expected upfront cost of the purchase. At this time, the only supported
  49862. // currency is USD. For example, to indicate a limit price of USD 100, specify
  49863. // 100.00.
  49864. LimitPrice *string `type:"string"`
  49865. // The ID of the offering.
  49866. //
  49867. // OfferingId is a required field
  49868. OfferingId *string `type:"string" required:"true"`
  49869. }
  49870. // String returns the string representation
  49871. func (s PurchaseHostReservationInput) String() string {
  49872. return awsutil.Prettify(s)
  49873. }
  49874. // GoString returns the string representation
  49875. func (s PurchaseHostReservationInput) GoString() string {
  49876. return s.String()
  49877. }
  49878. // Validate inspects the fields of the type to determine if they are valid.
  49879. func (s *PurchaseHostReservationInput) Validate() error {
  49880. invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
  49881. if s.HostIdSet == nil {
  49882. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  49883. }
  49884. if s.OfferingId == nil {
  49885. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  49886. }
  49887. if invalidParams.Len() > 0 {
  49888. return invalidParams
  49889. }
  49890. return nil
  49891. }
  49892. // SetClientToken sets the ClientToken field's value.
  49893. func (s *PurchaseHostReservationInput) SetClientToken(v string) *PurchaseHostReservationInput {
  49894. s.ClientToken = &v
  49895. return s
  49896. }
  49897. // SetCurrencyCode sets the CurrencyCode field's value.
  49898. func (s *PurchaseHostReservationInput) SetCurrencyCode(v string) *PurchaseHostReservationInput {
  49899. s.CurrencyCode = &v
  49900. return s
  49901. }
  49902. // SetHostIdSet sets the HostIdSet field's value.
  49903. func (s *PurchaseHostReservationInput) SetHostIdSet(v []*string) *PurchaseHostReservationInput {
  49904. s.HostIdSet = v
  49905. return s
  49906. }
  49907. // SetLimitPrice sets the LimitPrice field's value.
  49908. func (s *PurchaseHostReservationInput) SetLimitPrice(v string) *PurchaseHostReservationInput {
  49909. s.LimitPrice = &v
  49910. return s
  49911. }
  49912. // SetOfferingId sets the OfferingId field's value.
  49913. func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostReservationInput {
  49914. s.OfferingId = &v
  49915. return s
  49916. }
  49917. type PurchaseHostReservationOutput struct {
  49918. _ struct{} `type:"structure"`
  49919. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  49920. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  49921. // in the Amazon Elastic Compute Cloud User Guide
  49922. ClientToken *string `locationName:"clientToken" type:"string"`
  49923. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  49924. // are specified. At this time, the only supported currency is USD.
  49925. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  49926. // Describes the details of the purchase.
  49927. Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
  49928. // The total hourly price of the reservation calculated per hour.
  49929. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  49930. // The total amount that will be charged to your account when you purchase the
  49931. // reservation.
  49932. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  49933. }
  49934. // String returns the string representation
  49935. func (s PurchaseHostReservationOutput) String() string {
  49936. return awsutil.Prettify(s)
  49937. }
  49938. // GoString returns the string representation
  49939. func (s PurchaseHostReservationOutput) GoString() string {
  49940. return s.String()
  49941. }
  49942. // SetClientToken sets the ClientToken field's value.
  49943. func (s *PurchaseHostReservationOutput) SetClientToken(v string) *PurchaseHostReservationOutput {
  49944. s.ClientToken = &v
  49945. return s
  49946. }
  49947. // SetCurrencyCode sets the CurrencyCode field's value.
  49948. func (s *PurchaseHostReservationOutput) SetCurrencyCode(v string) *PurchaseHostReservationOutput {
  49949. s.CurrencyCode = &v
  49950. return s
  49951. }
  49952. // SetPurchase sets the Purchase field's value.
  49953. func (s *PurchaseHostReservationOutput) SetPurchase(v []*Purchase) *PurchaseHostReservationOutput {
  49954. s.Purchase = v
  49955. return s
  49956. }
  49957. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  49958. func (s *PurchaseHostReservationOutput) SetTotalHourlyPrice(v string) *PurchaseHostReservationOutput {
  49959. s.TotalHourlyPrice = &v
  49960. return s
  49961. }
  49962. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  49963. func (s *PurchaseHostReservationOutput) SetTotalUpfrontPrice(v string) *PurchaseHostReservationOutput {
  49964. s.TotalUpfrontPrice = &v
  49965. return s
  49966. }
  49967. // Describes a request to purchase Scheduled Instances.
  49968. type PurchaseRequest struct {
  49969. _ struct{} `type:"structure"`
  49970. // The number of instances.
  49971. //
  49972. // InstanceCount is a required field
  49973. InstanceCount *int64 `type:"integer" required:"true"`
  49974. // The purchase token.
  49975. //
  49976. // PurchaseToken is a required field
  49977. PurchaseToken *string `type:"string" required:"true"`
  49978. }
  49979. // String returns the string representation
  49980. func (s PurchaseRequest) String() string {
  49981. return awsutil.Prettify(s)
  49982. }
  49983. // GoString returns the string representation
  49984. func (s PurchaseRequest) GoString() string {
  49985. return s.String()
  49986. }
  49987. // Validate inspects the fields of the type to determine if they are valid.
  49988. func (s *PurchaseRequest) Validate() error {
  49989. invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
  49990. if s.InstanceCount == nil {
  49991. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  49992. }
  49993. if s.PurchaseToken == nil {
  49994. invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
  49995. }
  49996. if invalidParams.Len() > 0 {
  49997. return invalidParams
  49998. }
  49999. return nil
  50000. }
  50001. // SetInstanceCount sets the InstanceCount field's value.
  50002. func (s *PurchaseRequest) SetInstanceCount(v int64) *PurchaseRequest {
  50003. s.InstanceCount = &v
  50004. return s
  50005. }
  50006. // SetPurchaseToken sets the PurchaseToken field's value.
  50007. func (s *PurchaseRequest) SetPurchaseToken(v string) *PurchaseRequest {
  50008. s.PurchaseToken = &v
  50009. return s
  50010. }
  50011. // Contains the parameters for PurchaseReservedInstancesOffering.
  50012. type PurchaseReservedInstancesOfferingInput struct {
  50013. _ struct{} `type:"structure"`
  50014. // Checks whether you have the required permissions for the action, without
  50015. // actually making the request, and provides an error response. If you have
  50016. // the required permissions, the error response is DryRunOperation. Otherwise,
  50017. // it is UnauthorizedOperation.
  50018. DryRun *bool `locationName:"dryRun" type:"boolean"`
  50019. // The number of Reserved Instances to purchase.
  50020. //
  50021. // InstanceCount is a required field
  50022. InstanceCount *int64 `type:"integer" required:"true"`
  50023. // Specified for Reserved Instance Marketplace offerings to limit the total
  50024. // order and ensure that the Reserved Instances are not purchased at unexpected
  50025. // prices.
  50026. LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
  50027. // The ID of the Reserved Instance offering to purchase.
  50028. //
  50029. // ReservedInstancesOfferingId is a required field
  50030. ReservedInstancesOfferingId *string `type:"string" required:"true"`
  50031. }
  50032. // String returns the string representation
  50033. func (s PurchaseReservedInstancesOfferingInput) String() string {
  50034. return awsutil.Prettify(s)
  50035. }
  50036. // GoString returns the string representation
  50037. func (s PurchaseReservedInstancesOfferingInput) GoString() string {
  50038. return s.String()
  50039. }
  50040. // Validate inspects the fields of the type to determine if they are valid.
  50041. func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
  50042. invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
  50043. if s.InstanceCount == nil {
  50044. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  50045. }
  50046. if s.ReservedInstancesOfferingId == nil {
  50047. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
  50048. }
  50049. if invalidParams.Len() > 0 {
  50050. return invalidParams
  50051. }
  50052. return nil
  50053. }
  50054. // SetDryRun sets the DryRun field's value.
  50055. func (s *PurchaseReservedInstancesOfferingInput) SetDryRun(v bool) *PurchaseReservedInstancesOfferingInput {
  50056. s.DryRun = &v
  50057. return s
  50058. }
  50059. // SetInstanceCount sets the InstanceCount field's value.
  50060. func (s *PurchaseReservedInstancesOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstancesOfferingInput {
  50061. s.InstanceCount = &v
  50062. return s
  50063. }
  50064. // SetLimitPrice sets the LimitPrice field's value.
  50065. func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstanceLimitPrice) *PurchaseReservedInstancesOfferingInput {
  50066. s.LimitPrice = v
  50067. return s
  50068. }
  50069. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  50070. func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput {
  50071. s.ReservedInstancesOfferingId = &v
  50072. return s
  50073. }
  50074. // Contains the output of PurchaseReservedInstancesOffering.
  50075. type PurchaseReservedInstancesOfferingOutput struct {
  50076. _ struct{} `type:"structure"`
  50077. // The IDs of the purchased Reserved Instances.
  50078. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  50079. }
  50080. // String returns the string representation
  50081. func (s PurchaseReservedInstancesOfferingOutput) String() string {
  50082. return awsutil.Prettify(s)
  50083. }
  50084. // GoString returns the string representation
  50085. func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
  50086. return s.String()
  50087. }
  50088. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  50089. func (s *PurchaseReservedInstancesOfferingOutput) SetReservedInstancesId(v string) *PurchaseReservedInstancesOfferingOutput {
  50090. s.ReservedInstancesId = &v
  50091. return s
  50092. }
  50093. // Contains the parameters for PurchaseScheduledInstances.
  50094. type PurchaseScheduledInstancesInput struct {
  50095. _ struct{} `type:"structure"`
  50096. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  50097. // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  50098. ClientToken *string `type:"string" idempotencyToken:"true"`
  50099. // Checks whether you have the required permissions for the action, without
  50100. // actually making the request, and provides an error response. If you have
  50101. // the required permissions, the error response is DryRunOperation. Otherwise,
  50102. // it is UnauthorizedOperation.
  50103. DryRun *bool `type:"boolean"`
  50104. // One or more purchase requests.
  50105. //
  50106. // PurchaseRequests is a required field
  50107. PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
  50108. }
  50109. // String returns the string representation
  50110. func (s PurchaseScheduledInstancesInput) String() string {
  50111. return awsutil.Prettify(s)
  50112. }
  50113. // GoString returns the string representation
  50114. func (s PurchaseScheduledInstancesInput) GoString() string {
  50115. return s.String()
  50116. }
  50117. // Validate inspects the fields of the type to determine if they are valid.
  50118. func (s *PurchaseScheduledInstancesInput) Validate() error {
  50119. invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
  50120. if s.PurchaseRequests == nil {
  50121. invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
  50122. }
  50123. if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
  50124. invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
  50125. }
  50126. if s.PurchaseRequests != nil {
  50127. for i, v := range s.PurchaseRequests {
  50128. if v == nil {
  50129. continue
  50130. }
  50131. if err := v.Validate(); err != nil {
  50132. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
  50133. }
  50134. }
  50135. }
  50136. if invalidParams.Len() > 0 {
  50137. return invalidParams
  50138. }
  50139. return nil
  50140. }
  50141. // SetClientToken sets the ClientToken field's value.
  50142. func (s *PurchaseScheduledInstancesInput) SetClientToken(v string) *PurchaseScheduledInstancesInput {
  50143. s.ClientToken = &v
  50144. return s
  50145. }
  50146. // SetDryRun sets the DryRun field's value.
  50147. func (s *PurchaseScheduledInstancesInput) SetDryRun(v bool) *PurchaseScheduledInstancesInput {
  50148. s.DryRun = &v
  50149. return s
  50150. }
  50151. // SetPurchaseRequests sets the PurchaseRequests field's value.
  50152. func (s *PurchaseScheduledInstancesInput) SetPurchaseRequests(v []*PurchaseRequest) *PurchaseScheduledInstancesInput {
  50153. s.PurchaseRequests = v
  50154. return s
  50155. }
  50156. // Contains the output of PurchaseScheduledInstances.
  50157. type PurchaseScheduledInstancesOutput struct {
  50158. _ struct{} `type:"structure"`
  50159. // Information about the Scheduled Instances.
  50160. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  50161. }
  50162. // String returns the string representation
  50163. func (s PurchaseScheduledInstancesOutput) String() string {
  50164. return awsutil.Prettify(s)
  50165. }
  50166. // GoString returns the string representation
  50167. func (s PurchaseScheduledInstancesOutput) GoString() string {
  50168. return s.String()
  50169. }
  50170. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  50171. func (s *PurchaseScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *PurchaseScheduledInstancesOutput {
  50172. s.ScheduledInstanceSet = v
  50173. return s
  50174. }
  50175. // Contains the parameters for RebootInstances.
  50176. type RebootInstancesInput struct {
  50177. _ struct{} `type:"structure"`
  50178. // Checks whether you have the required permissions for the action, without
  50179. // actually making the request, and provides an error response. If you have
  50180. // the required permissions, the error response is DryRunOperation. Otherwise,
  50181. // it is UnauthorizedOperation.
  50182. DryRun *bool `locationName:"dryRun" type:"boolean"`
  50183. // One or more instance IDs.
  50184. //
  50185. // InstanceIds is a required field
  50186. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  50187. }
  50188. // String returns the string representation
  50189. func (s RebootInstancesInput) String() string {
  50190. return awsutil.Prettify(s)
  50191. }
  50192. // GoString returns the string representation
  50193. func (s RebootInstancesInput) GoString() string {
  50194. return s.String()
  50195. }
  50196. // Validate inspects the fields of the type to determine if they are valid.
  50197. func (s *RebootInstancesInput) Validate() error {
  50198. invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
  50199. if s.InstanceIds == nil {
  50200. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  50201. }
  50202. if invalidParams.Len() > 0 {
  50203. return invalidParams
  50204. }
  50205. return nil
  50206. }
  50207. // SetDryRun sets the DryRun field's value.
  50208. func (s *RebootInstancesInput) SetDryRun(v bool) *RebootInstancesInput {
  50209. s.DryRun = &v
  50210. return s
  50211. }
  50212. // SetInstanceIds sets the InstanceIds field's value.
  50213. func (s *RebootInstancesInput) SetInstanceIds(v []*string) *RebootInstancesInput {
  50214. s.InstanceIds = v
  50215. return s
  50216. }
  50217. type RebootInstancesOutput struct {
  50218. _ struct{} `type:"structure"`
  50219. }
  50220. // String returns the string representation
  50221. func (s RebootInstancesOutput) String() string {
  50222. return awsutil.Prettify(s)
  50223. }
  50224. // GoString returns the string representation
  50225. func (s RebootInstancesOutput) GoString() string {
  50226. return s.String()
  50227. }
  50228. // Describes a recurring charge.
  50229. type RecurringCharge struct {
  50230. _ struct{} `type:"structure"`
  50231. // The amount of the recurring charge.
  50232. Amount *float64 `locationName:"amount" type:"double"`
  50233. // The frequency of the recurring charge.
  50234. Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
  50235. }
  50236. // String returns the string representation
  50237. func (s RecurringCharge) String() string {
  50238. return awsutil.Prettify(s)
  50239. }
  50240. // GoString returns the string representation
  50241. func (s RecurringCharge) GoString() string {
  50242. return s.String()
  50243. }
  50244. // SetAmount sets the Amount field's value.
  50245. func (s *RecurringCharge) SetAmount(v float64) *RecurringCharge {
  50246. s.Amount = &v
  50247. return s
  50248. }
  50249. // SetFrequency sets the Frequency field's value.
  50250. func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
  50251. s.Frequency = &v
  50252. return s
  50253. }
  50254. // Describes a region.
  50255. type Region struct {
  50256. _ struct{} `type:"structure"`
  50257. // The region service endpoint.
  50258. Endpoint *string `locationName:"regionEndpoint" type:"string"`
  50259. // The name of the region.
  50260. RegionName *string `locationName:"regionName" type:"string"`
  50261. }
  50262. // String returns the string representation
  50263. func (s Region) String() string {
  50264. return awsutil.Prettify(s)
  50265. }
  50266. // GoString returns the string representation
  50267. func (s Region) GoString() string {
  50268. return s.String()
  50269. }
  50270. // SetEndpoint sets the Endpoint field's value.
  50271. func (s *Region) SetEndpoint(v string) *Region {
  50272. s.Endpoint = &v
  50273. return s
  50274. }
  50275. // SetRegionName sets the RegionName field's value.
  50276. func (s *Region) SetRegionName(v string) *Region {
  50277. s.RegionName = &v
  50278. return s
  50279. }
  50280. // Contains the parameters for RegisterImage.
  50281. type RegisterImageInput struct {
  50282. _ struct{} `type:"structure"`
  50283. // The architecture of the AMI.
  50284. //
  50285. // Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
  50286. // the architecture specified in the manifest file.
  50287. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  50288. // The billing product codes. Your account must be authorized to specify billing
  50289. // product codes. Otherwise, you can use the AWS Marketplace to bill for the
  50290. // use of an AMI.
  50291. BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"`
  50292. // One or more block device mapping entries.
  50293. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  50294. // A description for your AMI.
  50295. Description *string `locationName:"description" type:"string"`
  50296. // Checks whether you have the required permissions for the action, without
  50297. // actually making the request, and provides an error response. If you have
  50298. // the required permissions, the error response is DryRunOperation. Otherwise,
  50299. // it is UnauthorizedOperation.
  50300. DryRun *bool `locationName:"dryRun" type:"boolean"`
  50301. // Set to true to enable enhanced networking with ENA for the AMI and any instances
  50302. // that you launch from the AMI.
  50303. //
  50304. // This option is supported only for HVM AMIs. Specifying this option with a
  50305. // PV AMI can make instances launched from the AMI unreachable.
  50306. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  50307. // The full path to your AMI manifest in Amazon S3 storage.
  50308. ImageLocation *string `type:"string"`
  50309. // The ID of the kernel.
  50310. KernelId *string `locationName:"kernelId" type:"string"`
  50311. // A name for your AMI.
  50312. //
  50313. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  50314. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  50315. // at-signs (@), or underscores(_)
  50316. //
  50317. // Name is a required field
  50318. Name *string `locationName:"name" type:"string" required:"true"`
  50319. // The ID of the RAM disk.
  50320. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  50321. // The device name of the root device volume (for example, /dev/sda1).
  50322. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  50323. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  50324. // Function interface for the AMI and any instances that you launch from the
  50325. // AMI.
  50326. //
  50327. // There is no way to disable sriovNetSupport at this time.
  50328. //
  50329. // This option is supported only for HVM AMIs. Specifying this option with a
  50330. // PV AMI can make instances launched from the AMI unreachable.
  50331. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  50332. // The type of virtualization (hvm | paravirtual).
  50333. //
  50334. // Default: paravirtual
  50335. VirtualizationType *string `locationName:"virtualizationType" type:"string"`
  50336. }
  50337. // String returns the string representation
  50338. func (s RegisterImageInput) String() string {
  50339. return awsutil.Prettify(s)
  50340. }
  50341. // GoString returns the string representation
  50342. func (s RegisterImageInput) GoString() string {
  50343. return s.String()
  50344. }
  50345. // Validate inspects the fields of the type to determine if they are valid.
  50346. func (s *RegisterImageInput) Validate() error {
  50347. invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
  50348. if s.Name == nil {
  50349. invalidParams.Add(request.NewErrParamRequired("Name"))
  50350. }
  50351. if invalidParams.Len() > 0 {
  50352. return invalidParams
  50353. }
  50354. return nil
  50355. }
  50356. // SetArchitecture sets the Architecture field's value.
  50357. func (s *RegisterImageInput) SetArchitecture(v string) *RegisterImageInput {
  50358. s.Architecture = &v
  50359. return s
  50360. }
  50361. // SetBillingProducts sets the BillingProducts field's value.
  50362. func (s *RegisterImageInput) SetBillingProducts(v []*string) *RegisterImageInput {
  50363. s.BillingProducts = v
  50364. return s
  50365. }
  50366. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  50367. func (s *RegisterImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RegisterImageInput {
  50368. s.BlockDeviceMappings = v
  50369. return s
  50370. }
  50371. // SetDescription sets the Description field's value.
  50372. func (s *RegisterImageInput) SetDescription(v string) *RegisterImageInput {
  50373. s.Description = &v
  50374. return s
  50375. }
  50376. // SetDryRun sets the DryRun field's value.
  50377. func (s *RegisterImageInput) SetDryRun(v bool) *RegisterImageInput {
  50378. s.DryRun = &v
  50379. return s
  50380. }
  50381. // SetEnaSupport sets the EnaSupport field's value.
  50382. func (s *RegisterImageInput) SetEnaSupport(v bool) *RegisterImageInput {
  50383. s.EnaSupport = &v
  50384. return s
  50385. }
  50386. // SetImageLocation sets the ImageLocation field's value.
  50387. func (s *RegisterImageInput) SetImageLocation(v string) *RegisterImageInput {
  50388. s.ImageLocation = &v
  50389. return s
  50390. }
  50391. // SetKernelId sets the KernelId field's value.
  50392. func (s *RegisterImageInput) SetKernelId(v string) *RegisterImageInput {
  50393. s.KernelId = &v
  50394. return s
  50395. }
  50396. // SetName sets the Name field's value.
  50397. func (s *RegisterImageInput) SetName(v string) *RegisterImageInput {
  50398. s.Name = &v
  50399. return s
  50400. }
  50401. // SetRamdiskId sets the RamdiskId field's value.
  50402. func (s *RegisterImageInput) SetRamdiskId(v string) *RegisterImageInput {
  50403. s.RamdiskId = &v
  50404. return s
  50405. }
  50406. // SetRootDeviceName sets the RootDeviceName field's value.
  50407. func (s *RegisterImageInput) SetRootDeviceName(v string) *RegisterImageInput {
  50408. s.RootDeviceName = &v
  50409. return s
  50410. }
  50411. // SetSriovNetSupport sets the SriovNetSupport field's value.
  50412. func (s *RegisterImageInput) SetSriovNetSupport(v string) *RegisterImageInput {
  50413. s.SriovNetSupport = &v
  50414. return s
  50415. }
  50416. // SetVirtualizationType sets the VirtualizationType field's value.
  50417. func (s *RegisterImageInput) SetVirtualizationType(v string) *RegisterImageInput {
  50418. s.VirtualizationType = &v
  50419. return s
  50420. }
  50421. // Contains the output of RegisterImage.
  50422. type RegisterImageOutput struct {
  50423. _ struct{} `type:"structure"`
  50424. // The ID of the newly registered AMI.
  50425. ImageId *string `locationName:"imageId" type:"string"`
  50426. }
  50427. // String returns the string representation
  50428. func (s RegisterImageOutput) String() string {
  50429. return awsutil.Prettify(s)
  50430. }
  50431. // GoString returns the string representation
  50432. func (s RegisterImageOutput) GoString() string {
  50433. return s.String()
  50434. }
  50435. // SetImageId sets the ImageId field's value.
  50436. func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
  50437. s.ImageId = &v
  50438. return s
  50439. }
  50440. type RejectVpcEndpointConnectionsInput struct {
  50441. _ struct{} `type:"structure"`
  50442. // Checks whether you have the required permissions for the action, without
  50443. // actually making the request, and provides an error response. If you have
  50444. // the required permissions, the error response is DryRunOperation. Otherwise,
  50445. // it is UnauthorizedOperation.
  50446. DryRun *bool `type:"boolean"`
  50447. // The ID of the service.
  50448. //
  50449. // ServiceId is a required field
  50450. ServiceId *string `type:"string" required:"true"`
  50451. // The IDs of one or more VPC endpoints.
  50452. //
  50453. // VpcEndpointIds is a required field
  50454. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  50455. }
  50456. // String returns the string representation
  50457. func (s RejectVpcEndpointConnectionsInput) String() string {
  50458. return awsutil.Prettify(s)
  50459. }
  50460. // GoString returns the string representation
  50461. func (s RejectVpcEndpointConnectionsInput) GoString() string {
  50462. return s.String()
  50463. }
  50464. // Validate inspects the fields of the type to determine if they are valid.
  50465. func (s *RejectVpcEndpointConnectionsInput) Validate() error {
  50466. invalidParams := request.ErrInvalidParams{Context: "RejectVpcEndpointConnectionsInput"}
  50467. if s.ServiceId == nil {
  50468. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  50469. }
  50470. if s.VpcEndpointIds == nil {
  50471. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  50472. }
  50473. if invalidParams.Len() > 0 {
  50474. return invalidParams
  50475. }
  50476. return nil
  50477. }
  50478. // SetDryRun sets the DryRun field's value.
  50479. func (s *RejectVpcEndpointConnectionsInput) SetDryRun(v bool) *RejectVpcEndpointConnectionsInput {
  50480. s.DryRun = &v
  50481. return s
  50482. }
  50483. // SetServiceId sets the ServiceId field's value.
  50484. func (s *RejectVpcEndpointConnectionsInput) SetServiceId(v string) *RejectVpcEndpointConnectionsInput {
  50485. s.ServiceId = &v
  50486. return s
  50487. }
  50488. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  50489. func (s *RejectVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *RejectVpcEndpointConnectionsInput {
  50490. s.VpcEndpointIds = v
  50491. return s
  50492. }
  50493. type RejectVpcEndpointConnectionsOutput struct {
  50494. _ struct{} `type:"structure"`
  50495. // Information about the endpoints that were not rejected, if applicable.
  50496. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  50497. }
  50498. // String returns the string representation
  50499. func (s RejectVpcEndpointConnectionsOutput) String() string {
  50500. return awsutil.Prettify(s)
  50501. }
  50502. // GoString returns the string representation
  50503. func (s RejectVpcEndpointConnectionsOutput) GoString() string {
  50504. return s.String()
  50505. }
  50506. // SetUnsuccessful sets the Unsuccessful field's value.
  50507. func (s *RejectVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *RejectVpcEndpointConnectionsOutput {
  50508. s.Unsuccessful = v
  50509. return s
  50510. }
  50511. // Contains the parameters for RejectVpcPeeringConnection.
  50512. type RejectVpcPeeringConnectionInput struct {
  50513. _ struct{} `type:"structure"`
  50514. // Checks whether you have the required permissions for the action, without
  50515. // actually making the request, and provides an error response. If you have
  50516. // the required permissions, the error response is DryRunOperation. Otherwise,
  50517. // it is UnauthorizedOperation.
  50518. DryRun *bool `locationName:"dryRun" type:"boolean"`
  50519. // The ID of the VPC peering connection.
  50520. //
  50521. // VpcPeeringConnectionId is a required field
  50522. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  50523. }
  50524. // String returns the string representation
  50525. func (s RejectVpcPeeringConnectionInput) String() string {
  50526. return awsutil.Prettify(s)
  50527. }
  50528. // GoString returns the string representation
  50529. func (s RejectVpcPeeringConnectionInput) GoString() string {
  50530. return s.String()
  50531. }
  50532. // Validate inspects the fields of the type to determine if they are valid.
  50533. func (s *RejectVpcPeeringConnectionInput) Validate() error {
  50534. invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
  50535. if s.VpcPeeringConnectionId == nil {
  50536. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  50537. }
  50538. if invalidParams.Len() > 0 {
  50539. return invalidParams
  50540. }
  50541. return nil
  50542. }
  50543. // SetDryRun sets the DryRun field's value.
  50544. func (s *RejectVpcPeeringConnectionInput) SetDryRun(v bool) *RejectVpcPeeringConnectionInput {
  50545. s.DryRun = &v
  50546. return s
  50547. }
  50548. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  50549. func (s *RejectVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *RejectVpcPeeringConnectionInput {
  50550. s.VpcPeeringConnectionId = &v
  50551. return s
  50552. }
  50553. // Contains the output of RejectVpcPeeringConnection.
  50554. type RejectVpcPeeringConnectionOutput struct {
  50555. _ struct{} `type:"structure"`
  50556. // Returns true if the request succeeds; otherwise, it returns an error.
  50557. Return *bool `locationName:"return" type:"boolean"`
  50558. }
  50559. // String returns the string representation
  50560. func (s RejectVpcPeeringConnectionOutput) String() string {
  50561. return awsutil.Prettify(s)
  50562. }
  50563. // GoString returns the string representation
  50564. func (s RejectVpcPeeringConnectionOutput) GoString() string {
  50565. return s.String()
  50566. }
  50567. // SetReturn sets the Return field's value.
  50568. func (s *RejectVpcPeeringConnectionOutput) SetReturn(v bool) *RejectVpcPeeringConnectionOutput {
  50569. s.Return = &v
  50570. return s
  50571. }
  50572. // Contains the parameters for ReleaseAddress.
  50573. type ReleaseAddressInput struct {
  50574. _ struct{} `type:"structure"`
  50575. // [EC2-VPC] The allocation ID. Required for EC2-VPC.
  50576. AllocationId *string `type:"string"`
  50577. // Checks whether you have the required permissions for the action, without
  50578. // actually making the request, and provides an error response. If you have
  50579. // the required permissions, the error response is DryRunOperation. Otherwise,
  50580. // it is UnauthorizedOperation.
  50581. DryRun *bool `locationName:"dryRun" type:"boolean"`
  50582. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  50583. PublicIp *string `type:"string"`
  50584. }
  50585. // String returns the string representation
  50586. func (s ReleaseAddressInput) String() string {
  50587. return awsutil.Prettify(s)
  50588. }
  50589. // GoString returns the string representation
  50590. func (s ReleaseAddressInput) GoString() string {
  50591. return s.String()
  50592. }
  50593. // SetAllocationId sets the AllocationId field's value.
  50594. func (s *ReleaseAddressInput) SetAllocationId(v string) *ReleaseAddressInput {
  50595. s.AllocationId = &v
  50596. return s
  50597. }
  50598. // SetDryRun sets the DryRun field's value.
  50599. func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
  50600. s.DryRun = &v
  50601. return s
  50602. }
  50603. // SetPublicIp sets the PublicIp field's value.
  50604. func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
  50605. s.PublicIp = &v
  50606. return s
  50607. }
  50608. type ReleaseAddressOutput struct {
  50609. _ struct{} `type:"structure"`
  50610. }
  50611. // String returns the string representation
  50612. func (s ReleaseAddressOutput) String() string {
  50613. return awsutil.Prettify(s)
  50614. }
  50615. // GoString returns the string representation
  50616. func (s ReleaseAddressOutput) GoString() string {
  50617. return s.String()
  50618. }
  50619. // Contains the parameters for ReleaseHosts.
  50620. type ReleaseHostsInput struct {
  50621. _ struct{} `type:"structure"`
  50622. // The IDs of the Dedicated Hosts you want to release.
  50623. //
  50624. // HostIds is a required field
  50625. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  50626. }
  50627. // String returns the string representation
  50628. func (s ReleaseHostsInput) String() string {
  50629. return awsutil.Prettify(s)
  50630. }
  50631. // GoString returns the string representation
  50632. func (s ReleaseHostsInput) GoString() string {
  50633. return s.String()
  50634. }
  50635. // Validate inspects the fields of the type to determine if they are valid.
  50636. func (s *ReleaseHostsInput) Validate() error {
  50637. invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
  50638. if s.HostIds == nil {
  50639. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  50640. }
  50641. if invalidParams.Len() > 0 {
  50642. return invalidParams
  50643. }
  50644. return nil
  50645. }
  50646. // SetHostIds sets the HostIds field's value.
  50647. func (s *ReleaseHostsInput) SetHostIds(v []*string) *ReleaseHostsInput {
  50648. s.HostIds = v
  50649. return s
  50650. }
  50651. // Contains the output of ReleaseHosts.
  50652. type ReleaseHostsOutput struct {
  50653. _ struct{} `type:"structure"`
  50654. // The IDs of the Dedicated Hosts that were successfully released.
  50655. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  50656. // The IDs of the Dedicated Hosts that could not be released, including an error
  50657. // message.
  50658. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  50659. }
  50660. // String returns the string representation
  50661. func (s ReleaseHostsOutput) String() string {
  50662. return awsutil.Prettify(s)
  50663. }
  50664. // GoString returns the string representation
  50665. func (s ReleaseHostsOutput) GoString() string {
  50666. return s.String()
  50667. }
  50668. // SetSuccessful sets the Successful field's value.
  50669. func (s *ReleaseHostsOutput) SetSuccessful(v []*string) *ReleaseHostsOutput {
  50670. s.Successful = v
  50671. return s
  50672. }
  50673. // SetUnsuccessful sets the Unsuccessful field's value.
  50674. func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHostsOutput {
  50675. s.Unsuccessful = v
  50676. return s
  50677. }
  50678. type ReplaceIamInstanceProfileAssociationInput struct {
  50679. _ struct{} `type:"structure"`
  50680. // The ID of the existing IAM instance profile association.
  50681. //
  50682. // AssociationId is a required field
  50683. AssociationId *string `type:"string" required:"true"`
  50684. // The IAM instance profile.
  50685. //
  50686. // IamInstanceProfile is a required field
  50687. IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
  50688. }
  50689. // String returns the string representation
  50690. func (s ReplaceIamInstanceProfileAssociationInput) String() string {
  50691. return awsutil.Prettify(s)
  50692. }
  50693. // GoString returns the string representation
  50694. func (s ReplaceIamInstanceProfileAssociationInput) GoString() string {
  50695. return s.String()
  50696. }
  50697. // Validate inspects the fields of the type to determine if they are valid.
  50698. func (s *ReplaceIamInstanceProfileAssociationInput) Validate() error {
  50699. invalidParams := request.ErrInvalidParams{Context: "ReplaceIamInstanceProfileAssociationInput"}
  50700. if s.AssociationId == nil {
  50701. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  50702. }
  50703. if s.IamInstanceProfile == nil {
  50704. invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
  50705. }
  50706. if invalidParams.Len() > 0 {
  50707. return invalidParams
  50708. }
  50709. return nil
  50710. }
  50711. // SetAssociationId sets the AssociationId field's value.
  50712. func (s *ReplaceIamInstanceProfileAssociationInput) SetAssociationId(v string) *ReplaceIamInstanceProfileAssociationInput {
  50713. s.AssociationId = &v
  50714. return s
  50715. }
  50716. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  50717. func (s *ReplaceIamInstanceProfileAssociationInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *ReplaceIamInstanceProfileAssociationInput {
  50718. s.IamInstanceProfile = v
  50719. return s
  50720. }
  50721. type ReplaceIamInstanceProfileAssociationOutput struct {
  50722. _ struct{} `type:"structure"`
  50723. // Information about the IAM instance profile association.
  50724. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  50725. }
  50726. // String returns the string representation
  50727. func (s ReplaceIamInstanceProfileAssociationOutput) String() string {
  50728. return awsutil.Prettify(s)
  50729. }
  50730. // GoString returns the string representation
  50731. func (s ReplaceIamInstanceProfileAssociationOutput) GoString() string {
  50732. return s.String()
  50733. }
  50734. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  50735. func (s *ReplaceIamInstanceProfileAssociationOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *ReplaceIamInstanceProfileAssociationOutput {
  50736. s.IamInstanceProfileAssociation = v
  50737. return s
  50738. }
  50739. // Contains the parameters for ReplaceNetworkAclAssociation.
  50740. type ReplaceNetworkAclAssociationInput struct {
  50741. _ struct{} `type:"structure"`
  50742. // The ID of the current association between the original network ACL and the
  50743. // subnet.
  50744. //
  50745. // AssociationId is a required field
  50746. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  50747. // Checks whether you have the required permissions for the action, without
  50748. // actually making the request, and provides an error response. If you have
  50749. // the required permissions, the error response is DryRunOperation. Otherwise,
  50750. // it is UnauthorizedOperation.
  50751. DryRun *bool `locationName:"dryRun" type:"boolean"`
  50752. // The ID of the new network ACL to associate with the subnet.
  50753. //
  50754. // NetworkAclId is a required field
  50755. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  50756. }
  50757. // String returns the string representation
  50758. func (s ReplaceNetworkAclAssociationInput) String() string {
  50759. return awsutil.Prettify(s)
  50760. }
  50761. // GoString returns the string representation
  50762. func (s ReplaceNetworkAclAssociationInput) GoString() string {
  50763. return s.String()
  50764. }
  50765. // Validate inspects the fields of the type to determine if they are valid.
  50766. func (s *ReplaceNetworkAclAssociationInput) Validate() error {
  50767. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
  50768. if s.AssociationId == nil {
  50769. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  50770. }
  50771. if s.NetworkAclId == nil {
  50772. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  50773. }
  50774. if invalidParams.Len() > 0 {
  50775. return invalidParams
  50776. }
  50777. return nil
  50778. }
  50779. // SetAssociationId sets the AssociationId field's value.
  50780. func (s *ReplaceNetworkAclAssociationInput) SetAssociationId(v string) *ReplaceNetworkAclAssociationInput {
  50781. s.AssociationId = &v
  50782. return s
  50783. }
  50784. // SetDryRun sets the DryRun field's value.
  50785. func (s *ReplaceNetworkAclAssociationInput) SetDryRun(v bool) *ReplaceNetworkAclAssociationInput {
  50786. s.DryRun = &v
  50787. return s
  50788. }
  50789. // SetNetworkAclId sets the NetworkAclId field's value.
  50790. func (s *ReplaceNetworkAclAssociationInput) SetNetworkAclId(v string) *ReplaceNetworkAclAssociationInput {
  50791. s.NetworkAclId = &v
  50792. return s
  50793. }
  50794. // Contains the output of ReplaceNetworkAclAssociation.
  50795. type ReplaceNetworkAclAssociationOutput struct {
  50796. _ struct{} `type:"structure"`
  50797. // The ID of the new association.
  50798. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  50799. }
  50800. // String returns the string representation
  50801. func (s ReplaceNetworkAclAssociationOutput) String() string {
  50802. return awsutil.Prettify(s)
  50803. }
  50804. // GoString returns the string representation
  50805. func (s ReplaceNetworkAclAssociationOutput) GoString() string {
  50806. return s.String()
  50807. }
  50808. // SetNewAssociationId sets the NewAssociationId field's value.
  50809. func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *ReplaceNetworkAclAssociationOutput {
  50810. s.NewAssociationId = &v
  50811. return s
  50812. }
  50813. // Contains the parameters for ReplaceNetworkAclEntry.
  50814. type ReplaceNetworkAclEntryInput struct {
  50815. _ struct{} `type:"structure"`
  50816. // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  50817. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  50818. // Checks whether you have the required permissions for the action, without
  50819. // actually making the request, and provides an error response. If you have
  50820. // the required permissions, the error response is DryRunOperation. Otherwise,
  50821. // it is UnauthorizedOperation.
  50822. DryRun *bool `locationName:"dryRun" type:"boolean"`
  50823. // Indicates whether to replace the egress rule.
  50824. //
  50825. // Default: If no value is specified, we replace the ingress rule.
  50826. //
  50827. // Egress is a required field
  50828. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  50829. // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the
  50830. // ICMP (1) protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.
  50831. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  50832. // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).
  50833. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  50834. // The ID of the ACL.
  50835. //
  50836. // NetworkAclId is a required field
  50837. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  50838. // TCP or UDP protocols: The range of ports the rule applies to. Required if
  50839. // specifying TCP (6) or UDP (17) for the protocol.
  50840. PortRange *PortRange `locationName:"portRange" type:"structure"`
  50841. // The IP protocol. You can specify all or -1 to mean all protocols. If you
  50842. // specify all, -1, or a protocol number other than tcp, udp, or icmp, traffic
  50843. // on all ports is allowed, regardless of any ports or ICMP types or codes you
  50844. // specify. If you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block,
  50845. // traffic for all ICMP types and codes allowed, regardless of any that you
  50846. // specify. If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block,
  50847. // you must specify an ICMP type and code.
  50848. //
  50849. // Protocol is a required field
  50850. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  50851. // Indicates whether to allow or deny the traffic that matches the rule.
  50852. //
  50853. // RuleAction is a required field
  50854. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  50855. // The rule number of the entry to replace.
  50856. //
  50857. // RuleNumber is a required field
  50858. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  50859. }
  50860. // String returns the string representation
  50861. func (s ReplaceNetworkAclEntryInput) String() string {
  50862. return awsutil.Prettify(s)
  50863. }
  50864. // GoString returns the string representation
  50865. func (s ReplaceNetworkAclEntryInput) GoString() string {
  50866. return s.String()
  50867. }
  50868. // Validate inspects the fields of the type to determine if they are valid.
  50869. func (s *ReplaceNetworkAclEntryInput) Validate() error {
  50870. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
  50871. if s.Egress == nil {
  50872. invalidParams.Add(request.NewErrParamRequired("Egress"))
  50873. }
  50874. if s.NetworkAclId == nil {
  50875. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  50876. }
  50877. if s.Protocol == nil {
  50878. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  50879. }
  50880. if s.RuleAction == nil {
  50881. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  50882. }
  50883. if s.RuleNumber == nil {
  50884. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  50885. }
  50886. if invalidParams.Len() > 0 {
  50887. return invalidParams
  50888. }
  50889. return nil
  50890. }
  50891. // SetCidrBlock sets the CidrBlock field's value.
  50892. func (s *ReplaceNetworkAclEntryInput) SetCidrBlock(v string) *ReplaceNetworkAclEntryInput {
  50893. s.CidrBlock = &v
  50894. return s
  50895. }
  50896. // SetDryRun sets the DryRun field's value.
  50897. func (s *ReplaceNetworkAclEntryInput) SetDryRun(v bool) *ReplaceNetworkAclEntryInput {
  50898. s.DryRun = &v
  50899. return s
  50900. }
  50901. // SetEgress sets the Egress field's value.
  50902. func (s *ReplaceNetworkAclEntryInput) SetEgress(v bool) *ReplaceNetworkAclEntryInput {
  50903. s.Egress = &v
  50904. return s
  50905. }
  50906. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  50907. func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceNetworkAclEntryInput {
  50908. s.IcmpTypeCode = v
  50909. return s
  50910. }
  50911. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  50912. func (s *ReplaceNetworkAclEntryInput) SetIpv6CidrBlock(v string) *ReplaceNetworkAclEntryInput {
  50913. s.Ipv6CidrBlock = &v
  50914. return s
  50915. }
  50916. // SetNetworkAclId sets the NetworkAclId field's value.
  50917. func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput {
  50918. s.NetworkAclId = &v
  50919. return s
  50920. }
  50921. // SetPortRange sets the PortRange field's value.
  50922. func (s *ReplaceNetworkAclEntryInput) SetPortRange(v *PortRange) *ReplaceNetworkAclEntryInput {
  50923. s.PortRange = v
  50924. return s
  50925. }
  50926. // SetProtocol sets the Protocol field's value.
  50927. func (s *ReplaceNetworkAclEntryInput) SetProtocol(v string) *ReplaceNetworkAclEntryInput {
  50928. s.Protocol = &v
  50929. return s
  50930. }
  50931. // SetRuleAction sets the RuleAction field's value.
  50932. func (s *ReplaceNetworkAclEntryInput) SetRuleAction(v string) *ReplaceNetworkAclEntryInput {
  50933. s.RuleAction = &v
  50934. return s
  50935. }
  50936. // SetRuleNumber sets the RuleNumber field's value.
  50937. func (s *ReplaceNetworkAclEntryInput) SetRuleNumber(v int64) *ReplaceNetworkAclEntryInput {
  50938. s.RuleNumber = &v
  50939. return s
  50940. }
  50941. type ReplaceNetworkAclEntryOutput struct {
  50942. _ struct{} `type:"structure"`
  50943. }
  50944. // String returns the string representation
  50945. func (s ReplaceNetworkAclEntryOutput) String() string {
  50946. return awsutil.Prettify(s)
  50947. }
  50948. // GoString returns the string representation
  50949. func (s ReplaceNetworkAclEntryOutput) GoString() string {
  50950. return s.String()
  50951. }
  50952. // Contains the parameters for ReplaceRoute.
  50953. type ReplaceRouteInput struct {
  50954. _ struct{} `type:"structure"`
  50955. // The IPv4 CIDR address block used for the destination match. The value you
  50956. // provide must match the CIDR of an existing route in the table.
  50957. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  50958. // The IPv6 CIDR address block used for the destination match. The value you
  50959. // provide must match the CIDR of an existing route in the table.
  50960. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  50961. // Checks whether you have the required permissions for the action, without
  50962. // actually making the request, and provides an error response. If you have
  50963. // the required permissions, the error response is DryRunOperation. Otherwise,
  50964. // it is UnauthorizedOperation.
  50965. DryRun *bool `locationName:"dryRun" type:"boolean"`
  50966. // [IPv6 traffic only] The ID of an egress-only Internet gateway.
  50967. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  50968. // The ID of an Internet gateway or virtual private gateway.
  50969. GatewayId *string `locationName:"gatewayId" type:"string"`
  50970. // The ID of a NAT instance in your VPC.
  50971. InstanceId *string `locationName:"instanceId" type:"string"`
  50972. // [IPv4 traffic only] The ID of a NAT gateway.
  50973. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  50974. // The ID of a network interface.
  50975. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  50976. // The ID of the route table.
  50977. //
  50978. // RouteTableId is a required field
  50979. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  50980. // The ID of a VPC peering connection.
  50981. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  50982. }
  50983. // String returns the string representation
  50984. func (s ReplaceRouteInput) String() string {
  50985. return awsutil.Prettify(s)
  50986. }
  50987. // GoString returns the string representation
  50988. func (s ReplaceRouteInput) GoString() string {
  50989. return s.String()
  50990. }
  50991. // Validate inspects the fields of the type to determine if they are valid.
  50992. func (s *ReplaceRouteInput) Validate() error {
  50993. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
  50994. if s.RouteTableId == nil {
  50995. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  50996. }
  50997. if invalidParams.Len() > 0 {
  50998. return invalidParams
  50999. }
  51000. return nil
  51001. }
  51002. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  51003. func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput {
  51004. s.DestinationCidrBlock = &v
  51005. return s
  51006. }
  51007. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  51008. func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteInput {
  51009. s.DestinationIpv6CidrBlock = &v
  51010. return s
  51011. }
  51012. // SetDryRun sets the DryRun field's value.
  51013. func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput {
  51014. s.DryRun = &v
  51015. return s
  51016. }
  51017. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  51018. func (s *ReplaceRouteInput) SetEgressOnlyInternetGatewayId(v string) *ReplaceRouteInput {
  51019. s.EgressOnlyInternetGatewayId = &v
  51020. return s
  51021. }
  51022. // SetGatewayId sets the GatewayId field's value.
  51023. func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput {
  51024. s.GatewayId = &v
  51025. return s
  51026. }
  51027. // SetInstanceId sets the InstanceId field's value.
  51028. func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
  51029. s.InstanceId = &v
  51030. return s
  51031. }
  51032. // SetNatGatewayId sets the NatGatewayId field's value.
  51033. func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
  51034. s.NatGatewayId = &v
  51035. return s
  51036. }
  51037. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  51038. func (s *ReplaceRouteInput) SetNetworkInterfaceId(v string) *ReplaceRouteInput {
  51039. s.NetworkInterfaceId = &v
  51040. return s
  51041. }
  51042. // SetRouteTableId sets the RouteTableId field's value.
  51043. func (s *ReplaceRouteInput) SetRouteTableId(v string) *ReplaceRouteInput {
  51044. s.RouteTableId = &v
  51045. return s
  51046. }
  51047. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  51048. func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
  51049. s.VpcPeeringConnectionId = &v
  51050. return s
  51051. }
  51052. type ReplaceRouteOutput struct {
  51053. _ struct{} `type:"structure"`
  51054. }
  51055. // String returns the string representation
  51056. func (s ReplaceRouteOutput) String() string {
  51057. return awsutil.Prettify(s)
  51058. }
  51059. // GoString returns the string representation
  51060. func (s ReplaceRouteOutput) GoString() string {
  51061. return s.String()
  51062. }
  51063. // Contains the parameters for ReplaceRouteTableAssociation.
  51064. type ReplaceRouteTableAssociationInput struct {
  51065. _ struct{} `type:"structure"`
  51066. // The association ID.
  51067. //
  51068. // AssociationId is a required field
  51069. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  51070. // Checks whether you have the required permissions for the action, without
  51071. // actually making the request, and provides an error response. If you have
  51072. // the required permissions, the error response is DryRunOperation. Otherwise,
  51073. // it is UnauthorizedOperation.
  51074. DryRun *bool `locationName:"dryRun" type:"boolean"`
  51075. // The ID of the new route table to associate with the subnet.
  51076. //
  51077. // RouteTableId is a required field
  51078. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  51079. }
  51080. // String returns the string representation
  51081. func (s ReplaceRouteTableAssociationInput) String() string {
  51082. return awsutil.Prettify(s)
  51083. }
  51084. // GoString returns the string representation
  51085. func (s ReplaceRouteTableAssociationInput) GoString() string {
  51086. return s.String()
  51087. }
  51088. // Validate inspects the fields of the type to determine if they are valid.
  51089. func (s *ReplaceRouteTableAssociationInput) Validate() error {
  51090. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
  51091. if s.AssociationId == nil {
  51092. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  51093. }
  51094. if s.RouteTableId == nil {
  51095. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  51096. }
  51097. if invalidParams.Len() > 0 {
  51098. return invalidParams
  51099. }
  51100. return nil
  51101. }
  51102. // SetAssociationId sets the AssociationId field's value.
  51103. func (s *ReplaceRouteTableAssociationInput) SetAssociationId(v string) *ReplaceRouteTableAssociationInput {
  51104. s.AssociationId = &v
  51105. return s
  51106. }
  51107. // SetDryRun sets the DryRun field's value.
  51108. func (s *ReplaceRouteTableAssociationInput) SetDryRun(v bool) *ReplaceRouteTableAssociationInput {
  51109. s.DryRun = &v
  51110. return s
  51111. }
  51112. // SetRouteTableId sets the RouteTableId field's value.
  51113. func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRouteTableAssociationInput {
  51114. s.RouteTableId = &v
  51115. return s
  51116. }
  51117. // Contains the output of ReplaceRouteTableAssociation.
  51118. type ReplaceRouteTableAssociationOutput struct {
  51119. _ struct{} `type:"structure"`
  51120. // The ID of the new association.
  51121. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  51122. }
  51123. // String returns the string representation
  51124. func (s ReplaceRouteTableAssociationOutput) String() string {
  51125. return awsutil.Prettify(s)
  51126. }
  51127. // GoString returns the string representation
  51128. func (s ReplaceRouteTableAssociationOutput) GoString() string {
  51129. return s.String()
  51130. }
  51131. // SetNewAssociationId sets the NewAssociationId field's value.
  51132. func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
  51133. s.NewAssociationId = &v
  51134. return s
  51135. }
  51136. // Contains the parameters for ReportInstanceStatus.
  51137. type ReportInstanceStatusInput struct {
  51138. _ struct{} `type:"structure"`
  51139. // Descriptive text about the health state of your instance.
  51140. Description *string `locationName:"description" type:"string"`
  51141. // Checks whether you have the required permissions for the action, without
  51142. // actually making the request, and provides an error response. If you have
  51143. // the required permissions, the error response is DryRunOperation. Otherwise,
  51144. // it is UnauthorizedOperation.
  51145. DryRun *bool `locationName:"dryRun" type:"boolean"`
  51146. // The time at which the reported instance health state ended.
  51147. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  51148. // One or more instances.
  51149. //
  51150. // Instances is a required field
  51151. Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  51152. // One or more reason codes that describe the health state of your instance.
  51153. //
  51154. // * instance-stuck-in-state: My instance is stuck in a state.
  51155. //
  51156. // * unresponsive: My instance is unresponsive.
  51157. //
  51158. // * not-accepting-credentials: My instance is not accepting my credentials.
  51159. //
  51160. // * password-not-available: A password is not available for my instance.
  51161. //
  51162. // * performance-network: My instance is experiencing performance problems
  51163. // that I believe are network related.
  51164. //
  51165. // * performance-instance-store: My instance is experiencing performance
  51166. // problems that I believe are related to the instance stores.
  51167. //
  51168. // * performance-ebs-volume: My instance is experiencing performance problems
  51169. // that I believe are related to an EBS volume.
  51170. //
  51171. // * performance-other: My instance is experiencing performance problems.
  51172. //
  51173. // * other: [explain using the description parameter]
  51174. //
  51175. // ReasonCodes is a required field
  51176. ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
  51177. // The time at which the reported instance health state began.
  51178. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  51179. // The status of all instances listed.
  51180. //
  51181. // Status is a required field
  51182. Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
  51183. }
  51184. // String returns the string representation
  51185. func (s ReportInstanceStatusInput) String() string {
  51186. return awsutil.Prettify(s)
  51187. }
  51188. // GoString returns the string representation
  51189. func (s ReportInstanceStatusInput) GoString() string {
  51190. return s.String()
  51191. }
  51192. // Validate inspects the fields of the type to determine if they are valid.
  51193. func (s *ReportInstanceStatusInput) Validate() error {
  51194. invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
  51195. if s.Instances == nil {
  51196. invalidParams.Add(request.NewErrParamRequired("Instances"))
  51197. }
  51198. if s.ReasonCodes == nil {
  51199. invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
  51200. }
  51201. if s.Status == nil {
  51202. invalidParams.Add(request.NewErrParamRequired("Status"))
  51203. }
  51204. if invalidParams.Len() > 0 {
  51205. return invalidParams
  51206. }
  51207. return nil
  51208. }
  51209. // SetDescription sets the Description field's value.
  51210. func (s *ReportInstanceStatusInput) SetDescription(v string) *ReportInstanceStatusInput {
  51211. s.Description = &v
  51212. return s
  51213. }
  51214. // SetDryRun sets the DryRun field's value.
  51215. func (s *ReportInstanceStatusInput) SetDryRun(v bool) *ReportInstanceStatusInput {
  51216. s.DryRun = &v
  51217. return s
  51218. }
  51219. // SetEndTime sets the EndTime field's value.
  51220. func (s *ReportInstanceStatusInput) SetEndTime(v time.Time) *ReportInstanceStatusInput {
  51221. s.EndTime = &v
  51222. return s
  51223. }
  51224. // SetInstances sets the Instances field's value.
  51225. func (s *ReportInstanceStatusInput) SetInstances(v []*string) *ReportInstanceStatusInput {
  51226. s.Instances = v
  51227. return s
  51228. }
  51229. // SetReasonCodes sets the ReasonCodes field's value.
  51230. func (s *ReportInstanceStatusInput) SetReasonCodes(v []*string) *ReportInstanceStatusInput {
  51231. s.ReasonCodes = v
  51232. return s
  51233. }
  51234. // SetStartTime sets the StartTime field's value.
  51235. func (s *ReportInstanceStatusInput) SetStartTime(v time.Time) *ReportInstanceStatusInput {
  51236. s.StartTime = &v
  51237. return s
  51238. }
  51239. // SetStatus sets the Status field's value.
  51240. func (s *ReportInstanceStatusInput) SetStatus(v string) *ReportInstanceStatusInput {
  51241. s.Status = &v
  51242. return s
  51243. }
  51244. type ReportInstanceStatusOutput struct {
  51245. _ struct{} `type:"structure"`
  51246. }
  51247. // String returns the string representation
  51248. func (s ReportInstanceStatusOutput) String() string {
  51249. return awsutil.Prettify(s)
  51250. }
  51251. // GoString returns the string representation
  51252. func (s ReportInstanceStatusOutput) GoString() string {
  51253. return s.String()
  51254. }
  51255. // The information to include in the launch template.
  51256. type RequestLaunchTemplateData struct {
  51257. _ struct{} `type:"structure"`
  51258. // The block device mapping.
  51259. //
  51260. // Supplying both a snapshot ID and an encryption value as arguments for block-device
  51261. // mapping results in an error. This is because only blank volumes can be encrypted
  51262. // on start, and these are not created from a snapshot. If a snapshot is the
  51263. // basis for the volume, it contains data by definition and its encryption status
  51264. // cannot be changed using this action.
  51265. BlockDeviceMappings []*LaunchTemplateBlockDeviceMappingRequest `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  51266. // The credit option for CPU usage of the instance. Valid for T2 instances only.
  51267. CreditSpecification *CreditSpecificationRequest `type:"structure"`
  51268. // If set to true, you can't terminate the instance using the Amazon EC2 console,
  51269. // CLI, or API. To change this attribute to false after launch, use ModifyInstanceAttribute.
  51270. DisableApiTermination *bool `type:"boolean"`
  51271. // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
  51272. // provides dedicated throughput to Amazon EBS and an optimized configuration
  51273. // stack to provide optimal Amazon EBS I/O performance. This optimization isn't
  51274. // available with all instance types. Additional usage charges apply when using
  51275. // an EBS-optimized instance.
  51276. EbsOptimized *bool `type:"boolean"`
  51277. // An elastic GPU to associate with the instance.
  51278. ElasticGpuSpecifications []*ElasticGpuSpecification `locationName:"ElasticGpuSpecification" locationNameList:"ElasticGpuSpecification" type:"list"`
  51279. // The IAM instance profile.
  51280. IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecificationRequest `type:"structure"`
  51281. // The ID of the AMI, which you can get by using DescribeImages.
  51282. ImageId *string `type:"string"`
  51283. // Indicates whether an instance stops or terminates when you initiate shutdown
  51284. // from the instance (using the operating system command for system shutdown).
  51285. //
  51286. // Default: stop
  51287. InstanceInitiatedShutdownBehavior *string `type:"string" enum:"ShutdownBehavior"`
  51288. // The market (purchasing) option for the instances.
  51289. InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsRequest `type:"structure"`
  51290. // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  51291. // in the Amazon Elastic Compute Cloud User Guide.
  51292. InstanceType *string `type:"string" enum:"InstanceType"`
  51293. // The ID of the kernel.
  51294. //
  51295. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  51296. // information, see User Provided Kernels (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  51297. // in the Amazon Elastic Compute Cloud User Guide.
  51298. KernelId *string `type:"string"`
  51299. // The name of the key pair. You can create a key pair using CreateKeyPair or
  51300. // ImportKeyPair.
  51301. //
  51302. // If you do not specify a key pair, you can't connect to the instance unless
  51303. // you choose an AMI that is configured to allow users another way to log in.
  51304. KeyName *string `type:"string"`
  51305. // The monitoring for the instance.
  51306. Monitoring *LaunchTemplatesMonitoringRequest `type:"structure"`
  51307. // One or more network interfaces.
  51308. NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest `locationName:"NetworkInterface" locationNameList:"InstanceNetworkInterfaceSpecification" type:"list"`
  51309. // The placement for the instance.
  51310. Placement *LaunchTemplatePlacementRequest `type:"structure"`
  51311. // The ID of the RAM disk.
  51312. //
  51313. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  51314. // information, see User Provided Kernels (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  51315. // in the Amazon Elastic Compute Cloud User Guide.
  51316. RamDiskId *string `type:"string"`
  51317. // One or more security group IDs. You can create a security group using CreateSecurityGroup.
  51318. // You cannot specify both a security group ID and security name in the same
  51319. // request.
  51320. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  51321. // [EC2-Classic, default VPC] One or more security group names. For a nondefault
  51322. // VPC, you must use security group IDs instead. You cannot specify both a security
  51323. // group ID and security name in the same request.
  51324. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
  51325. // The tags to apply to the resources during launch. You can tag instances and
  51326. // volumes. The specified tags are applied to all instances or volumes that
  51327. // are created during launch.
  51328. TagSpecifications []*LaunchTemplateTagSpecificationRequest `locationName:"TagSpecification" locationNameList:"LaunchTemplateTagSpecificationRequest" type:"list"`
  51329. // The Base64-encoded user data to make available to the instance. For more
  51330. // information, see Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
  51331. // (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
  51332. // (Windows).
  51333. UserData *string `type:"string"`
  51334. }
  51335. // String returns the string representation
  51336. func (s RequestLaunchTemplateData) String() string {
  51337. return awsutil.Prettify(s)
  51338. }
  51339. // GoString returns the string representation
  51340. func (s RequestLaunchTemplateData) GoString() string {
  51341. return s.String()
  51342. }
  51343. // Validate inspects the fields of the type to determine if they are valid.
  51344. func (s *RequestLaunchTemplateData) Validate() error {
  51345. invalidParams := request.ErrInvalidParams{Context: "RequestLaunchTemplateData"}
  51346. if s.CreditSpecification != nil {
  51347. if err := s.CreditSpecification.Validate(); err != nil {
  51348. invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
  51349. }
  51350. }
  51351. if s.ElasticGpuSpecifications != nil {
  51352. for i, v := range s.ElasticGpuSpecifications {
  51353. if v == nil {
  51354. continue
  51355. }
  51356. if err := v.Validate(); err != nil {
  51357. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecifications", i), err.(request.ErrInvalidParams))
  51358. }
  51359. }
  51360. }
  51361. if s.NetworkInterfaces != nil {
  51362. for i, v := range s.NetworkInterfaces {
  51363. if v == nil {
  51364. continue
  51365. }
  51366. if err := v.Validate(); err != nil {
  51367. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  51368. }
  51369. }
  51370. }
  51371. if invalidParams.Len() > 0 {
  51372. return invalidParams
  51373. }
  51374. return nil
  51375. }
  51376. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  51377. func (s *RequestLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMappingRequest) *RequestLaunchTemplateData {
  51378. s.BlockDeviceMappings = v
  51379. return s
  51380. }
  51381. // SetCreditSpecification sets the CreditSpecification field's value.
  51382. func (s *RequestLaunchTemplateData) SetCreditSpecification(v *CreditSpecificationRequest) *RequestLaunchTemplateData {
  51383. s.CreditSpecification = v
  51384. return s
  51385. }
  51386. // SetDisableApiTermination sets the DisableApiTermination field's value.
  51387. func (s *RequestLaunchTemplateData) SetDisableApiTermination(v bool) *RequestLaunchTemplateData {
  51388. s.DisableApiTermination = &v
  51389. return s
  51390. }
  51391. // SetEbsOptimized sets the EbsOptimized field's value.
  51392. func (s *RequestLaunchTemplateData) SetEbsOptimized(v bool) *RequestLaunchTemplateData {
  51393. s.EbsOptimized = &v
  51394. return s
  51395. }
  51396. // SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
  51397. func (s *RequestLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecification) *RequestLaunchTemplateData {
  51398. s.ElasticGpuSpecifications = v
  51399. return s
  51400. }
  51401. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  51402. func (s *RequestLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecificationRequest) *RequestLaunchTemplateData {
  51403. s.IamInstanceProfile = v
  51404. return s
  51405. }
  51406. // SetImageId sets the ImageId field's value.
  51407. func (s *RequestLaunchTemplateData) SetImageId(v string) *RequestLaunchTemplateData {
  51408. s.ImageId = &v
  51409. return s
  51410. }
  51411. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  51412. func (s *RequestLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *RequestLaunchTemplateData {
  51413. s.InstanceInitiatedShutdownBehavior = &v
  51414. return s
  51415. }
  51416. // SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
  51417. func (s *RequestLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptionsRequest) *RequestLaunchTemplateData {
  51418. s.InstanceMarketOptions = v
  51419. return s
  51420. }
  51421. // SetInstanceType sets the InstanceType field's value.
  51422. func (s *RequestLaunchTemplateData) SetInstanceType(v string) *RequestLaunchTemplateData {
  51423. s.InstanceType = &v
  51424. return s
  51425. }
  51426. // SetKernelId sets the KernelId field's value.
  51427. func (s *RequestLaunchTemplateData) SetKernelId(v string) *RequestLaunchTemplateData {
  51428. s.KernelId = &v
  51429. return s
  51430. }
  51431. // SetKeyName sets the KeyName field's value.
  51432. func (s *RequestLaunchTemplateData) SetKeyName(v string) *RequestLaunchTemplateData {
  51433. s.KeyName = &v
  51434. return s
  51435. }
  51436. // SetMonitoring sets the Monitoring field's value.
  51437. func (s *RequestLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoringRequest) *RequestLaunchTemplateData {
  51438. s.Monitoring = v
  51439. return s
  51440. }
  51441. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  51442. func (s *RequestLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) *RequestLaunchTemplateData {
  51443. s.NetworkInterfaces = v
  51444. return s
  51445. }
  51446. // SetPlacement sets the Placement field's value.
  51447. func (s *RequestLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacementRequest) *RequestLaunchTemplateData {
  51448. s.Placement = v
  51449. return s
  51450. }
  51451. // SetRamDiskId sets the RamDiskId field's value.
  51452. func (s *RequestLaunchTemplateData) SetRamDiskId(v string) *RequestLaunchTemplateData {
  51453. s.RamDiskId = &v
  51454. return s
  51455. }
  51456. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  51457. func (s *RequestLaunchTemplateData) SetSecurityGroupIds(v []*string) *RequestLaunchTemplateData {
  51458. s.SecurityGroupIds = v
  51459. return s
  51460. }
  51461. // SetSecurityGroups sets the SecurityGroups field's value.
  51462. func (s *RequestLaunchTemplateData) SetSecurityGroups(v []*string) *RequestLaunchTemplateData {
  51463. s.SecurityGroups = v
  51464. return s
  51465. }
  51466. // SetTagSpecifications sets the TagSpecifications field's value.
  51467. func (s *RequestLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecificationRequest) *RequestLaunchTemplateData {
  51468. s.TagSpecifications = v
  51469. return s
  51470. }
  51471. // SetUserData sets the UserData field's value.
  51472. func (s *RequestLaunchTemplateData) SetUserData(v string) *RequestLaunchTemplateData {
  51473. s.UserData = &v
  51474. return s
  51475. }
  51476. // Contains the parameters for RequestSpotFleet.
  51477. type RequestSpotFleetInput struct {
  51478. _ struct{} `type:"structure"`
  51479. // Checks whether you have the required permissions for the action, without
  51480. // actually making the request, and provides an error response. If you have
  51481. // the required permissions, the error response is DryRunOperation. Otherwise,
  51482. // it is UnauthorizedOperation.
  51483. DryRun *bool `locationName:"dryRun" type:"boolean"`
  51484. // The configuration for the Spot Fleet request.
  51485. //
  51486. // SpotFleetRequestConfig is a required field
  51487. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  51488. }
  51489. // String returns the string representation
  51490. func (s RequestSpotFleetInput) String() string {
  51491. return awsutil.Prettify(s)
  51492. }
  51493. // GoString returns the string representation
  51494. func (s RequestSpotFleetInput) GoString() string {
  51495. return s.String()
  51496. }
  51497. // Validate inspects the fields of the type to determine if they are valid.
  51498. func (s *RequestSpotFleetInput) Validate() error {
  51499. invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
  51500. if s.SpotFleetRequestConfig == nil {
  51501. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
  51502. }
  51503. if s.SpotFleetRequestConfig != nil {
  51504. if err := s.SpotFleetRequestConfig.Validate(); err != nil {
  51505. invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
  51506. }
  51507. }
  51508. if invalidParams.Len() > 0 {
  51509. return invalidParams
  51510. }
  51511. return nil
  51512. }
  51513. // SetDryRun sets the DryRun field's value.
  51514. func (s *RequestSpotFleetInput) SetDryRun(v bool) *RequestSpotFleetInput {
  51515. s.DryRun = &v
  51516. return s
  51517. }
  51518. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  51519. func (s *RequestSpotFleetInput) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *RequestSpotFleetInput {
  51520. s.SpotFleetRequestConfig = v
  51521. return s
  51522. }
  51523. // Contains the output of RequestSpotFleet.
  51524. type RequestSpotFleetOutput struct {
  51525. _ struct{} `type:"structure"`
  51526. // The ID of the Spot Fleet request.
  51527. //
  51528. // SpotFleetRequestId is a required field
  51529. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  51530. }
  51531. // String returns the string representation
  51532. func (s RequestSpotFleetOutput) String() string {
  51533. return awsutil.Prettify(s)
  51534. }
  51535. // GoString returns the string representation
  51536. func (s RequestSpotFleetOutput) GoString() string {
  51537. return s.String()
  51538. }
  51539. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  51540. func (s *RequestSpotFleetOutput) SetSpotFleetRequestId(v string) *RequestSpotFleetOutput {
  51541. s.SpotFleetRequestId = &v
  51542. return s
  51543. }
  51544. // Contains the parameters for RequestSpotInstances.
  51545. type RequestSpotInstancesInput struct {
  51546. _ struct{} `type:"structure"`
  51547. // The user-specified name for a logical grouping of requests.
  51548. //
  51549. // When you specify an Availability Zone group in a Spot Instance request, all
  51550. // Spot Instances in the request are launched in the same Availability Zone.
  51551. // Instance proximity is maintained with this parameter, but the choice of Availability
  51552. // Zone is not. The group applies only to requests for Spot Instances of the
  51553. // same instance type. Any additional Spot Instance requests that are specified
  51554. // with the same Availability Zone group name are launched in that same Availability
  51555. // Zone, as long as at least one instance from the group is still active.
  51556. //
  51557. // If there is no active instance running in the Availability Zone group that
  51558. // you specify for a new Spot Instance request (all instances are terminated,
  51559. // the request is expired, or the maximum price you specified falls below current
  51560. // Spot price), then Amazon EC2 launches the instance in any Availability Zone
  51561. // where the constraint can be met. Consequently, the subsequent set of Spot
  51562. // Instances could be placed in a different zone from the original request,
  51563. // even if you specified the same Availability Zone group.
  51564. //
  51565. // Default: Instances are launched in any available Availability Zone.
  51566. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  51567. // The required duration for the Spot Instances (also known as Spot blocks),
  51568. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  51569. // or 360).
  51570. //
  51571. // The duration period starts as soon as your Spot Instance receives its instance
  51572. // ID. At the end of the duration period, Amazon EC2 marks the Spot Instance
  51573. // for termination and provides a Spot Instance termination notice, which gives
  51574. // the instance a two-minute warning before it terminates.
  51575. //
  51576. // You can't specify an Availability Zone group or a launch group if you specify
  51577. // a duration.
  51578. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  51579. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  51580. // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  51581. // in the Amazon EC2 User Guide for Linux Instances.
  51582. ClientToken *string `locationName:"clientToken" type:"string"`
  51583. // Checks whether you have the required permissions for the action, without
  51584. // actually making the request, and provides an error response. If you have
  51585. // the required permissions, the error response is DryRunOperation. Otherwise,
  51586. // it is UnauthorizedOperation.
  51587. DryRun *bool `locationName:"dryRun" type:"boolean"`
  51588. // The maximum number of Spot Instances to launch.
  51589. //
  51590. // Default: 1
  51591. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  51592. // The behavior when a Spot Instance is interrupted. The default is terminate.
  51593. InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
  51594. // The instance launch group. Launch groups are Spot Instances that launch together
  51595. // and terminate together.
  51596. //
  51597. // Default: Instances are launched and terminated individually
  51598. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  51599. // The launch specification.
  51600. LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
  51601. // The maximum price per hour that you are willing to pay for a Spot Instance.
  51602. // The default is the On-Demand price.
  51603. SpotPrice *string `locationName:"spotPrice" type:"string"`
  51604. // The Spot Instance request type.
  51605. //
  51606. // Default: one-time
  51607. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  51608. // The start date of the request. If this is a one-time request, the request
  51609. // becomes active at this date and time and remains active until all instances
  51610. // launch, the request expires, or the request is canceled. If the request is
  51611. // persistent, the request becomes active at this date and time and remains
  51612. // active until it expires or is canceled.
  51613. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  51614. // The end date of the request. If this is a one-time request, the request remains
  51615. // active until all instances launch, the request is canceled, or this date
  51616. // is reached. If the request is persistent, it remains active until it is canceled
  51617. // or this date is reached. The default end date is 7 days from the current
  51618. // date.
  51619. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  51620. }
  51621. // String returns the string representation
  51622. func (s RequestSpotInstancesInput) String() string {
  51623. return awsutil.Prettify(s)
  51624. }
  51625. // GoString returns the string representation
  51626. func (s RequestSpotInstancesInput) GoString() string {
  51627. return s.String()
  51628. }
  51629. // Validate inspects the fields of the type to determine if they are valid.
  51630. func (s *RequestSpotInstancesInput) Validate() error {
  51631. invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
  51632. if s.LaunchSpecification != nil {
  51633. if err := s.LaunchSpecification.Validate(); err != nil {
  51634. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  51635. }
  51636. }
  51637. if invalidParams.Len() > 0 {
  51638. return invalidParams
  51639. }
  51640. return nil
  51641. }
  51642. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  51643. func (s *RequestSpotInstancesInput) SetAvailabilityZoneGroup(v string) *RequestSpotInstancesInput {
  51644. s.AvailabilityZoneGroup = &v
  51645. return s
  51646. }
  51647. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  51648. func (s *RequestSpotInstancesInput) SetBlockDurationMinutes(v int64) *RequestSpotInstancesInput {
  51649. s.BlockDurationMinutes = &v
  51650. return s
  51651. }
  51652. // SetClientToken sets the ClientToken field's value.
  51653. func (s *RequestSpotInstancesInput) SetClientToken(v string) *RequestSpotInstancesInput {
  51654. s.ClientToken = &v
  51655. return s
  51656. }
  51657. // SetDryRun sets the DryRun field's value.
  51658. func (s *RequestSpotInstancesInput) SetDryRun(v bool) *RequestSpotInstancesInput {
  51659. s.DryRun = &v
  51660. return s
  51661. }
  51662. // SetInstanceCount sets the InstanceCount field's value.
  51663. func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstancesInput {
  51664. s.InstanceCount = &v
  51665. return s
  51666. }
  51667. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  51668. func (s *RequestSpotInstancesInput) SetInstanceInterruptionBehavior(v string) *RequestSpotInstancesInput {
  51669. s.InstanceInterruptionBehavior = &v
  51670. return s
  51671. }
  51672. // SetLaunchGroup sets the LaunchGroup field's value.
  51673. func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput {
  51674. s.LaunchGroup = &v
  51675. return s
  51676. }
  51677. // SetLaunchSpecification sets the LaunchSpecification field's value.
  51678. func (s *RequestSpotInstancesInput) SetLaunchSpecification(v *RequestSpotLaunchSpecification) *RequestSpotInstancesInput {
  51679. s.LaunchSpecification = v
  51680. return s
  51681. }
  51682. // SetSpotPrice sets the SpotPrice field's value.
  51683. func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstancesInput {
  51684. s.SpotPrice = &v
  51685. return s
  51686. }
  51687. // SetType sets the Type field's value.
  51688. func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
  51689. s.Type = &v
  51690. return s
  51691. }
  51692. // SetValidFrom sets the ValidFrom field's value.
  51693. func (s *RequestSpotInstancesInput) SetValidFrom(v time.Time) *RequestSpotInstancesInput {
  51694. s.ValidFrom = &v
  51695. return s
  51696. }
  51697. // SetValidUntil sets the ValidUntil field's value.
  51698. func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInstancesInput {
  51699. s.ValidUntil = &v
  51700. return s
  51701. }
  51702. // Contains the output of RequestSpotInstances.
  51703. type RequestSpotInstancesOutput struct {
  51704. _ struct{} `type:"structure"`
  51705. // One or more Spot Instance requests.
  51706. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  51707. }
  51708. // String returns the string representation
  51709. func (s RequestSpotInstancesOutput) String() string {
  51710. return awsutil.Prettify(s)
  51711. }
  51712. // GoString returns the string representation
  51713. func (s RequestSpotInstancesOutput) GoString() string {
  51714. return s.String()
  51715. }
  51716. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  51717. func (s *RequestSpotInstancesOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *RequestSpotInstancesOutput {
  51718. s.SpotInstanceRequests = v
  51719. return s
  51720. }
  51721. // Describes the launch specification for an instance.
  51722. type RequestSpotLaunchSpecification struct {
  51723. _ struct{} `type:"structure"`
  51724. // Deprecated.
  51725. AddressingType *string `locationName:"addressingType" type:"string"`
  51726. // One or more block device mapping entries. You can't specify both a snapshot
  51727. // ID and an encryption value. This is because only blank volumes can be encrypted
  51728. // on creation. If a snapshot is the basis for a volume, it is not blank and
  51729. // its encryption status is used for the volume encryption status.
  51730. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  51731. // Indicates whether the instance is optimized for EBS I/O. This optimization
  51732. // provides dedicated throughput to Amazon EBS and an optimized configuration
  51733. // stack to provide optimal EBS I/O performance. This optimization isn't available
  51734. // with all instance types. Additional usage charges apply when using an EBS
  51735. // Optimized instance.
  51736. //
  51737. // Default: false
  51738. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  51739. // The IAM instance profile.
  51740. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  51741. // The ID of the AMI.
  51742. ImageId *string `locationName:"imageId" type:"string"`
  51743. // The instance type.
  51744. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  51745. // The ID of the kernel.
  51746. KernelId *string `locationName:"kernelId" type:"string"`
  51747. // The name of the key pair.
  51748. KeyName *string `locationName:"keyName" type:"string"`
  51749. // Indicates whether basic or detailed monitoring is enabled for the instance.
  51750. //
  51751. // Default: Disabled
  51752. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  51753. // One or more network interfaces. If you specify a network interface, you must
  51754. // specify subnet IDs and security group IDs using the network interface.
  51755. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
  51756. // The placement information for the instance.
  51757. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  51758. // The ID of the RAM disk.
  51759. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  51760. // One or more security group IDs.
  51761. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
  51762. // One or more security groups. When requesting instances in a VPC, you must
  51763. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  51764. // you can specify the names or the IDs of the security groups.
  51765. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
  51766. // The ID of the subnet in which to launch the instance.
  51767. SubnetId *string `locationName:"subnetId" type:"string"`
  51768. // The Base64-encoded user data for the instance.
  51769. UserData *string `locationName:"userData" type:"string"`
  51770. }
  51771. // String returns the string representation
  51772. func (s RequestSpotLaunchSpecification) String() string {
  51773. return awsutil.Prettify(s)
  51774. }
  51775. // GoString returns the string representation
  51776. func (s RequestSpotLaunchSpecification) GoString() string {
  51777. return s.String()
  51778. }
  51779. // Validate inspects the fields of the type to determine if they are valid.
  51780. func (s *RequestSpotLaunchSpecification) Validate() error {
  51781. invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
  51782. if s.Monitoring != nil {
  51783. if err := s.Monitoring.Validate(); err != nil {
  51784. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  51785. }
  51786. }
  51787. if s.NetworkInterfaces != nil {
  51788. for i, v := range s.NetworkInterfaces {
  51789. if v == nil {
  51790. continue
  51791. }
  51792. if err := v.Validate(); err != nil {
  51793. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  51794. }
  51795. }
  51796. }
  51797. if invalidParams.Len() > 0 {
  51798. return invalidParams
  51799. }
  51800. return nil
  51801. }
  51802. // SetAddressingType sets the AddressingType field's value.
  51803. func (s *RequestSpotLaunchSpecification) SetAddressingType(v string) *RequestSpotLaunchSpecification {
  51804. s.AddressingType = &v
  51805. return s
  51806. }
  51807. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  51808. func (s *RequestSpotLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RequestSpotLaunchSpecification {
  51809. s.BlockDeviceMappings = v
  51810. return s
  51811. }
  51812. // SetEbsOptimized sets the EbsOptimized field's value.
  51813. func (s *RequestSpotLaunchSpecification) SetEbsOptimized(v bool) *RequestSpotLaunchSpecification {
  51814. s.EbsOptimized = &v
  51815. return s
  51816. }
  51817. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  51818. func (s *RequestSpotLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RequestSpotLaunchSpecification {
  51819. s.IamInstanceProfile = v
  51820. return s
  51821. }
  51822. // SetImageId sets the ImageId field's value.
  51823. func (s *RequestSpotLaunchSpecification) SetImageId(v string) *RequestSpotLaunchSpecification {
  51824. s.ImageId = &v
  51825. return s
  51826. }
  51827. // SetInstanceType sets the InstanceType field's value.
  51828. func (s *RequestSpotLaunchSpecification) SetInstanceType(v string) *RequestSpotLaunchSpecification {
  51829. s.InstanceType = &v
  51830. return s
  51831. }
  51832. // SetKernelId sets the KernelId field's value.
  51833. func (s *RequestSpotLaunchSpecification) SetKernelId(v string) *RequestSpotLaunchSpecification {
  51834. s.KernelId = &v
  51835. return s
  51836. }
  51837. // SetKeyName sets the KeyName field's value.
  51838. func (s *RequestSpotLaunchSpecification) SetKeyName(v string) *RequestSpotLaunchSpecification {
  51839. s.KeyName = &v
  51840. return s
  51841. }
  51842. // SetMonitoring sets the Monitoring field's value.
  51843. func (s *RequestSpotLaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *RequestSpotLaunchSpecification {
  51844. s.Monitoring = v
  51845. return s
  51846. }
  51847. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  51848. func (s *RequestSpotLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RequestSpotLaunchSpecification {
  51849. s.NetworkInterfaces = v
  51850. return s
  51851. }
  51852. // SetPlacement sets the Placement field's value.
  51853. func (s *RequestSpotLaunchSpecification) SetPlacement(v *SpotPlacement) *RequestSpotLaunchSpecification {
  51854. s.Placement = v
  51855. return s
  51856. }
  51857. // SetRamdiskId sets the RamdiskId field's value.
  51858. func (s *RequestSpotLaunchSpecification) SetRamdiskId(v string) *RequestSpotLaunchSpecification {
  51859. s.RamdiskId = &v
  51860. return s
  51861. }
  51862. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  51863. func (s *RequestSpotLaunchSpecification) SetSecurityGroupIds(v []*string) *RequestSpotLaunchSpecification {
  51864. s.SecurityGroupIds = v
  51865. return s
  51866. }
  51867. // SetSecurityGroups sets the SecurityGroups field's value.
  51868. func (s *RequestSpotLaunchSpecification) SetSecurityGroups(v []*string) *RequestSpotLaunchSpecification {
  51869. s.SecurityGroups = v
  51870. return s
  51871. }
  51872. // SetSubnetId sets the SubnetId field's value.
  51873. func (s *RequestSpotLaunchSpecification) SetSubnetId(v string) *RequestSpotLaunchSpecification {
  51874. s.SubnetId = &v
  51875. return s
  51876. }
  51877. // SetUserData sets the UserData field's value.
  51878. func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunchSpecification {
  51879. s.UserData = &v
  51880. return s
  51881. }
  51882. // Describes a reservation.
  51883. type Reservation struct {
  51884. _ struct{} `type:"structure"`
  51885. // [EC2-Classic only] One or more security groups.
  51886. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  51887. // One or more instances.
  51888. Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  51889. // The ID of the AWS account that owns the reservation.
  51890. OwnerId *string `locationName:"ownerId" type:"string"`
  51891. // The ID of the requester that launched the instances on your behalf (for example,
  51892. // AWS Management Console or Auto Scaling).
  51893. RequesterId *string `locationName:"requesterId" type:"string"`
  51894. // The ID of the reservation.
  51895. ReservationId *string `locationName:"reservationId" type:"string"`
  51896. }
  51897. // String returns the string representation
  51898. func (s Reservation) String() string {
  51899. return awsutil.Prettify(s)
  51900. }
  51901. // GoString returns the string representation
  51902. func (s Reservation) GoString() string {
  51903. return s.String()
  51904. }
  51905. // SetGroups sets the Groups field's value.
  51906. func (s *Reservation) SetGroups(v []*GroupIdentifier) *Reservation {
  51907. s.Groups = v
  51908. return s
  51909. }
  51910. // SetInstances sets the Instances field's value.
  51911. func (s *Reservation) SetInstances(v []*Instance) *Reservation {
  51912. s.Instances = v
  51913. return s
  51914. }
  51915. // SetOwnerId sets the OwnerId field's value.
  51916. func (s *Reservation) SetOwnerId(v string) *Reservation {
  51917. s.OwnerId = &v
  51918. return s
  51919. }
  51920. // SetRequesterId sets the RequesterId field's value.
  51921. func (s *Reservation) SetRequesterId(v string) *Reservation {
  51922. s.RequesterId = &v
  51923. return s
  51924. }
  51925. // SetReservationId sets the ReservationId field's value.
  51926. func (s *Reservation) SetReservationId(v string) *Reservation {
  51927. s.ReservationId = &v
  51928. return s
  51929. }
  51930. // The cost associated with the Reserved Instance.
  51931. type ReservationValue struct {
  51932. _ struct{} `type:"structure"`
  51933. // The hourly rate of the reservation.
  51934. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  51935. // The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
  51936. // * number of hours remaining).
  51937. RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
  51938. // The remaining upfront cost of the reservation.
  51939. RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
  51940. }
  51941. // String returns the string representation
  51942. func (s ReservationValue) String() string {
  51943. return awsutil.Prettify(s)
  51944. }
  51945. // GoString returns the string representation
  51946. func (s ReservationValue) GoString() string {
  51947. return s.String()
  51948. }
  51949. // SetHourlyPrice sets the HourlyPrice field's value.
  51950. func (s *ReservationValue) SetHourlyPrice(v string) *ReservationValue {
  51951. s.HourlyPrice = &v
  51952. return s
  51953. }
  51954. // SetRemainingTotalValue sets the RemainingTotalValue field's value.
  51955. func (s *ReservationValue) SetRemainingTotalValue(v string) *ReservationValue {
  51956. s.RemainingTotalValue = &v
  51957. return s
  51958. }
  51959. // SetRemainingUpfrontValue sets the RemainingUpfrontValue field's value.
  51960. func (s *ReservationValue) SetRemainingUpfrontValue(v string) *ReservationValue {
  51961. s.RemainingUpfrontValue = &v
  51962. return s
  51963. }
  51964. // Describes the limit price of a Reserved Instance offering.
  51965. type ReservedInstanceLimitPrice struct {
  51966. _ struct{} `type:"structure"`
  51967. // Used for Reserved Instance Marketplace offerings. Specifies the limit price
  51968. // on the total order (instanceCount * price).
  51969. Amount *float64 `locationName:"amount" type:"double"`
  51970. // The currency in which the limitPrice amount is specified. At this time, the
  51971. // only supported currency is USD.
  51972. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  51973. }
  51974. // String returns the string representation
  51975. func (s ReservedInstanceLimitPrice) String() string {
  51976. return awsutil.Prettify(s)
  51977. }
  51978. // GoString returns the string representation
  51979. func (s ReservedInstanceLimitPrice) GoString() string {
  51980. return s.String()
  51981. }
  51982. // SetAmount sets the Amount field's value.
  51983. func (s *ReservedInstanceLimitPrice) SetAmount(v float64) *ReservedInstanceLimitPrice {
  51984. s.Amount = &v
  51985. return s
  51986. }
  51987. // SetCurrencyCode sets the CurrencyCode field's value.
  51988. func (s *ReservedInstanceLimitPrice) SetCurrencyCode(v string) *ReservedInstanceLimitPrice {
  51989. s.CurrencyCode = &v
  51990. return s
  51991. }
  51992. // The total value of the Convertible Reserved Instance.
  51993. type ReservedInstanceReservationValue struct {
  51994. _ struct{} `type:"structure"`
  51995. // The total value of the Convertible Reserved Instance that you are exchanging.
  51996. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  51997. // The ID of the Convertible Reserved Instance that you are exchanging.
  51998. ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
  51999. }
  52000. // String returns the string representation
  52001. func (s ReservedInstanceReservationValue) String() string {
  52002. return awsutil.Prettify(s)
  52003. }
  52004. // GoString returns the string representation
  52005. func (s ReservedInstanceReservationValue) GoString() string {
  52006. return s.String()
  52007. }
  52008. // SetReservationValue sets the ReservationValue field's value.
  52009. func (s *ReservedInstanceReservationValue) SetReservationValue(v *ReservationValue) *ReservedInstanceReservationValue {
  52010. s.ReservationValue = v
  52011. return s
  52012. }
  52013. // SetReservedInstanceId sets the ReservedInstanceId field's value.
  52014. func (s *ReservedInstanceReservationValue) SetReservedInstanceId(v string) *ReservedInstanceReservationValue {
  52015. s.ReservedInstanceId = &v
  52016. return s
  52017. }
  52018. // Describes a Reserved Instance.
  52019. type ReservedInstances struct {
  52020. _ struct{} `type:"structure"`
  52021. // The Availability Zone in which the Reserved Instance can be used.
  52022. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  52023. // The currency of the Reserved Instance. It's specified using ISO 4217 standard
  52024. // currency codes. At this time, the only supported currency is USD.
  52025. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  52026. // The duration of the Reserved Instance, in seconds.
  52027. Duration *int64 `locationName:"duration" type:"long"`
  52028. // The time when the Reserved Instance expires.
  52029. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  52030. // The purchase price of the Reserved Instance.
  52031. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  52032. // The number of reservations purchased.
  52033. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  52034. // The tenancy of the instance.
  52035. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  52036. // The instance type on which the Reserved Instance can be used.
  52037. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  52038. // The offering class of the Reserved Instance.
  52039. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  52040. // The Reserved Instance offering type.
  52041. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  52042. // The Reserved Instance product platform description.
  52043. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  52044. // The recurring charge tag assigned to the resource.
  52045. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  52046. // The ID of the Reserved Instance.
  52047. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  52048. // The scope of the Reserved Instance.
  52049. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  52050. // The date and time the Reserved Instance started.
  52051. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  52052. // The state of the Reserved Instance purchase.
  52053. State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
  52054. // Any tags assigned to the resource.
  52055. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  52056. // The usage price of the Reserved Instance, per hour.
  52057. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  52058. }
  52059. // String returns the string representation
  52060. func (s ReservedInstances) String() string {
  52061. return awsutil.Prettify(s)
  52062. }
  52063. // GoString returns the string representation
  52064. func (s ReservedInstances) GoString() string {
  52065. return s.String()
  52066. }
  52067. // SetAvailabilityZone sets the AvailabilityZone field's value.
  52068. func (s *ReservedInstances) SetAvailabilityZone(v string) *ReservedInstances {
  52069. s.AvailabilityZone = &v
  52070. return s
  52071. }
  52072. // SetCurrencyCode sets the CurrencyCode field's value.
  52073. func (s *ReservedInstances) SetCurrencyCode(v string) *ReservedInstances {
  52074. s.CurrencyCode = &v
  52075. return s
  52076. }
  52077. // SetDuration sets the Duration field's value.
  52078. func (s *ReservedInstances) SetDuration(v int64) *ReservedInstances {
  52079. s.Duration = &v
  52080. return s
  52081. }
  52082. // SetEnd sets the End field's value.
  52083. func (s *ReservedInstances) SetEnd(v time.Time) *ReservedInstances {
  52084. s.End = &v
  52085. return s
  52086. }
  52087. // SetFixedPrice sets the FixedPrice field's value.
  52088. func (s *ReservedInstances) SetFixedPrice(v float64) *ReservedInstances {
  52089. s.FixedPrice = &v
  52090. return s
  52091. }
  52092. // SetInstanceCount sets the InstanceCount field's value.
  52093. func (s *ReservedInstances) SetInstanceCount(v int64) *ReservedInstances {
  52094. s.InstanceCount = &v
  52095. return s
  52096. }
  52097. // SetInstanceTenancy sets the InstanceTenancy field's value.
  52098. func (s *ReservedInstances) SetInstanceTenancy(v string) *ReservedInstances {
  52099. s.InstanceTenancy = &v
  52100. return s
  52101. }
  52102. // SetInstanceType sets the InstanceType field's value.
  52103. func (s *ReservedInstances) SetInstanceType(v string) *ReservedInstances {
  52104. s.InstanceType = &v
  52105. return s
  52106. }
  52107. // SetOfferingClass sets the OfferingClass field's value.
  52108. func (s *ReservedInstances) SetOfferingClass(v string) *ReservedInstances {
  52109. s.OfferingClass = &v
  52110. return s
  52111. }
  52112. // SetOfferingType sets the OfferingType field's value.
  52113. func (s *ReservedInstances) SetOfferingType(v string) *ReservedInstances {
  52114. s.OfferingType = &v
  52115. return s
  52116. }
  52117. // SetProductDescription sets the ProductDescription field's value.
  52118. func (s *ReservedInstances) SetProductDescription(v string) *ReservedInstances {
  52119. s.ProductDescription = &v
  52120. return s
  52121. }
  52122. // SetRecurringCharges sets the RecurringCharges field's value.
  52123. func (s *ReservedInstances) SetRecurringCharges(v []*RecurringCharge) *ReservedInstances {
  52124. s.RecurringCharges = v
  52125. return s
  52126. }
  52127. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  52128. func (s *ReservedInstances) SetReservedInstancesId(v string) *ReservedInstances {
  52129. s.ReservedInstancesId = &v
  52130. return s
  52131. }
  52132. // SetScope sets the Scope field's value.
  52133. func (s *ReservedInstances) SetScope(v string) *ReservedInstances {
  52134. s.Scope = &v
  52135. return s
  52136. }
  52137. // SetStart sets the Start field's value.
  52138. func (s *ReservedInstances) SetStart(v time.Time) *ReservedInstances {
  52139. s.Start = &v
  52140. return s
  52141. }
  52142. // SetState sets the State field's value.
  52143. func (s *ReservedInstances) SetState(v string) *ReservedInstances {
  52144. s.State = &v
  52145. return s
  52146. }
  52147. // SetTags sets the Tags field's value.
  52148. func (s *ReservedInstances) SetTags(v []*Tag) *ReservedInstances {
  52149. s.Tags = v
  52150. return s
  52151. }
  52152. // SetUsagePrice sets the UsagePrice field's value.
  52153. func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
  52154. s.UsagePrice = &v
  52155. return s
  52156. }
  52157. // Describes the configuration settings for the modified Reserved Instances.
  52158. type ReservedInstancesConfiguration struct {
  52159. _ struct{} `type:"structure"`
  52160. // The Availability Zone for the modified Reserved Instances.
  52161. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  52162. // The number of modified Reserved Instances.
  52163. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  52164. // The instance type for the modified Reserved Instances.
  52165. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  52166. // The network platform of the modified Reserved Instances, which is either
  52167. // EC2-Classic or EC2-VPC.
  52168. Platform *string `locationName:"platform" type:"string"`
  52169. // Whether the Reserved Instance is applied to instances in a region or instances
  52170. // in a specific Availability Zone.
  52171. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  52172. }
  52173. // String returns the string representation
  52174. func (s ReservedInstancesConfiguration) String() string {
  52175. return awsutil.Prettify(s)
  52176. }
  52177. // GoString returns the string representation
  52178. func (s ReservedInstancesConfiguration) GoString() string {
  52179. return s.String()
  52180. }
  52181. // SetAvailabilityZone sets the AvailabilityZone field's value.
  52182. func (s *ReservedInstancesConfiguration) SetAvailabilityZone(v string) *ReservedInstancesConfiguration {
  52183. s.AvailabilityZone = &v
  52184. return s
  52185. }
  52186. // SetInstanceCount sets the InstanceCount field's value.
  52187. func (s *ReservedInstancesConfiguration) SetInstanceCount(v int64) *ReservedInstancesConfiguration {
  52188. s.InstanceCount = &v
  52189. return s
  52190. }
  52191. // SetInstanceType sets the InstanceType field's value.
  52192. func (s *ReservedInstancesConfiguration) SetInstanceType(v string) *ReservedInstancesConfiguration {
  52193. s.InstanceType = &v
  52194. return s
  52195. }
  52196. // SetPlatform sets the Platform field's value.
  52197. func (s *ReservedInstancesConfiguration) SetPlatform(v string) *ReservedInstancesConfiguration {
  52198. s.Platform = &v
  52199. return s
  52200. }
  52201. // SetScope sets the Scope field's value.
  52202. func (s *ReservedInstancesConfiguration) SetScope(v string) *ReservedInstancesConfiguration {
  52203. s.Scope = &v
  52204. return s
  52205. }
  52206. // Describes the ID of a Reserved Instance.
  52207. type ReservedInstancesId struct {
  52208. _ struct{} `type:"structure"`
  52209. // The ID of the Reserved Instance.
  52210. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  52211. }
  52212. // String returns the string representation
  52213. func (s ReservedInstancesId) String() string {
  52214. return awsutil.Prettify(s)
  52215. }
  52216. // GoString returns the string representation
  52217. func (s ReservedInstancesId) GoString() string {
  52218. return s.String()
  52219. }
  52220. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  52221. func (s *ReservedInstancesId) SetReservedInstancesId(v string) *ReservedInstancesId {
  52222. s.ReservedInstancesId = &v
  52223. return s
  52224. }
  52225. // Describes a Reserved Instance listing.
  52226. type ReservedInstancesListing struct {
  52227. _ struct{} `type:"structure"`
  52228. // A unique, case-sensitive key supplied by the client to ensure that the request
  52229. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  52230. ClientToken *string `locationName:"clientToken" type:"string"`
  52231. // The time the listing was created.
  52232. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  52233. // The number of instances in this state.
  52234. InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
  52235. // The price of the Reserved Instance listing.
  52236. PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
  52237. // The ID of the Reserved Instance.
  52238. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  52239. // The ID of the Reserved Instance listing.
  52240. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  52241. // The status of the Reserved Instance listing.
  52242. Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
  52243. // The reason for the current status of the Reserved Instance listing. The response
  52244. // can be blank.
  52245. StatusMessage *string `locationName:"statusMessage" type:"string"`
  52246. // Any tags assigned to the resource.
  52247. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  52248. // The last modified timestamp of the listing.
  52249. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  52250. }
  52251. // String returns the string representation
  52252. func (s ReservedInstancesListing) String() string {
  52253. return awsutil.Prettify(s)
  52254. }
  52255. // GoString returns the string representation
  52256. func (s ReservedInstancesListing) GoString() string {
  52257. return s.String()
  52258. }
  52259. // SetClientToken sets the ClientToken field's value.
  52260. func (s *ReservedInstancesListing) SetClientToken(v string) *ReservedInstancesListing {
  52261. s.ClientToken = &v
  52262. return s
  52263. }
  52264. // SetCreateDate sets the CreateDate field's value.
  52265. func (s *ReservedInstancesListing) SetCreateDate(v time.Time) *ReservedInstancesListing {
  52266. s.CreateDate = &v
  52267. return s
  52268. }
  52269. // SetInstanceCounts sets the InstanceCounts field's value.
  52270. func (s *ReservedInstancesListing) SetInstanceCounts(v []*InstanceCount) *ReservedInstancesListing {
  52271. s.InstanceCounts = v
  52272. return s
  52273. }
  52274. // SetPriceSchedules sets the PriceSchedules field's value.
  52275. func (s *ReservedInstancesListing) SetPriceSchedules(v []*PriceSchedule) *ReservedInstancesListing {
  52276. s.PriceSchedules = v
  52277. return s
  52278. }
  52279. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  52280. func (s *ReservedInstancesListing) SetReservedInstancesId(v string) *ReservedInstancesListing {
  52281. s.ReservedInstancesId = &v
  52282. return s
  52283. }
  52284. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  52285. func (s *ReservedInstancesListing) SetReservedInstancesListingId(v string) *ReservedInstancesListing {
  52286. s.ReservedInstancesListingId = &v
  52287. return s
  52288. }
  52289. // SetStatus sets the Status field's value.
  52290. func (s *ReservedInstancesListing) SetStatus(v string) *ReservedInstancesListing {
  52291. s.Status = &v
  52292. return s
  52293. }
  52294. // SetStatusMessage sets the StatusMessage field's value.
  52295. func (s *ReservedInstancesListing) SetStatusMessage(v string) *ReservedInstancesListing {
  52296. s.StatusMessage = &v
  52297. return s
  52298. }
  52299. // SetTags sets the Tags field's value.
  52300. func (s *ReservedInstancesListing) SetTags(v []*Tag) *ReservedInstancesListing {
  52301. s.Tags = v
  52302. return s
  52303. }
  52304. // SetUpdateDate sets the UpdateDate field's value.
  52305. func (s *ReservedInstancesListing) SetUpdateDate(v time.Time) *ReservedInstancesListing {
  52306. s.UpdateDate = &v
  52307. return s
  52308. }
  52309. // Describes a Reserved Instance modification.
  52310. type ReservedInstancesModification struct {
  52311. _ struct{} `type:"structure"`
  52312. // A unique, case-sensitive key supplied by the client to ensure that the request
  52313. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  52314. ClientToken *string `locationName:"clientToken" type:"string"`
  52315. // The time when the modification request was created.
  52316. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  52317. // The time for the modification to become effective.
  52318. EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp" timestampFormat:"iso8601"`
  52319. // Contains target configurations along with their corresponding new Reserved
  52320. // Instance IDs.
  52321. ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
  52322. // The IDs of one or more Reserved Instances.
  52323. ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  52324. // A unique ID for the Reserved Instance modification.
  52325. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  52326. // The status of the Reserved Instances modification request.
  52327. Status *string `locationName:"status" type:"string"`
  52328. // The reason for the status.
  52329. StatusMessage *string `locationName:"statusMessage" type:"string"`
  52330. // The time when the modification request was last updated.
  52331. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  52332. }
  52333. // String returns the string representation
  52334. func (s ReservedInstancesModification) String() string {
  52335. return awsutil.Prettify(s)
  52336. }
  52337. // GoString returns the string representation
  52338. func (s ReservedInstancesModification) GoString() string {
  52339. return s.String()
  52340. }
  52341. // SetClientToken sets the ClientToken field's value.
  52342. func (s *ReservedInstancesModification) SetClientToken(v string) *ReservedInstancesModification {
  52343. s.ClientToken = &v
  52344. return s
  52345. }
  52346. // SetCreateDate sets the CreateDate field's value.
  52347. func (s *ReservedInstancesModification) SetCreateDate(v time.Time) *ReservedInstancesModification {
  52348. s.CreateDate = &v
  52349. return s
  52350. }
  52351. // SetEffectiveDate sets the EffectiveDate field's value.
  52352. func (s *ReservedInstancesModification) SetEffectiveDate(v time.Time) *ReservedInstancesModification {
  52353. s.EffectiveDate = &v
  52354. return s
  52355. }
  52356. // SetModificationResults sets the ModificationResults field's value.
  52357. func (s *ReservedInstancesModification) SetModificationResults(v []*ReservedInstancesModificationResult) *ReservedInstancesModification {
  52358. s.ModificationResults = v
  52359. return s
  52360. }
  52361. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  52362. func (s *ReservedInstancesModification) SetReservedInstancesIds(v []*ReservedInstancesId) *ReservedInstancesModification {
  52363. s.ReservedInstancesIds = v
  52364. return s
  52365. }
  52366. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  52367. func (s *ReservedInstancesModification) SetReservedInstancesModificationId(v string) *ReservedInstancesModification {
  52368. s.ReservedInstancesModificationId = &v
  52369. return s
  52370. }
  52371. // SetStatus sets the Status field's value.
  52372. func (s *ReservedInstancesModification) SetStatus(v string) *ReservedInstancesModification {
  52373. s.Status = &v
  52374. return s
  52375. }
  52376. // SetStatusMessage sets the StatusMessage field's value.
  52377. func (s *ReservedInstancesModification) SetStatusMessage(v string) *ReservedInstancesModification {
  52378. s.StatusMessage = &v
  52379. return s
  52380. }
  52381. // SetUpdateDate sets the UpdateDate field's value.
  52382. func (s *ReservedInstancesModification) SetUpdateDate(v time.Time) *ReservedInstancesModification {
  52383. s.UpdateDate = &v
  52384. return s
  52385. }
  52386. // Describes the modification request/s.
  52387. type ReservedInstancesModificationResult struct {
  52388. _ struct{} `type:"structure"`
  52389. // The ID for the Reserved Instances that were created as part of the modification
  52390. // request. This field is only available when the modification is fulfilled.
  52391. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  52392. // The target Reserved Instances configurations supplied as part of the modification
  52393. // request.
  52394. TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
  52395. }
  52396. // String returns the string representation
  52397. func (s ReservedInstancesModificationResult) String() string {
  52398. return awsutil.Prettify(s)
  52399. }
  52400. // GoString returns the string representation
  52401. func (s ReservedInstancesModificationResult) GoString() string {
  52402. return s.String()
  52403. }
  52404. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  52405. func (s *ReservedInstancesModificationResult) SetReservedInstancesId(v string) *ReservedInstancesModificationResult {
  52406. s.ReservedInstancesId = &v
  52407. return s
  52408. }
  52409. // SetTargetConfiguration sets the TargetConfiguration field's value.
  52410. func (s *ReservedInstancesModificationResult) SetTargetConfiguration(v *ReservedInstancesConfiguration) *ReservedInstancesModificationResult {
  52411. s.TargetConfiguration = v
  52412. return s
  52413. }
  52414. // Describes a Reserved Instance offering.
  52415. type ReservedInstancesOffering struct {
  52416. _ struct{} `type:"structure"`
  52417. // The Availability Zone in which the Reserved Instance can be used.
  52418. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  52419. // The currency of the Reserved Instance offering you are purchasing. It's specified
  52420. // using ISO 4217 standard currency codes. At this time, the only supported
  52421. // currency is USD.
  52422. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  52423. // The duration of the Reserved Instance, in seconds.
  52424. Duration *int64 `locationName:"duration" type:"long"`
  52425. // The purchase price of the Reserved Instance.
  52426. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  52427. // The tenancy of the instance.
  52428. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  52429. // The instance type on which the Reserved Instance can be used.
  52430. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  52431. // Indicates whether the offering is available through the Reserved Instance
  52432. // Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
  52433. // this is true.
  52434. Marketplace *bool `locationName:"marketplace" type:"boolean"`
  52435. // If convertible it can be exchanged for Reserved Instances of the same or
  52436. // higher monetary value, with different configurations. If standard, it is
  52437. // not possible to perform an exchange.
  52438. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  52439. // The Reserved Instance offering type.
  52440. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  52441. // The pricing details of the Reserved Instance offering.
  52442. PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
  52443. // The Reserved Instance product platform description.
  52444. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  52445. // The recurring charge tag assigned to the resource.
  52446. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  52447. // The ID of the Reserved Instance offering. This is the offering ID used in
  52448. // GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
  52449. ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
  52450. // Whether the Reserved Instance is applied to instances in a region or an Availability
  52451. // Zone.
  52452. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  52453. // The usage price of the Reserved Instance, per hour.
  52454. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  52455. }
  52456. // String returns the string representation
  52457. func (s ReservedInstancesOffering) String() string {
  52458. return awsutil.Prettify(s)
  52459. }
  52460. // GoString returns the string representation
  52461. func (s ReservedInstancesOffering) GoString() string {
  52462. return s.String()
  52463. }
  52464. // SetAvailabilityZone sets the AvailabilityZone field's value.
  52465. func (s *ReservedInstancesOffering) SetAvailabilityZone(v string) *ReservedInstancesOffering {
  52466. s.AvailabilityZone = &v
  52467. return s
  52468. }
  52469. // SetCurrencyCode sets the CurrencyCode field's value.
  52470. func (s *ReservedInstancesOffering) SetCurrencyCode(v string) *ReservedInstancesOffering {
  52471. s.CurrencyCode = &v
  52472. return s
  52473. }
  52474. // SetDuration sets the Duration field's value.
  52475. func (s *ReservedInstancesOffering) SetDuration(v int64) *ReservedInstancesOffering {
  52476. s.Duration = &v
  52477. return s
  52478. }
  52479. // SetFixedPrice sets the FixedPrice field's value.
  52480. func (s *ReservedInstancesOffering) SetFixedPrice(v float64) *ReservedInstancesOffering {
  52481. s.FixedPrice = &v
  52482. return s
  52483. }
  52484. // SetInstanceTenancy sets the InstanceTenancy field's value.
  52485. func (s *ReservedInstancesOffering) SetInstanceTenancy(v string) *ReservedInstancesOffering {
  52486. s.InstanceTenancy = &v
  52487. return s
  52488. }
  52489. // SetInstanceType sets the InstanceType field's value.
  52490. func (s *ReservedInstancesOffering) SetInstanceType(v string) *ReservedInstancesOffering {
  52491. s.InstanceType = &v
  52492. return s
  52493. }
  52494. // SetMarketplace sets the Marketplace field's value.
  52495. func (s *ReservedInstancesOffering) SetMarketplace(v bool) *ReservedInstancesOffering {
  52496. s.Marketplace = &v
  52497. return s
  52498. }
  52499. // SetOfferingClass sets the OfferingClass field's value.
  52500. func (s *ReservedInstancesOffering) SetOfferingClass(v string) *ReservedInstancesOffering {
  52501. s.OfferingClass = &v
  52502. return s
  52503. }
  52504. // SetOfferingType sets the OfferingType field's value.
  52505. func (s *ReservedInstancesOffering) SetOfferingType(v string) *ReservedInstancesOffering {
  52506. s.OfferingType = &v
  52507. return s
  52508. }
  52509. // SetPricingDetails sets the PricingDetails field's value.
  52510. func (s *ReservedInstancesOffering) SetPricingDetails(v []*PricingDetail) *ReservedInstancesOffering {
  52511. s.PricingDetails = v
  52512. return s
  52513. }
  52514. // SetProductDescription sets the ProductDescription field's value.
  52515. func (s *ReservedInstancesOffering) SetProductDescription(v string) *ReservedInstancesOffering {
  52516. s.ProductDescription = &v
  52517. return s
  52518. }
  52519. // SetRecurringCharges sets the RecurringCharges field's value.
  52520. func (s *ReservedInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstancesOffering {
  52521. s.RecurringCharges = v
  52522. return s
  52523. }
  52524. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  52525. func (s *ReservedInstancesOffering) SetReservedInstancesOfferingId(v string) *ReservedInstancesOffering {
  52526. s.ReservedInstancesOfferingId = &v
  52527. return s
  52528. }
  52529. // SetScope sets the Scope field's value.
  52530. func (s *ReservedInstancesOffering) SetScope(v string) *ReservedInstancesOffering {
  52531. s.Scope = &v
  52532. return s
  52533. }
  52534. // SetUsagePrice sets the UsagePrice field's value.
  52535. func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesOffering {
  52536. s.UsagePrice = &v
  52537. return s
  52538. }
  52539. type ResetFpgaImageAttributeInput struct {
  52540. _ struct{} `type:"structure"`
  52541. // The attribute.
  52542. Attribute *string `type:"string" enum:"ResetFpgaImageAttributeName"`
  52543. // Checks whether you have the required permissions for the action, without
  52544. // actually making the request, and provides an error response. If you have
  52545. // the required permissions, the error response is DryRunOperation. Otherwise,
  52546. // it is UnauthorizedOperation.
  52547. DryRun *bool `type:"boolean"`
  52548. // The ID of the AFI.
  52549. //
  52550. // FpgaImageId is a required field
  52551. FpgaImageId *string `type:"string" required:"true"`
  52552. }
  52553. // String returns the string representation
  52554. func (s ResetFpgaImageAttributeInput) String() string {
  52555. return awsutil.Prettify(s)
  52556. }
  52557. // GoString returns the string representation
  52558. func (s ResetFpgaImageAttributeInput) GoString() string {
  52559. return s.String()
  52560. }
  52561. // Validate inspects the fields of the type to determine if they are valid.
  52562. func (s *ResetFpgaImageAttributeInput) Validate() error {
  52563. invalidParams := request.ErrInvalidParams{Context: "ResetFpgaImageAttributeInput"}
  52564. if s.FpgaImageId == nil {
  52565. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  52566. }
  52567. if invalidParams.Len() > 0 {
  52568. return invalidParams
  52569. }
  52570. return nil
  52571. }
  52572. // SetAttribute sets the Attribute field's value.
  52573. func (s *ResetFpgaImageAttributeInput) SetAttribute(v string) *ResetFpgaImageAttributeInput {
  52574. s.Attribute = &v
  52575. return s
  52576. }
  52577. // SetDryRun sets the DryRun field's value.
  52578. func (s *ResetFpgaImageAttributeInput) SetDryRun(v bool) *ResetFpgaImageAttributeInput {
  52579. s.DryRun = &v
  52580. return s
  52581. }
  52582. // SetFpgaImageId sets the FpgaImageId field's value.
  52583. func (s *ResetFpgaImageAttributeInput) SetFpgaImageId(v string) *ResetFpgaImageAttributeInput {
  52584. s.FpgaImageId = &v
  52585. return s
  52586. }
  52587. type ResetFpgaImageAttributeOutput struct {
  52588. _ struct{} `type:"structure"`
  52589. // Is true if the request succeeds, and an error otherwise.
  52590. Return *bool `locationName:"return" type:"boolean"`
  52591. }
  52592. // String returns the string representation
  52593. func (s ResetFpgaImageAttributeOutput) String() string {
  52594. return awsutil.Prettify(s)
  52595. }
  52596. // GoString returns the string representation
  52597. func (s ResetFpgaImageAttributeOutput) GoString() string {
  52598. return s.String()
  52599. }
  52600. // SetReturn sets the Return field's value.
  52601. func (s *ResetFpgaImageAttributeOutput) SetReturn(v bool) *ResetFpgaImageAttributeOutput {
  52602. s.Return = &v
  52603. return s
  52604. }
  52605. // Contains the parameters for ResetImageAttribute.
  52606. type ResetImageAttributeInput struct {
  52607. _ struct{} `type:"structure"`
  52608. // The attribute to reset (currently you can only reset the launch permission
  52609. // attribute).
  52610. //
  52611. // Attribute is a required field
  52612. Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
  52613. // Checks whether you have the required permissions for the action, without
  52614. // actually making the request, and provides an error response. If you have
  52615. // the required permissions, the error response is DryRunOperation. Otherwise,
  52616. // it is UnauthorizedOperation.
  52617. DryRun *bool `locationName:"dryRun" type:"boolean"`
  52618. // The ID of the AMI.
  52619. //
  52620. // ImageId is a required field
  52621. ImageId *string `type:"string" required:"true"`
  52622. }
  52623. // String returns the string representation
  52624. func (s ResetImageAttributeInput) String() string {
  52625. return awsutil.Prettify(s)
  52626. }
  52627. // GoString returns the string representation
  52628. func (s ResetImageAttributeInput) GoString() string {
  52629. return s.String()
  52630. }
  52631. // Validate inspects the fields of the type to determine if they are valid.
  52632. func (s *ResetImageAttributeInput) Validate() error {
  52633. invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
  52634. if s.Attribute == nil {
  52635. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  52636. }
  52637. if s.ImageId == nil {
  52638. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  52639. }
  52640. if invalidParams.Len() > 0 {
  52641. return invalidParams
  52642. }
  52643. return nil
  52644. }
  52645. // SetAttribute sets the Attribute field's value.
  52646. func (s *ResetImageAttributeInput) SetAttribute(v string) *ResetImageAttributeInput {
  52647. s.Attribute = &v
  52648. return s
  52649. }
  52650. // SetDryRun sets the DryRun field's value.
  52651. func (s *ResetImageAttributeInput) SetDryRun(v bool) *ResetImageAttributeInput {
  52652. s.DryRun = &v
  52653. return s
  52654. }
  52655. // SetImageId sets the ImageId field's value.
  52656. func (s *ResetImageAttributeInput) SetImageId(v string) *ResetImageAttributeInput {
  52657. s.ImageId = &v
  52658. return s
  52659. }
  52660. type ResetImageAttributeOutput struct {
  52661. _ struct{} `type:"structure"`
  52662. }
  52663. // String returns the string representation
  52664. func (s ResetImageAttributeOutput) String() string {
  52665. return awsutil.Prettify(s)
  52666. }
  52667. // GoString returns the string representation
  52668. func (s ResetImageAttributeOutput) GoString() string {
  52669. return s.String()
  52670. }
  52671. // Contains the parameters for ResetInstanceAttribute.
  52672. type ResetInstanceAttributeInput struct {
  52673. _ struct{} `type:"structure"`
  52674. // The attribute to reset.
  52675. //
  52676. // You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
  52677. // To change an instance attribute, use ModifyInstanceAttribute.
  52678. //
  52679. // Attribute is a required field
  52680. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  52681. // Checks whether you have the required permissions for the action, without
  52682. // actually making the request, and provides an error response. If you have
  52683. // the required permissions, the error response is DryRunOperation. Otherwise,
  52684. // it is UnauthorizedOperation.
  52685. DryRun *bool `locationName:"dryRun" type:"boolean"`
  52686. // The ID of the instance.
  52687. //
  52688. // InstanceId is a required field
  52689. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  52690. }
  52691. // String returns the string representation
  52692. func (s ResetInstanceAttributeInput) String() string {
  52693. return awsutil.Prettify(s)
  52694. }
  52695. // GoString returns the string representation
  52696. func (s ResetInstanceAttributeInput) GoString() string {
  52697. return s.String()
  52698. }
  52699. // Validate inspects the fields of the type to determine if they are valid.
  52700. func (s *ResetInstanceAttributeInput) Validate() error {
  52701. invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
  52702. if s.Attribute == nil {
  52703. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  52704. }
  52705. if s.InstanceId == nil {
  52706. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  52707. }
  52708. if invalidParams.Len() > 0 {
  52709. return invalidParams
  52710. }
  52711. return nil
  52712. }
  52713. // SetAttribute sets the Attribute field's value.
  52714. func (s *ResetInstanceAttributeInput) SetAttribute(v string) *ResetInstanceAttributeInput {
  52715. s.Attribute = &v
  52716. return s
  52717. }
  52718. // SetDryRun sets the DryRun field's value.
  52719. func (s *ResetInstanceAttributeInput) SetDryRun(v bool) *ResetInstanceAttributeInput {
  52720. s.DryRun = &v
  52721. return s
  52722. }
  52723. // SetInstanceId sets the InstanceId field's value.
  52724. func (s *ResetInstanceAttributeInput) SetInstanceId(v string) *ResetInstanceAttributeInput {
  52725. s.InstanceId = &v
  52726. return s
  52727. }
  52728. type ResetInstanceAttributeOutput struct {
  52729. _ struct{} `type:"structure"`
  52730. }
  52731. // String returns the string representation
  52732. func (s ResetInstanceAttributeOutput) String() string {
  52733. return awsutil.Prettify(s)
  52734. }
  52735. // GoString returns the string representation
  52736. func (s ResetInstanceAttributeOutput) GoString() string {
  52737. return s.String()
  52738. }
  52739. // Contains the parameters for ResetNetworkInterfaceAttribute.
  52740. type ResetNetworkInterfaceAttributeInput struct {
  52741. _ struct{} `type:"structure"`
  52742. // Checks whether you have the required permissions for the action, without
  52743. // actually making the request, and provides an error response. If you have
  52744. // the required permissions, the error response is DryRunOperation. Otherwise,
  52745. // it is UnauthorizedOperation.
  52746. DryRun *bool `locationName:"dryRun" type:"boolean"`
  52747. // The ID of the network interface.
  52748. //
  52749. // NetworkInterfaceId is a required field
  52750. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  52751. // The source/destination checking attribute. Resets the value to true.
  52752. SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
  52753. }
  52754. // String returns the string representation
  52755. func (s ResetNetworkInterfaceAttributeInput) String() string {
  52756. return awsutil.Prettify(s)
  52757. }
  52758. // GoString returns the string representation
  52759. func (s ResetNetworkInterfaceAttributeInput) GoString() string {
  52760. return s.String()
  52761. }
  52762. // Validate inspects the fields of the type to determine if they are valid.
  52763. func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
  52764. invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
  52765. if s.NetworkInterfaceId == nil {
  52766. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  52767. }
  52768. if invalidParams.Len() > 0 {
  52769. return invalidParams
  52770. }
  52771. return nil
  52772. }
  52773. // SetDryRun sets the DryRun field's value.
  52774. func (s *ResetNetworkInterfaceAttributeInput) SetDryRun(v bool) *ResetNetworkInterfaceAttributeInput {
  52775. s.DryRun = &v
  52776. return s
  52777. }
  52778. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  52779. func (s *ResetNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ResetNetworkInterfaceAttributeInput {
  52780. s.NetworkInterfaceId = &v
  52781. return s
  52782. }
  52783. // SetSourceDestCheck sets the SourceDestCheck field's value.
  52784. func (s *ResetNetworkInterfaceAttributeInput) SetSourceDestCheck(v string) *ResetNetworkInterfaceAttributeInput {
  52785. s.SourceDestCheck = &v
  52786. return s
  52787. }
  52788. type ResetNetworkInterfaceAttributeOutput struct {
  52789. _ struct{} `type:"structure"`
  52790. }
  52791. // String returns the string representation
  52792. func (s ResetNetworkInterfaceAttributeOutput) String() string {
  52793. return awsutil.Prettify(s)
  52794. }
  52795. // GoString returns the string representation
  52796. func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
  52797. return s.String()
  52798. }
  52799. // Contains the parameters for ResetSnapshotAttribute.
  52800. type ResetSnapshotAttributeInput struct {
  52801. _ struct{} `type:"structure"`
  52802. // The attribute to reset. Currently, only the attribute for permission to create
  52803. // volumes can be reset.
  52804. //
  52805. // Attribute is a required field
  52806. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  52807. // Checks whether you have the required permissions for the action, without
  52808. // actually making the request, and provides an error response. If you have
  52809. // the required permissions, the error response is DryRunOperation. Otherwise,
  52810. // it is UnauthorizedOperation.
  52811. DryRun *bool `locationName:"dryRun" type:"boolean"`
  52812. // The ID of the snapshot.
  52813. //
  52814. // SnapshotId is a required field
  52815. SnapshotId *string `type:"string" required:"true"`
  52816. }
  52817. // String returns the string representation
  52818. func (s ResetSnapshotAttributeInput) String() string {
  52819. return awsutil.Prettify(s)
  52820. }
  52821. // GoString returns the string representation
  52822. func (s ResetSnapshotAttributeInput) GoString() string {
  52823. return s.String()
  52824. }
  52825. // Validate inspects the fields of the type to determine if they are valid.
  52826. func (s *ResetSnapshotAttributeInput) Validate() error {
  52827. invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
  52828. if s.Attribute == nil {
  52829. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  52830. }
  52831. if s.SnapshotId == nil {
  52832. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  52833. }
  52834. if invalidParams.Len() > 0 {
  52835. return invalidParams
  52836. }
  52837. return nil
  52838. }
  52839. // SetAttribute sets the Attribute field's value.
  52840. func (s *ResetSnapshotAttributeInput) SetAttribute(v string) *ResetSnapshotAttributeInput {
  52841. s.Attribute = &v
  52842. return s
  52843. }
  52844. // SetDryRun sets the DryRun field's value.
  52845. func (s *ResetSnapshotAttributeInput) SetDryRun(v bool) *ResetSnapshotAttributeInput {
  52846. s.DryRun = &v
  52847. return s
  52848. }
  52849. // SetSnapshotId sets the SnapshotId field's value.
  52850. func (s *ResetSnapshotAttributeInput) SetSnapshotId(v string) *ResetSnapshotAttributeInput {
  52851. s.SnapshotId = &v
  52852. return s
  52853. }
  52854. type ResetSnapshotAttributeOutput struct {
  52855. _ struct{} `type:"structure"`
  52856. }
  52857. // String returns the string representation
  52858. func (s ResetSnapshotAttributeOutput) String() string {
  52859. return awsutil.Prettify(s)
  52860. }
  52861. // GoString returns the string representation
  52862. func (s ResetSnapshotAttributeOutput) GoString() string {
  52863. return s.String()
  52864. }
  52865. // Describes the error that's returned when you cannot delete a launch template
  52866. // version.
  52867. type ResponseError struct {
  52868. _ struct{} `type:"structure"`
  52869. // The error code.
  52870. Code *string `locationName:"code" type:"string" enum:"LaunchTemplateErrorCode"`
  52871. // The error message, if applicable.
  52872. Message *string `locationName:"message" type:"string"`
  52873. }
  52874. // String returns the string representation
  52875. func (s ResponseError) String() string {
  52876. return awsutil.Prettify(s)
  52877. }
  52878. // GoString returns the string representation
  52879. func (s ResponseError) GoString() string {
  52880. return s.String()
  52881. }
  52882. // SetCode sets the Code field's value.
  52883. func (s *ResponseError) SetCode(v string) *ResponseError {
  52884. s.Code = &v
  52885. return s
  52886. }
  52887. // SetMessage sets the Message field's value.
  52888. func (s *ResponseError) SetMessage(v string) *ResponseError {
  52889. s.Message = &v
  52890. return s
  52891. }
  52892. // The information for a launch template.
  52893. type ResponseLaunchTemplateData struct {
  52894. _ struct{} `type:"structure"`
  52895. // The block device mappings.
  52896. BlockDeviceMappings []*LaunchTemplateBlockDeviceMapping `locationName:"blockDeviceMappingSet" locationNameList:"item" type:"list"`
  52897. // The credit option for CPU usage of the instance.
  52898. CreditSpecification *CreditSpecification `locationName:"creditSpecification" type:"structure"`
  52899. // If set to true, indicates that the instance cannot be terminated using the
  52900. // Amazon EC2 console, command line tool, or API.
  52901. DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
  52902. // Indicates whether the instance is optimized for Amazon EBS I/O.
  52903. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  52904. // The elastic GPU specification.
  52905. ElasticGpuSpecifications []*ElasticGpuSpecificationResponse `locationName:"elasticGpuSpecificationSet" locationNameList:"item" type:"list"`
  52906. // The IAM instance profile.
  52907. IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  52908. // The ID of the AMI that was used to launch the instance.
  52909. ImageId *string `locationName:"imageId" type:"string"`
  52910. // Indicates whether an instance stops or terminates when you initiate shutdown
  52911. // from the instance (using the operating system command for system shutdown).
  52912. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  52913. // The market (purchasing) option for the instances.
  52914. InstanceMarketOptions *LaunchTemplateInstanceMarketOptions `locationName:"instanceMarketOptions" type:"structure"`
  52915. // The instance type.
  52916. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  52917. // The ID of the kernel, if applicable.
  52918. KernelId *string `locationName:"kernelId" type:"string"`
  52919. // The name of the key pair.
  52920. KeyName *string `locationName:"keyName" type:"string"`
  52921. // The monitoring for the instance.
  52922. Monitoring *LaunchTemplatesMonitoring `locationName:"monitoring" type:"structure"`
  52923. // The network interfaces.
  52924. NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  52925. // The placement of the instance.
  52926. Placement *LaunchTemplatePlacement `locationName:"placement" type:"structure"`
  52927. // The ID of the RAM disk, if applicable.
  52928. RamDiskId *string `locationName:"ramDiskId" type:"string"`
  52929. // The security group IDs.
  52930. SecurityGroupIds []*string `locationName:"securityGroupIdSet" locationNameList:"item" type:"list"`
  52931. // The security group names.
  52932. SecurityGroups []*string `locationName:"securityGroupSet" locationNameList:"item" type:"list"`
  52933. // The tags.
  52934. TagSpecifications []*LaunchTemplateTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
  52935. // The user data for the instance.
  52936. UserData *string `locationName:"userData" type:"string"`
  52937. }
  52938. // String returns the string representation
  52939. func (s ResponseLaunchTemplateData) String() string {
  52940. return awsutil.Prettify(s)
  52941. }
  52942. // GoString returns the string representation
  52943. func (s ResponseLaunchTemplateData) GoString() string {
  52944. return s.String()
  52945. }
  52946. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  52947. func (s *ResponseLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMapping) *ResponseLaunchTemplateData {
  52948. s.BlockDeviceMappings = v
  52949. return s
  52950. }
  52951. // SetCreditSpecification sets the CreditSpecification field's value.
  52952. func (s *ResponseLaunchTemplateData) SetCreditSpecification(v *CreditSpecification) *ResponseLaunchTemplateData {
  52953. s.CreditSpecification = v
  52954. return s
  52955. }
  52956. // SetDisableApiTermination sets the DisableApiTermination field's value.
  52957. func (s *ResponseLaunchTemplateData) SetDisableApiTermination(v bool) *ResponseLaunchTemplateData {
  52958. s.DisableApiTermination = &v
  52959. return s
  52960. }
  52961. // SetEbsOptimized sets the EbsOptimized field's value.
  52962. func (s *ResponseLaunchTemplateData) SetEbsOptimized(v bool) *ResponseLaunchTemplateData {
  52963. s.EbsOptimized = &v
  52964. return s
  52965. }
  52966. // SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
  52967. func (s *ResponseLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecificationResponse) *ResponseLaunchTemplateData {
  52968. s.ElasticGpuSpecifications = v
  52969. return s
  52970. }
  52971. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  52972. func (s *ResponseLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecification) *ResponseLaunchTemplateData {
  52973. s.IamInstanceProfile = v
  52974. return s
  52975. }
  52976. // SetImageId sets the ImageId field's value.
  52977. func (s *ResponseLaunchTemplateData) SetImageId(v string) *ResponseLaunchTemplateData {
  52978. s.ImageId = &v
  52979. return s
  52980. }
  52981. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  52982. func (s *ResponseLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *ResponseLaunchTemplateData {
  52983. s.InstanceInitiatedShutdownBehavior = &v
  52984. return s
  52985. }
  52986. // SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
  52987. func (s *ResponseLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptions) *ResponseLaunchTemplateData {
  52988. s.InstanceMarketOptions = v
  52989. return s
  52990. }
  52991. // SetInstanceType sets the InstanceType field's value.
  52992. func (s *ResponseLaunchTemplateData) SetInstanceType(v string) *ResponseLaunchTemplateData {
  52993. s.InstanceType = &v
  52994. return s
  52995. }
  52996. // SetKernelId sets the KernelId field's value.
  52997. func (s *ResponseLaunchTemplateData) SetKernelId(v string) *ResponseLaunchTemplateData {
  52998. s.KernelId = &v
  52999. return s
  53000. }
  53001. // SetKeyName sets the KeyName field's value.
  53002. func (s *ResponseLaunchTemplateData) SetKeyName(v string) *ResponseLaunchTemplateData {
  53003. s.KeyName = &v
  53004. return s
  53005. }
  53006. // SetMonitoring sets the Monitoring field's value.
  53007. func (s *ResponseLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoring) *ResponseLaunchTemplateData {
  53008. s.Monitoring = v
  53009. return s
  53010. }
  53011. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  53012. func (s *ResponseLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecification) *ResponseLaunchTemplateData {
  53013. s.NetworkInterfaces = v
  53014. return s
  53015. }
  53016. // SetPlacement sets the Placement field's value.
  53017. func (s *ResponseLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacement) *ResponseLaunchTemplateData {
  53018. s.Placement = v
  53019. return s
  53020. }
  53021. // SetRamDiskId sets the RamDiskId field's value.
  53022. func (s *ResponseLaunchTemplateData) SetRamDiskId(v string) *ResponseLaunchTemplateData {
  53023. s.RamDiskId = &v
  53024. return s
  53025. }
  53026. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  53027. func (s *ResponseLaunchTemplateData) SetSecurityGroupIds(v []*string) *ResponseLaunchTemplateData {
  53028. s.SecurityGroupIds = v
  53029. return s
  53030. }
  53031. // SetSecurityGroups sets the SecurityGroups field's value.
  53032. func (s *ResponseLaunchTemplateData) SetSecurityGroups(v []*string) *ResponseLaunchTemplateData {
  53033. s.SecurityGroups = v
  53034. return s
  53035. }
  53036. // SetTagSpecifications sets the TagSpecifications field's value.
  53037. func (s *ResponseLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecification) *ResponseLaunchTemplateData {
  53038. s.TagSpecifications = v
  53039. return s
  53040. }
  53041. // SetUserData sets the UserData field's value.
  53042. func (s *ResponseLaunchTemplateData) SetUserData(v string) *ResponseLaunchTemplateData {
  53043. s.UserData = &v
  53044. return s
  53045. }
  53046. // Contains the parameters for RestoreAddressToClassic.
  53047. type RestoreAddressToClassicInput struct {
  53048. _ struct{} `type:"structure"`
  53049. // Checks whether you have the required permissions for the action, without
  53050. // actually making the request, and provides an error response. If you have
  53051. // the required permissions, the error response is DryRunOperation. Otherwise,
  53052. // it is UnauthorizedOperation.
  53053. DryRun *bool `locationName:"dryRun" type:"boolean"`
  53054. // The Elastic IP address.
  53055. //
  53056. // PublicIp is a required field
  53057. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  53058. }
  53059. // String returns the string representation
  53060. func (s RestoreAddressToClassicInput) String() string {
  53061. return awsutil.Prettify(s)
  53062. }
  53063. // GoString returns the string representation
  53064. func (s RestoreAddressToClassicInput) GoString() string {
  53065. return s.String()
  53066. }
  53067. // Validate inspects the fields of the type to determine if they are valid.
  53068. func (s *RestoreAddressToClassicInput) Validate() error {
  53069. invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
  53070. if s.PublicIp == nil {
  53071. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  53072. }
  53073. if invalidParams.Len() > 0 {
  53074. return invalidParams
  53075. }
  53076. return nil
  53077. }
  53078. // SetDryRun sets the DryRun field's value.
  53079. func (s *RestoreAddressToClassicInput) SetDryRun(v bool) *RestoreAddressToClassicInput {
  53080. s.DryRun = &v
  53081. return s
  53082. }
  53083. // SetPublicIp sets the PublicIp field's value.
  53084. func (s *RestoreAddressToClassicInput) SetPublicIp(v string) *RestoreAddressToClassicInput {
  53085. s.PublicIp = &v
  53086. return s
  53087. }
  53088. // Contains the output of RestoreAddressToClassic.
  53089. type RestoreAddressToClassicOutput struct {
  53090. _ struct{} `type:"structure"`
  53091. // The Elastic IP address.
  53092. PublicIp *string `locationName:"publicIp" type:"string"`
  53093. // The move status for the IP address.
  53094. Status *string `locationName:"status" type:"string" enum:"Status"`
  53095. }
  53096. // String returns the string representation
  53097. func (s RestoreAddressToClassicOutput) String() string {
  53098. return awsutil.Prettify(s)
  53099. }
  53100. // GoString returns the string representation
  53101. func (s RestoreAddressToClassicOutput) GoString() string {
  53102. return s.String()
  53103. }
  53104. // SetPublicIp sets the PublicIp field's value.
  53105. func (s *RestoreAddressToClassicOutput) SetPublicIp(v string) *RestoreAddressToClassicOutput {
  53106. s.PublicIp = &v
  53107. return s
  53108. }
  53109. // SetStatus sets the Status field's value.
  53110. func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToClassicOutput {
  53111. s.Status = &v
  53112. return s
  53113. }
  53114. // Contains the parameters for RevokeSecurityGroupEgress.
  53115. type RevokeSecurityGroupEgressInput struct {
  53116. _ struct{} `type:"structure"`
  53117. // Not supported. Use a set of IP permissions to specify the CIDR.
  53118. CidrIp *string `locationName:"cidrIp" type:"string"`
  53119. // Checks whether you have the required permissions for the action, without
  53120. // actually making the request, and provides an error response. If you have
  53121. // the required permissions, the error response is DryRunOperation. Otherwise,
  53122. // it is UnauthorizedOperation.
  53123. DryRun *bool `locationName:"dryRun" type:"boolean"`
  53124. // Not supported. Use a set of IP permissions to specify the port.
  53125. FromPort *int64 `locationName:"fromPort" type:"integer"`
  53126. // The ID of the security group.
  53127. //
  53128. // GroupId is a required field
  53129. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  53130. // One or more sets of IP permissions. You can't specify a destination security
  53131. // group and a CIDR IP address range in the same set of permissions.
  53132. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  53133. // Not supported. Use a set of IP permissions to specify the protocol name or
  53134. // number.
  53135. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  53136. // Not supported. Use a set of IP permissions to specify a destination security
  53137. // group.
  53138. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  53139. // Not supported. Use a set of IP permissions to specify a destination security
  53140. // group.
  53141. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  53142. // Not supported. Use a set of IP permissions to specify the port.
  53143. ToPort *int64 `locationName:"toPort" type:"integer"`
  53144. }
  53145. // String returns the string representation
  53146. func (s RevokeSecurityGroupEgressInput) String() string {
  53147. return awsutil.Prettify(s)
  53148. }
  53149. // GoString returns the string representation
  53150. func (s RevokeSecurityGroupEgressInput) GoString() string {
  53151. return s.String()
  53152. }
  53153. // Validate inspects the fields of the type to determine if they are valid.
  53154. func (s *RevokeSecurityGroupEgressInput) Validate() error {
  53155. invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
  53156. if s.GroupId == nil {
  53157. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  53158. }
  53159. if invalidParams.Len() > 0 {
  53160. return invalidParams
  53161. }
  53162. return nil
  53163. }
  53164. // SetCidrIp sets the CidrIp field's value.
  53165. func (s *RevokeSecurityGroupEgressInput) SetCidrIp(v string) *RevokeSecurityGroupEgressInput {
  53166. s.CidrIp = &v
  53167. return s
  53168. }
  53169. // SetDryRun sets the DryRun field's value.
  53170. func (s *RevokeSecurityGroupEgressInput) SetDryRun(v bool) *RevokeSecurityGroupEgressInput {
  53171. s.DryRun = &v
  53172. return s
  53173. }
  53174. // SetFromPort sets the FromPort field's value.
  53175. func (s *RevokeSecurityGroupEgressInput) SetFromPort(v int64) *RevokeSecurityGroupEgressInput {
  53176. s.FromPort = &v
  53177. return s
  53178. }
  53179. // SetGroupId sets the GroupId field's value.
  53180. func (s *RevokeSecurityGroupEgressInput) SetGroupId(v string) *RevokeSecurityGroupEgressInput {
  53181. s.GroupId = &v
  53182. return s
  53183. }
  53184. // SetIpPermissions sets the IpPermissions field's value.
  53185. func (s *RevokeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressInput {
  53186. s.IpPermissions = v
  53187. return s
  53188. }
  53189. // SetIpProtocol sets the IpProtocol field's value.
  53190. func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurityGroupEgressInput {
  53191. s.IpProtocol = &v
  53192. return s
  53193. }
  53194. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  53195. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput {
  53196. s.SourceSecurityGroupName = &v
  53197. return s
  53198. }
  53199. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  53200. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupEgressInput {
  53201. s.SourceSecurityGroupOwnerId = &v
  53202. return s
  53203. }
  53204. // SetToPort sets the ToPort field's value.
  53205. func (s *RevokeSecurityGroupEgressInput) SetToPort(v int64) *RevokeSecurityGroupEgressInput {
  53206. s.ToPort = &v
  53207. return s
  53208. }
  53209. type RevokeSecurityGroupEgressOutput struct {
  53210. _ struct{} `type:"structure"`
  53211. }
  53212. // String returns the string representation
  53213. func (s RevokeSecurityGroupEgressOutput) String() string {
  53214. return awsutil.Prettify(s)
  53215. }
  53216. // GoString returns the string representation
  53217. func (s RevokeSecurityGroupEgressOutput) GoString() string {
  53218. return s.String()
  53219. }
  53220. // Contains the parameters for RevokeSecurityGroupIngress.
  53221. type RevokeSecurityGroupIngressInput struct {
  53222. _ struct{} `type:"structure"`
  53223. // The CIDR IP address range. You can't specify this parameter when specifying
  53224. // a source security group.
  53225. CidrIp *string `type:"string"`
  53226. // Checks whether you have the required permissions for the action, without
  53227. // actually making the request, and provides an error response. If you have
  53228. // the required permissions, the error response is DryRunOperation. Otherwise,
  53229. // it is UnauthorizedOperation.
  53230. DryRun *bool `locationName:"dryRun" type:"boolean"`
  53231. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  53232. // For the ICMP type number, use -1 to specify all ICMP types.
  53233. FromPort *int64 `type:"integer"`
  53234. // The ID of the security group. You must specify either the security group
  53235. // ID or the security group name in the request. For security groups in a nondefault
  53236. // VPC, you must specify the security group ID.
  53237. GroupId *string `type:"string"`
  53238. // [EC2-Classic, default VPC] The name of the security group. You must specify
  53239. // either the security group ID or the security group name in the request.
  53240. GroupName *string `type:"string"`
  53241. // One or more sets of IP permissions. You can't specify a source security group
  53242. // and a CIDR IP address range in the same set of permissions.
  53243. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  53244. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  53245. // Use -1 to specify all.
  53246. IpProtocol *string `type:"string"`
  53247. // [EC2-Classic, default VPC] The name of the source security group. You can't
  53248. // specify this parameter in combination with the following parameters: the
  53249. // CIDR IP address range, the start of the port range, the IP protocol, and
  53250. // the end of the port range. For EC2-VPC, the source security group must be
  53251. // in the same VPC. To revoke a specific rule for an IP protocol and port range,
  53252. // use a set of IP permissions instead.
  53253. SourceSecurityGroupName *string `type:"string"`
  53254. // [EC2-Classic] The AWS account ID of the source security group, if the source
  53255. // security group is in a different account. You can't specify this parameter
  53256. // in combination with the following parameters: the CIDR IP address range,
  53257. // the IP protocol, the start of the port range, and the end of the port range.
  53258. // To revoke a specific rule for an IP protocol and port range, use a set of
  53259. // IP permissions instead.
  53260. SourceSecurityGroupOwnerId *string `type:"string"`
  53261. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  53262. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  53263. ToPort *int64 `type:"integer"`
  53264. }
  53265. // String returns the string representation
  53266. func (s RevokeSecurityGroupIngressInput) String() string {
  53267. return awsutil.Prettify(s)
  53268. }
  53269. // GoString returns the string representation
  53270. func (s RevokeSecurityGroupIngressInput) GoString() string {
  53271. return s.String()
  53272. }
  53273. // SetCidrIp sets the CidrIp field's value.
  53274. func (s *RevokeSecurityGroupIngressInput) SetCidrIp(v string) *RevokeSecurityGroupIngressInput {
  53275. s.CidrIp = &v
  53276. return s
  53277. }
  53278. // SetDryRun sets the DryRun field's value.
  53279. func (s *RevokeSecurityGroupIngressInput) SetDryRun(v bool) *RevokeSecurityGroupIngressInput {
  53280. s.DryRun = &v
  53281. return s
  53282. }
  53283. // SetFromPort sets the FromPort field's value.
  53284. func (s *RevokeSecurityGroupIngressInput) SetFromPort(v int64) *RevokeSecurityGroupIngressInput {
  53285. s.FromPort = &v
  53286. return s
  53287. }
  53288. // SetGroupId sets the GroupId field's value.
  53289. func (s *RevokeSecurityGroupIngressInput) SetGroupId(v string) *RevokeSecurityGroupIngressInput {
  53290. s.GroupId = &v
  53291. return s
  53292. }
  53293. // SetGroupName sets the GroupName field's value.
  53294. func (s *RevokeSecurityGroupIngressInput) SetGroupName(v string) *RevokeSecurityGroupIngressInput {
  53295. s.GroupName = &v
  53296. return s
  53297. }
  53298. // SetIpPermissions sets the IpPermissions field's value.
  53299. func (s *RevokeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressInput {
  53300. s.IpPermissions = v
  53301. return s
  53302. }
  53303. // SetIpProtocol sets the IpProtocol field's value.
  53304. func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurityGroupIngressInput {
  53305. s.IpProtocol = &v
  53306. return s
  53307. }
  53308. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  53309. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput {
  53310. s.SourceSecurityGroupName = &v
  53311. return s
  53312. }
  53313. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  53314. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupIngressInput {
  53315. s.SourceSecurityGroupOwnerId = &v
  53316. return s
  53317. }
  53318. // SetToPort sets the ToPort field's value.
  53319. func (s *RevokeSecurityGroupIngressInput) SetToPort(v int64) *RevokeSecurityGroupIngressInput {
  53320. s.ToPort = &v
  53321. return s
  53322. }
  53323. type RevokeSecurityGroupIngressOutput struct {
  53324. _ struct{} `type:"structure"`
  53325. }
  53326. // String returns the string representation
  53327. func (s RevokeSecurityGroupIngressOutput) String() string {
  53328. return awsutil.Prettify(s)
  53329. }
  53330. // GoString returns the string representation
  53331. func (s RevokeSecurityGroupIngressOutput) GoString() string {
  53332. return s.String()
  53333. }
  53334. // Describes a route in a route table.
  53335. type Route struct {
  53336. _ struct{} `type:"structure"`
  53337. // The IPv4 CIDR block used for the destination match.
  53338. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  53339. // The IPv6 CIDR block used for the destination match.
  53340. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  53341. // The prefix of the AWS service.
  53342. DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
  53343. // The ID of the egress-only Internet gateway.
  53344. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  53345. // The ID of a gateway attached to your VPC.
  53346. GatewayId *string `locationName:"gatewayId" type:"string"`
  53347. // The ID of a NAT instance in your VPC.
  53348. InstanceId *string `locationName:"instanceId" type:"string"`
  53349. // The AWS account ID of the owner of the instance.
  53350. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  53351. // The ID of a NAT gateway.
  53352. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  53353. // The ID of the network interface.
  53354. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  53355. // Describes how the route was created.
  53356. //
  53357. // * CreateRouteTable - The route was automatically created when the route
  53358. // table was created.
  53359. //
  53360. // * CreateRoute - The route was manually added to the route table.
  53361. //
  53362. // * EnableVgwRoutePropagation - The route was propagated by route propagation.
  53363. Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
  53364. // The state of the route. The blackhole state indicates that the route's target
  53365. // isn't available (for example, the specified gateway isn't attached to the
  53366. // VPC, or the specified NAT instance has been terminated).
  53367. State *string `locationName:"state" type:"string" enum:"RouteState"`
  53368. // The ID of the VPC peering connection.
  53369. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  53370. }
  53371. // String returns the string representation
  53372. func (s Route) String() string {
  53373. return awsutil.Prettify(s)
  53374. }
  53375. // GoString returns the string representation
  53376. func (s Route) GoString() string {
  53377. return s.String()
  53378. }
  53379. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  53380. func (s *Route) SetDestinationCidrBlock(v string) *Route {
  53381. s.DestinationCidrBlock = &v
  53382. return s
  53383. }
  53384. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  53385. func (s *Route) SetDestinationIpv6CidrBlock(v string) *Route {
  53386. s.DestinationIpv6CidrBlock = &v
  53387. return s
  53388. }
  53389. // SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
  53390. func (s *Route) SetDestinationPrefixListId(v string) *Route {
  53391. s.DestinationPrefixListId = &v
  53392. return s
  53393. }
  53394. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  53395. func (s *Route) SetEgressOnlyInternetGatewayId(v string) *Route {
  53396. s.EgressOnlyInternetGatewayId = &v
  53397. return s
  53398. }
  53399. // SetGatewayId sets the GatewayId field's value.
  53400. func (s *Route) SetGatewayId(v string) *Route {
  53401. s.GatewayId = &v
  53402. return s
  53403. }
  53404. // SetInstanceId sets the InstanceId field's value.
  53405. func (s *Route) SetInstanceId(v string) *Route {
  53406. s.InstanceId = &v
  53407. return s
  53408. }
  53409. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  53410. func (s *Route) SetInstanceOwnerId(v string) *Route {
  53411. s.InstanceOwnerId = &v
  53412. return s
  53413. }
  53414. // SetNatGatewayId sets the NatGatewayId field's value.
  53415. func (s *Route) SetNatGatewayId(v string) *Route {
  53416. s.NatGatewayId = &v
  53417. return s
  53418. }
  53419. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  53420. func (s *Route) SetNetworkInterfaceId(v string) *Route {
  53421. s.NetworkInterfaceId = &v
  53422. return s
  53423. }
  53424. // SetOrigin sets the Origin field's value.
  53425. func (s *Route) SetOrigin(v string) *Route {
  53426. s.Origin = &v
  53427. return s
  53428. }
  53429. // SetState sets the State field's value.
  53430. func (s *Route) SetState(v string) *Route {
  53431. s.State = &v
  53432. return s
  53433. }
  53434. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  53435. func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
  53436. s.VpcPeeringConnectionId = &v
  53437. return s
  53438. }
  53439. // Describes a route table.
  53440. type RouteTable struct {
  53441. _ struct{} `type:"structure"`
  53442. // The associations between the route table and one or more subnets.
  53443. Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  53444. // Any virtual private gateway (VGW) propagating routes.
  53445. PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
  53446. // The ID of the route table.
  53447. RouteTableId *string `locationName:"routeTableId" type:"string"`
  53448. // The routes in the route table.
  53449. Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
  53450. // Any tags assigned to the route table.
  53451. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  53452. // The ID of the VPC.
  53453. VpcId *string `locationName:"vpcId" type:"string"`
  53454. }
  53455. // String returns the string representation
  53456. func (s RouteTable) String() string {
  53457. return awsutil.Prettify(s)
  53458. }
  53459. // GoString returns the string representation
  53460. func (s RouteTable) GoString() string {
  53461. return s.String()
  53462. }
  53463. // SetAssociations sets the Associations field's value.
  53464. func (s *RouteTable) SetAssociations(v []*RouteTableAssociation) *RouteTable {
  53465. s.Associations = v
  53466. return s
  53467. }
  53468. // SetPropagatingVgws sets the PropagatingVgws field's value.
  53469. func (s *RouteTable) SetPropagatingVgws(v []*PropagatingVgw) *RouteTable {
  53470. s.PropagatingVgws = v
  53471. return s
  53472. }
  53473. // SetRouteTableId sets the RouteTableId field's value.
  53474. func (s *RouteTable) SetRouteTableId(v string) *RouteTable {
  53475. s.RouteTableId = &v
  53476. return s
  53477. }
  53478. // SetRoutes sets the Routes field's value.
  53479. func (s *RouteTable) SetRoutes(v []*Route) *RouteTable {
  53480. s.Routes = v
  53481. return s
  53482. }
  53483. // SetTags sets the Tags field's value.
  53484. func (s *RouteTable) SetTags(v []*Tag) *RouteTable {
  53485. s.Tags = v
  53486. return s
  53487. }
  53488. // SetVpcId sets the VpcId field's value.
  53489. func (s *RouteTable) SetVpcId(v string) *RouteTable {
  53490. s.VpcId = &v
  53491. return s
  53492. }
  53493. // Describes an association between a route table and a subnet.
  53494. type RouteTableAssociation struct {
  53495. _ struct{} `type:"structure"`
  53496. // Indicates whether this is the main route table.
  53497. Main *bool `locationName:"main" type:"boolean"`
  53498. // The ID of the association between a route table and a subnet.
  53499. RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
  53500. // The ID of the route table.
  53501. RouteTableId *string `locationName:"routeTableId" type:"string"`
  53502. // The ID of the subnet. A subnet ID is not returned for an implicit association.
  53503. SubnetId *string `locationName:"subnetId" type:"string"`
  53504. }
  53505. // String returns the string representation
  53506. func (s RouteTableAssociation) String() string {
  53507. return awsutil.Prettify(s)
  53508. }
  53509. // GoString returns the string representation
  53510. func (s RouteTableAssociation) GoString() string {
  53511. return s.String()
  53512. }
  53513. // SetMain sets the Main field's value.
  53514. func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
  53515. s.Main = &v
  53516. return s
  53517. }
  53518. // SetRouteTableAssociationId sets the RouteTableAssociationId field's value.
  53519. func (s *RouteTableAssociation) SetRouteTableAssociationId(v string) *RouteTableAssociation {
  53520. s.RouteTableAssociationId = &v
  53521. return s
  53522. }
  53523. // SetRouteTableId sets the RouteTableId field's value.
  53524. func (s *RouteTableAssociation) SetRouteTableId(v string) *RouteTableAssociation {
  53525. s.RouteTableId = &v
  53526. return s
  53527. }
  53528. // SetSubnetId sets the SubnetId field's value.
  53529. func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
  53530. s.SubnetId = &v
  53531. return s
  53532. }
  53533. // Contains the parameters for RunInstances.
  53534. type RunInstancesInput struct {
  53535. _ struct{} `type:"structure"`
  53536. // Reserved.
  53537. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  53538. // One or more block device mapping entries. You can't specify both a snapshot
  53539. // ID and an encryption value. This is because only blank volumes can be encrypted
  53540. // on creation. If a snapshot is the basis for a volume, it is not blank and
  53541. // its encryption status is used for the volume encryption status.
  53542. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  53543. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  53544. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  53545. //
  53546. // Constraints: Maximum 64 ASCII characters
  53547. ClientToken *string `locationName:"clientToken" type:"string"`
  53548. // The CPU options for the instance. For more information, see Optimizing CPU
  53549. // Options (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
  53550. // in the Amazon Elastic Compute Cloud User Guide.
  53551. CpuOptions *CpuOptionsRequest `type:"structure"`
  53552. // The credit option for CPU usage of the instance. Valid values are standard
  53553. // and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification.
  53554. // For more information, see T2 Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html)
  53555. // in the Amazon Elastic Compute Cloud User Guide.
  53556. //
  53557. // Default: standard
  53558. CreditSpecification *CreditSpecificationRequest `type:"structure"`
  53559. // If you set this parameter to true, you can't terminate the instance using
  53560. // the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
  53561. // to false after launch, use ModifyInstanceAttribute. Alternatively, if you
  53562. // set InstanceInitiatedShutdownBehavior to terminate, you can terminate the
  53563. // instance by running the shutdown command from the instance.
  53564. //
  53565. // Default: false
  53566. DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
  53567. // Checks whether you have the required permissions for the action, without
  53568. // actually making the request, and provides an error response. If you have
  53569. // the required permissions, the error response is DryRunOperation. Otherwise,
  53570. // it is UnauthorizedOperation.
  53571. DryRun *bool `locationName:"dryRun" type:"boolean"`
  53572. // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
  53573. // provides dedicated throughput to Amazon EBS and an optimized configuration
  53574. // stack to provide optimal Amazon EBS I/O performance. This optimization isn't
  53575. // available with all instance types. Additional usage charges apply when using
  53576. // an EBS-optimized instance.
  53577. //
  53578. // Default: false
  53579. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  53580. // An elastic GPU to associate with the instance.
  53581. ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"`
  53582. // The IAM instance profile.
  53583. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  53584. // The ID of the AMI, which you can get by calling DescribeImages. An AMI is
  53585. // required to launch an instance and must be specified here or in a launch
  53586. // template.
  53587. ImageId *string `type:"string"`
  53588. // Indicates whether an instance stops or terminates when you initiate shutdown
  53589. // from the instance (using the operating system command for system shutdown).
  53590. //
  53591. // Default: stop
  53592. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  53593. // The market (purchasing) option for the instances.
  53594. InstanceMarketOptions *InstanceMarketOptionsRequest `type:"structure"`
  53595. // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  53596. // in the Amazon Elastic Compute Cloud User Guide.
  53597. //
  53598. // Default: m1.small
  53599. InstanceType *string `type:"string" enum:"InstanceType"`
  53600. // [EC2-VPC] A number of IPv6 addresses to associate with the primary network
  53601. // interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
  53602. // You cannot specify this option and the option to assign specific IPv6 addresses
  53603. // in the same request. You can specify this option if you've specified a minimum
  53604. // number of instances to launch.
  53605. Ipv6AddressCount *int64 `type:"integer"`
  53606. // [EC2-VPC] Specify one or more IPv6 addresses from the range of the subnet
  53607. // to associate with the primary network interface. You cannot specify this
  53608. // option and the option to assign a number of IPv6 addresses in the same request.
  53609. // You cannot specify this option if you've specified a minimum number of instances
  53610. // to launch.
  53611. Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"`
  53612. // The ID of the kernel.
  53613. //
  53614. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  53615. // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  53616. // in the Amazon Elastic Compute Cloud User Guide.
  53617. KernelId *string `type:"string"`
  53618. // The name of the key pair. You can create a key pair using CreateKeyPair or
  53619. // ImportKeyPair.
  53620. //
  53621. // If you do not specify a key pair, you can't connect to the instance unless
  53622. // you choose an AMI that is configured to allow users another way to log in.
  53623. KeyName *string `type:"string"`
  53624. // The launch template to use to launch the instances. Any parameters that you
  53625. // specify in RunInstances override the same parameters in the launch template.
  53626. // You can specify either the name or ID of a launch template, but not both.
  53627. LaunchTemplate *LaunchTemplateSpecification `type:"structure"`
  53628. // The maximum number of instances to launch. If you specify more instances
  53629. // than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
  53630. // the largest possible number of instances above MinCount.
  53631. //
  53632. // Constraints: Between 1 and the maximum number you're allowed for the specified
  53633. // instance type. For more information about the default limits, and how to
  53634. // 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)
  53635. // in the Amazon EC2 FAQ.
  53636. //
  53637. // MaxCount is a required field
  53638. MaxCount *int64 `type:"integer" required:"true"`
  53639. // The minimum number of instances to launch. If you specify a minimum that
  53640. // is more instances than Amazon EC2 can launch in the target Availability Zone,
  53641. // Amazon EC2 launches no instances.
  53642. //
  53643. // Constraints: Between 1 and the maximum number you're allowed for the specified
  53644. // instance type. For more information about the default limits, and how to
  53645. // 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)
  53646. // in the Amazon EC2 General FAQ.
  53647. //
  53648. // MinCount is a required field
  53649. MinCount *int64 `type:"integer" required:"true"`
  53650. // The monitoring for the instance.
  53651. Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
  53652. // One or more network interfaces.
  53653. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
  53654. // The placement for the instance.
  53655. Placement *Placement `type:"structure"`
  53656. // [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4
  53657. // address range of the subnet.
  53658. //
  53659. // Only one private IP address can be designated as primary. You can't specify
  53660. // this option if you've specified the option to designate a private IP address
  53661. // as the primary IP address in a network interface specification. You cannot
  53662. // specify this option if you're launching more than one instance in the request.
  53663. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  53664. // The ID of the RAM disk.
  53665. //
  53666. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  53667. // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  53668. // in the Amazon Elastic Compute Cloud User Guide.
  53669. RamdiskId *string `type:"string"`
  53670. // One or more security group IDs. You can create a security group using CreateSecurityGroup.
  53671. //
  53672. // Default: Amazon EC2 uses the default security group.
  53673. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  53674. // [EC2-Classic, default VPC] One or more security group names. For a nondefault
  53675. // VPC, you must use security group IDs instead.
  53676. //
  53677. // Default: Amazon EC2 uses the default security group.
  53678. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
  53679. // [EC2-VPC] The ID of the subnet to launch the instance into.
  53680. SubnetId *string `type:"string"`
  53681. // The tags to apply to the resources during launch. You can tag instances and
  53682. // volumes. The specified tags are applied to all instances or volumes that
  53683. // are created during launch.
  53684. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  53685. // The user data to make available to the instance. For more information, see
  53686. // Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
  53687. // (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
  53688. // (Windows). If you are using a command line tool, base64-encoding is performed
  53689. // for you, and you can load the text from a file. Otherwise, you must provide
  53690. // base64-encoded text.
  53691. UserData *string `type:"string"`
  53692. }
  53693. // String returns the string representation
  53694. func (s RunInstancesInput) String() string {
  53695. return awsutil.Prettify(s)
  53696. }
  53697. // GoString returns the string representation
  53698. func (s RunInstancesInput) GoString() string {
  53699. return s.String()
  53700. }
  53701. // Validate inspects the fields of the type to determine if they are valid.
  53702. func (s *RunInstancesInput) Validate() error {
  53703. invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
  53704. if s.MaxCount == nil {
  53705. invalidParams.Add(request.NewErrParamRequired("MaxCount"))
  53706. }
  53707. if s.MinCount == nil {
  53708. invalidParams.Add(request.NewErrParamRequired("MinCount"))
  53709. }
  53710. if s.CreditSpecification != nil {
  53711. if err := s.CreditSpecification.Validate(); err != nil {
  53712. invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
  53713. }
  53714. }
  53715. if s.ElasticGpuSpecification != nil {
  53716. for i, v := range s.ElasticGpuSpecification {
  53717. if v == nil {
  53718. continue
  53719. }
  53720. if err := v.Validate(); err != nil {
  53721. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecification", i), err.(request.ErrInvalidParams))
  53722. }
  53723. }
  53724. }
  53725. if s.Monitoring != nil {
  53726. if err := s.Monitoring.Validate(); err != nil {
  53727. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  53728. }
  53729. }
  53730. if s.NetworkInterfaces != nil {
  53731. for i, v := range s.NetworkInterfaces {
  53732. if v == nil {
  53733. continue
  53734. }
  53735. if err := v.Validate(); err != nil {
  53736. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  53737. }
  53738. }
  53739. }
  53740. if invalidParams.Len() > 0 {
  53741. return invalidParams
  53742. }
  53743. return nil
  53744. }
  53745. // SetAdditionalInfo sets the AdditionalInfo field's value.
  53746. func (s *RunInstancesInput) SetAdditionalInfo(v string) *RunInstancesInput {
  53747. s.AdditionalInfo = &v
  53748. return s
  53749. }
  53750. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  53751. func (s *RunInstancesInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RunInstancesInput {
  53752. s.BlockDeviceMappings = v
  53753. return s
  53754. }
  53755. // SetClientToken sets the ClientToken field's value.
  53756. func (s *RunInstancesInput) SetClientToken(v string) *RunInstancesInput {
  53757. s.ClientToken = &v
  53758. return s
  53759. }
  53760. // SetCpuOptions sets the CpuOptions field's value.
  53761. func (s *RunInstancesInput) SetCpuOptions(v *CpuOptionsRequest) *RunInstancesInput {
  53762. s.CpuOptions = v
  53763. return s
  53764. }
  53765. // SetCreditSpecification sets the CreditSpecification field's value.
  53766. func (s *RunInstancesInput) SetCreditSpecification(v *CreditSpecificationRequest) *RunInstancesInput {
  53767. s.CreditSpecification = v
  53768. return s
  53769. }
  53770. // SetDisableApiTermination sets the DisableApiTermination field's value.
  53771. func (s *RunInstancesInput) SetDisableApiTermination(v bool) *RunInstancesInput {
  53772. s.DisableApiTermination = &v
  53773. return s
  53774. }
  53775. // SetDryRun sets the DryRun field's value.
  53776. func (s *RunInstancesInput) SetDryRun(v bool) *RunInstancesInput {
  53777. s.DryRun = &v
  53778. return s
  53779. }
  53780. // SetEbsOptimized sets the EbsOptimized field's value.
  53781. func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
  53782. s.EbsOptimized = &v
  53783. return s
  53784. }
  53785. // SetElasticGpuSpecification sets the ElasticGpuSpecification field's value.
  53786. func (s *RunInstancesInput) SetElasticGpuSpecification(v []*ElasticGpuSpecification) *RunInstancesInput {
  53787. s.ElasticGpuSpecification = v
  53788. return s
  53789. }
  53790. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  53791. func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
  53792. s.IamInstanceProfile = v
  53793. return s
  53794. }
  53795. // SetImageId sets the ImageId field's value.
  53796. func (s *RunInstancesInput) SetImageId(v string) *RunInstancesInput {
  53797. s.ImageId = &v
  53798. return s
  53799. }
  53800. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  53801. func (s *RunInstancesInput) SetInstanceInitiatedShutdownBehavior(v string) *RunInstancesInput {
  53802. s.InstanceInitiatedShutdownBehavior = &v
  53803. return s
  53804. }
  53805. // SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
  53806. func (s *RunInstancesInput) SetInstanceMarketOptions(v *InstanceMarketOptionsRequest) *RunInstancesInput {
  53807. s.InstanceMarketOptions = v
  53808. return s
  53809. }
  53810. // SetInstanceType sets the InstanceType field's value.
  53811. func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput {
  53812. s.InstanceType = &v
  53813. return s
  53814. }
  53815. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  53816. func (s *RunInstancesInput) SetIpv6AddressCount(v int64) *RunInstancesInput {
  53817. s.Ipv6AddressCount = &v
  53818. return s
  53819. }
  53820. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  53821. func (s *RunInstancesInput) SetIpv6Addresses(v []*InstanceIpv6Address) *RunInstancesInput {
  53822. s.Ipv6Addresses = v
  53823. return s
  53824. }
  53825. // SetKernelId sets the KernelId field's value.
  53826. func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput {
  53827. s.KernelId = &v
  53828. return s
  53829. }
  53830. // SetKeyName sets the KeyName field's value.
  53831. func (s *RunInstancesInput) SetKeyName(v string) *RunInstancesInput {
  53832. s.KeyName = &v
  53833. return s
  53834. }
  53835. // SetLaunchTemplate sets the LaunchTemplate field's value.
  53836. func (s *RunInstancesInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *RunInstancesInput {
  53837. s.LaunchTemplate = v
  53838. return s
  53839. }
  53840. // SetMaxCount sets the MaxCount field's value.
  53841. func (s *RunInstancesInput) SetMaxCount(v int64) *RunInstancesInput {
  53842. s.MaxCount = &v
  53843. return s
  53844. }
  53845. // SetMinCount sets the MinCount field's value.
  53846. func (s *RunInstancesInput) SetMinCount(v int64) *RunInstancesInput {
  53847. s.MinCount = &v
  53848. return s
  53849. }
  53850. // SetMonitoring sets the Monitoring field's value.
  53851. func (s *RunInstancesInput) SetMonitoring(v *RunInstancesMonitoringEnabled) *RunInstancesInput {
  53852. s.Monitoring = v
  53853. return s
  53854. }
  53855. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  53856. func (s *RunInstancesInput) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RunInstancesInput {
  53857. s.NetworkInterfaces = v
  53858. return s
  53859. }
  53860. // SetPlacement sets the Placement field's value.
  53861. func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput {
  53862. s.Placement = v
  53863. return s
  53864. }
  53865. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  53866. func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput {
  53867. s.PrivateIpAddress = &v
  53868. return s
  53869. }
  53870. // SetRamdiskId sets the RamdiskId field's value.
  53871. func (s *RunInstancesInput) SetRamdiskId(v string) *RunInstancesInput {
  53872. s.RamdiskId = &v
  53873. return s
  53874. }
  53875. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  53876. func (s *RunInstancesInput) SetSecurityGroupIds(v []*string) *RunInstancesInput {
  53877. s.SecurityGroupIds = v
  53878. return s
  53879. }
  53880. // SetSecurityGroups sets the SecurityGroups field's value.
  53881. func (s *RunInstancesInput) SetSecurityGroups(v []*string) *RunInstancesInput {
  53882. s.SecurityGroups = v
  53883. return s
  53884. }
  53885. // SetSubnetId sets the SubnetId field's value.
  53886. func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
  53887. s.SubnetId = &v
  53888. return s
  53889. }
  53890. // SetTagSpecifications sets the TagSpecifications field's value.
  53891. func (s *RunInstancesInput) SetTagSpecifications(v []*TagSpecification) *RunInstancesInput {
  53892. s.TagSpecifications = v
  53893. return s
  53894. }
  53895. // SetUserData sets the UserData field's value.
  53896. func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
  53897. s.UserData = &v
  53898. return s
  53899. }
  53900. // Describes the monitoring of an instance.
  53901. type RunInstancesMonitoringEnabled struct {
  53902. _ struct{} `type:"structure"`
  53903. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  53904. // is enabled.
  53905. //
  53906. // Enabled is a required field
  53907. Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  53908. }
  53909. // String returns the string representation
  53910. func (s RunInstancesMonitoringEnabled) String() string {
  53911. return awsutil.Prettify(s)
  53912. }
  53913. // GoString returns the string representation
  53914. func (s RunInstancesMonitoringEnabled) GoString() string {
  53915. return s.String()
  53916. }
  53917. // Validate inspects the fields of the type to determine if they are valid.
  53918. func (s *RunInstancesMonitoringEnabled) Validate() error {
  53919. invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
  53920. if s.Enabled == nil {
  53921. invalidParams.Add(request.NewErrParamRequired("Enabled"))
  53922. }
  53923. if invalidParams.Len() > 0 {
  53924. return invalidParams
  53925. }
  53926. return nil
  53927. }
  53928. // SetEnabled sets the Enabled field's value.
  53929. func (s *RunInstancesMonitoringEnabled) SetEnabled(v bool) *RunInstancesMonitoringEnabled {
  53930. s.Enabled = &v
  53931. return s
  53932. }
  53933. // Contains the parameters for RunScheduledInstances.
  53934. type RunScheduledInstancesInput struct {
  53935. _ struct{} `type:"structure"`
  53936. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  53937. // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  53938. ClientToken *string `type:"string" idempotencyToken:"true"`
  53939. // Checks whether you have the required permissions for the action, without
  53940. // actually making the request, and provides an error response. If you have
  53941. // the required permissions, the error response is DryRunOperation. Otherwise,
  53942. // it is UnauthorizedOperation.
  53943. DryRun *bool `type:"boolean"`
  53944. // The number of instances.
  53945. //
  53946. // Default: 1
  53947. InstanceCount *int64 `type:"integer"`
  53948. // The launch specification. You must match the instance type, Availability
  53949. // Zone, network, and platform of the schedule that you purchased.
  53950. //
  53951. // LaunchSpecification is a required field
  53952. LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
  53953. // The Scheduled Instance ID.
  53954. //
  53955. // ScheduledInstanceId is a required field
  53956. ScheduledInstanceId *string `type:"string" required:"true"`
  53957. }
  53958. // String returns the string representation
  53959. func (s RunScheduledInstancesInput) String() string {
  53960. return awsutil.Prettify(s)
  53961. }
  53962. // GoString returns the string representation
  53963. func (s RunScheduledInstancesInput) GoString() string {
  53964. return s.String()
  53965. }
  53966. // Validate inspects the fields of the type to determine if they are valid.
  53967. func (s *RunScheduledInstancesInput) Validate() error {
  53968. invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
  53969. if s.LaunchSpecification == nil {
  53970. invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
  53971. }
  53972. if s.ScheduledInstanceId == nil {
  53973. invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
  53974. }
  53975. if s.LaunchSpecification != nil {
  53976. if err := s.LaunchSpecification.Validate(); err != nil {
  53977. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  53978. }
  53979. }
  53980. if invalidParams.Len() > 0 {
  53981. return invalidParams
  53982. }
  53983. return nil
  53984. }
  53985. // SetClientToken sets the ClientToken field's value.
  53986. func (s *RunScheduledInstancesInput) SetClientToken(v string) *RunScheduledInstancesInput {
  53987. s.ClientToken = &v
  53988. return s
  53989. }
  53990. // SetDryRun sets the DryRun field's value.
  53991. func (s *RunScheduledInstancesInput) SetDryRun(v bool) *RunScheduledInstancesInput {
  53992. s.DryRun = &v
  53993. return s
  53994. }
  53995. // SetInstanceCount sets the InstanceCount field's value.
  53996. func (s *RunScheduledInstancesInput) SetInstanceCount(v int64) *RunScheduledInstancesInput {
  53997. s.InstanceCount = &v
  53998. return s
  53999. }
  54000. // SetLaunchSpecification sets the LaunchSpecification field's value.
  54001. func (s *RunScheduledInstancesInput) SetLaunchSpecification(v *ScheduledInstancesLaunchSpecification) *RunScheduledInstancesInput {
  54002. s.LaunchSpecification = v
  54003. return s
  54004. }
  54005. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  54006. func (s *RunScheduledInstancesInput) SetScheduledInstanceId(v string) *RunScheduledInstancesInput {
  54007. s.ScheduledInstanceId = &v
  54008. return s
  54009. }
  54010. // Contains the output of RunScheduledInstances.
  54011. type RunScheduledInstancesOutput struct {
  54012. _ struct{} `type:"structure"`
  54013. // The IDs of the newly launched instances.
  54014. InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
  54015. }
  54016. // String returns the string representation
  54017. func (s RunScheduledInstancesOutput) String() string {
  54018. return awsutil.Prettify(s)
  54019. }
  54020. // GoString returns the string representation
  54021. func (s RunScheduledInstancesOutput) GoString() string {
  54022. return s.String()
  54023. }
  54024. // SetInstanceIdSet sets the InstanceIdSet field's value.
  54025. func (s *RunScheduledInstancesOutput) SetInstanceIdSet(v []*string) *RunScheduledInstancesOutput {
  54026. s.InstanceIdSet = v
  54027. return s
  54028. }
  54029. // Describes the storage parameters for S3 and S3 buckets for an instance store-backed
  54030. // AMI.
  54031. type S3Storage struct {
  54032. _ struct{} `type:"structure"`
  54033. // The access key ID of the owner of the bucket. Before you specify a value
  54034. // for your access key ID, review and follow the guidance in Best Practices
  54035. // for Managing AWS Access Keys (http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
  54036. AWSAccessKeyId *string `type:"string"`
  54037. // The bucket in which to store the AMI. You can specify a bucket that you already
  54038. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  54039. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  54040. Bucket *string `locationName:"bucket" type:"string"`
  54041. // The beginning of the file name of the AMI.
  54042. Prefix *string `locationName:"prefix" type:"string"`
  54043. // An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
  54044. // into Amazon S3 on your behalf.
  54045. //
  54046. // UploadPolicy is automatically base64 encoded/decoded by the SDK.
  54047. UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
  54048. // The signature of the JSON document.
  54049. UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
  54050. }
  54051. // String returns the string representation
  54052. func (s S3Storage) String() string {
  54053. return awsutil.Prettify(s)
  54054. }
  54055. // GoString returns the string representation
  54056. func (s S3Storage) GoString() string {
  54057. return s.String()
  54058. }
  54059. // SetAWSAccessKeyId sets the AWSAccessKeyId field's value.
  54060. func (s *S3Storage) SetAWSAccessKeyId(v string) *S3Storage {
  54061. s.AWSAccessKeyId = &v
  54062. return s
  54063. }
  54064. // SetBucket sets the Bucket field's value.
  54065. func (s *S3Storage) SetBucket(v string) *S3Storage {
  54066. s.Bucket = &v
  54067. return s
  54068. }
  54069. // SetPrefix sets the Prefix field's value.
  54070. func (s *S3Storage) SetPrefix(v string) *S3Storage {
  54071. s.Prefix = &v
  54072. return s
  54073. }
  54074. // SetUploadPolicy sets the UploadPolicy field's value.
  54075. func (s *S3Storage) SetUploadPolicy(v []byte) *S3Storage {
  54076. s.UploadPolicy = v
  54077. return s
  54078. }
  54079. // SetUploadPolicySignature sets the UploadPolicySignature field's value.
  54080. func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
  54081. s.UploadPolicySignature = &v
  54082. return s
  54083. }
  54084. // Describes a Scheduled Instance.
  54085. type ScheduledInstance struct {
  54086. _ struct{} `type:"structure"`
  54087. // The Availability Zone.
  54088. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  54089. // The date when the Scheduled Instance was purchased.
  54090. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  54091. // The hourly price for a single instance.
  54092. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  54093. // The number of instances.
  54094. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  54095. // The instance type.
  54096. InstanceType *string `locationName:"instanceType" type:"string"`
  54097. // The network platform (EC2-Classic or EC2-VPC).
  54098. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  54099. // The time for the next schedule to start.
  54100. NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
  54101. // The platform (Linux/UNIX or Windows).
  54102. Platform *string `locationName:"platform" type:"string"`
  54103. // The time that the previous schedule ended or will end.
  54104. PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp" timestampFormat:"iso8601"`
  54105. // The schedule recurrence.
  54106. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  54107. // The Scheduled Instance ID.
  54108. ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
  54109. // The number of hours in the schedule.
  54110. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  54111. // The end date for the Scheduled Instance.
  54112. TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp" timestampFormat:"iso8601"`
  54113. // The start date for the Scheduled Instance.
  54114. TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp" timestampFormat:"iso8601"`
  54115. // The total number of hours for a single instance for the entire term.
  54116. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  54117. }
  54118. // String returns the string representation
  54119. func (s ScheduledInstance) String() string {
  54120. return awsutil.Prettify(s)
  54121. }
  54122. // GoString returns the string representation
  54123. func (s ScheduledInstance) GoString() string {
  54124. return s.String()
  54125. }
  54126. // SetAvailabilityZone sets the AvailabilityZone field's value.
  54127. func (s *ScheduledInstance) SetAvailabilityZone(v string) *ScheduledInstance {
  54128. s.AvailabilityZone = &v
  54129. return s
  54130. }
  54131. // SetCreateDate sets the CreateDate field's value.
  54132. func (s *ScheduledInstance) SetCreateDate(v time.Time) *ScheduledInstance {
  54133. s.CreateDate = &v
  54134. return s
  54135. }
  54136. // SetHourlyPrice sets the HourlyPrice field's value.
  54137. func (s *ScheduledInstance) SetHourlyPrice(v string) *ScheduledInstance {
  54138. s.HourlyPrice = &v
  54139. return s
  54140. }
  54141. // SetInstanceCount sets the InstanceCount field's value.
  54142. func (s *ScheduledInstance) SetInstanceCount(v int64) *ScheduledInstance {
  54143. s.InstanceCount = &v
  54144. return s
  54145. }
  54146. // SetInstanceType sets the InstanceType field's value.
  54147. func (s *ScheduledInstance) SetInstanceType(v string) *ScheduledInstance {
  54148. s.InstanceType = &v
  54149. return s
  54150. }
  54151. // SetNetworkPlatform sets the NetworkPlatform field's value.
  54152. func (s *ScheduledInstance) SetNetworkPlatform(v string) *ScheduledInstance {
  54153. s.NetworkPlatform = &v
  54154. return s
  54155. }
  54156. // SetNextSlotStartTime sets the NextSlotStartTime field's value.
  54157. func (s *ScheduledInstance) SetNextSlotStartTime(v time.Time) *ScheduledInstance {
  54158. s.NextSlotStartTime = &v
  54159. return s
  54160. }
  54161. // SetPlatform sets the Platform field's value.
  54162. func (s *ScheduledInstance) SetPlatform(v string) *ScheduledInstance {
  54163. s.Platform = &v
  54164. return s
  54165. }
  54166. // SetPreviousSlotEndTime sets the PreviousSlotEndTime field's value.
  54167. func (s *ScheduledInstance) SetPreviousSlotEndTime(v time.Time) *ScheduledInstance {
  54168. s.PreviousSlotEndTime = &v
  54169. return s
  54170. }
  54171. // SetRecurrence sets the Recurrence field's value.
  54172. func (s *ScheduledInstance) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstance {
  54173. s.Recurrence = v
  54174. return s
  54175. }
  54176. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  54177. func (s *ScheduledInstance) SetScheduledInstanceId(v string) *ScheduledInstance {
  54178. s.ScheduledInstanceId = &v
  54179. return s
  54180. }
  54181. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  54182. func (s *ScheduledInstance) SetSlotDurationInHours(v int64) *ScheduledInstance {
  54183. s.SlotDurationInHours = &v
  54184. return s
  54185. }
  54186. // SetTermEndDate sets the TermEndDate field's value.
  54187. func (s *ScheduledInstance) SetTermEndDate(v time.Time) *ScheduledInstance {
  54188. s.TermEndDate = &v
  54189. return s
  54190. }
  54191. // SetTermStartDate sets the TermStartDate field's value.
  54192. func (s *ScheduledInstance) SetTermStartDate(v time.Time) *ScheduledInstance {
  54193. s.TermStartDate = &v
  54194. return s
  54195. }
  54196. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  54197. func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledInstance {
  54198. s.TotalScheduledInstanceHours = &v
  54199. return s
  54200. }
  54201. // Describes a schedule that is available for your Scheduled Instances.
  54202. type ScheduledInstanceAvailability struct {
  54203. _ struct{} `type:"structure"`
  54204. // The Availability Zone.
  54205. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  54206. // The number of available instances.
  54207. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
  54208. // The time period for the first schedule to start.
  54209. FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
  54210. // The hourly price for a single instance.
  54211. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  54212. // The instance type. You can specify one of the C3, C4, M4, or R3 instance
  54213. // types.
  54214. InstanceType *string `locationName:"instanceType" type:"string"`
  54215. // The maximum term. The only possible value is 365 days.
  54216. MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
  54217. // The minimum term. The only possible value is 365 days.
  54218. MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
  54219. // The network platform (EC2-Classic or EC2-VPC).
  54220. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  54221. // The platform (Linux/UNIX or Windows).
  54222. Platform *string `locationName:"platform" type:"string"`
  54223. // The purchase token. This token expires in two hours.
  54224. PurchaseToken *string `locationName:"purchaseToken" type:"string"`
  54225. // The schedule recurrence.
  54226. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  54227. // The number of hours in the schedule.
  54228. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  54229. // The total number of hours for a single instance for the entire term.
  54230. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  54231. }
  54232. // String returns the string representation
  54233. func (s ScheduledInstanceAvailability) String() string {
  54234. return awsutil.Prettify(s)
  54235. }
  54236. // GoString returns the string representation
  54237. func (s ScheduledInstanceAvailability) GoString() string {
  54238. return s.String()
  54239. }
  54240. // SetAvailabilityZone sets the AvailabilityZone field's value.
  54241. func (s *ScheduledInstanceAvailability) SetAvailabilityZone(v string) *ScheduledInstanceAvailability {
  54242. s.AvailabilityZone = &v
  54243. return s
  54244. }
  54245. // SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
  54246. func (s *ScheduledInstanceAvailability) SetAvailableInstanceCount(v int64) *ScheduledInstanceAvailability {
  54247. s.AvailableInstanceCount = &v
  54248. return s
  54249. }
  54250. // SetFirstSlotStartTime sets the FirstSlotStartTime field's value.
  54251. func (s *ScheduledInstanceAvailability) SetFirstSlotStartTime(v time.Time) *ScheduledInstanceAvailability {
  54252. s.FirstSlotStartTime = &v
  54253. return s
  54254. }
  54255. // SetHourlyPrice sets the HourlyPrice field's value.
  54256. func (s *ScheduledInstanceAvailability) SetHourlyPrice(v string) *ScheduledInstanceAvailability {
  54257. s.HourlyPrice = &v
  54258. return s
  54259. }
  54260. // SetInstanceType sets the InstanceType field's value.
  54261. func (s *ScheduledInstanceAvailability) SetInstanceType(v string) *ScheduledInstanceAvailability {
  54262. s.InstanceType = &v
  54263. return s
  54264. }
  54265. // SetMaxTermDurationInDays sets the MaxTermDurationInDays field's value.
  54266. func (s *ScheduledInstanceAvailability) SetMaxTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  54267. s.MaxTermDurationInDays = &v
  54268. return s
  54269. }
  54270. // SetMinTermDurationInDays sets the MinTermDurationInDays field's value.
  54271. func (s *ScheduledInstanceAvailability) SetMinTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  54272. s.MinTermDurationInDays = &v
  54273. return s
  54274. }
  54275. // SetNetworkPlatform sets the NetworkPlatform field's value.
  54276. func (s *ScheduledInstanceAvailability) SetNetworkPlatform(v string) *ScheduledInstanceAvailability {
  54277. s.NetworkPlatform = &v
  54278. return s
  54279. }
  54280. // SetPlatform sets the Platform field's value.
  54281. func (s *ScheduledInstanceAvailability) SetPlatform(v string) *ScheduledInstanceAvailability {
  54282. s.Platform = &v
  54283. return s
  54284. }
  54285. // SetPurchaseToken sets the PurchaseToken field's value.
  54286. func (s *ScheduledInstanceAvailability) SetPurchaseToken(v string) *ScheduledInstanceAvailability {
  54287. s.PurchaseToken = &v
  54288. return s
  54289. }
  54290. // SetRecurrence sets the Recurrence field's value.
  54291. func (s *ScheduledInstanceAvailability) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstanceAvailability {
  54292. s.Recurrence = v
  54293. return s
  54294. }
  54295. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  54296. func (s *ScheduledInstanceAvailability) SetSlotDurationInHours(v int64) *ScheduledInstanceAvailability {
  54297. s.SlotDurationInHours = &v
  54298. return s
  54299. }
  54300. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  54301. func (s *ScheduledInstanceAvailability) SetTotalScheduledInstanceHours(v int64) *ScheduledInstanceAvailability {
  54302. s.TotalScheduledInstanceHours = &v
  54303. return s
  54304. }
  54305. // Describes the recurring schedule for a Scheduled Instance.
  54306. type ScheduledInstanceRecurrence struct {
  54307. _ struct{} `type:"structure"`
  54308. // The frequency (Daily, Weekly, or Monthly).
  54309. Frequency *string `locationName:"frequency" type:"string"`
  54310. // The interval quantity. The interval unit depends on the value of frequency.
  54311. // For example, every 2 weeks or every 2 months.
  54312. Interval *int64 `locationName:"interval" type:"integer"`
  54313. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  54314. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  54315. // is Sunday).
  54316. OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
  54317. // Indicates whether the occurrence is relative to the end of the specified
  54318. // week or month.
  54319. OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
  54320. // The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
  54321. OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
  54322. }
  54323. // String returns the string representation
  54324. func (s ScheduledInstanceRecurrence) String() string {
  54325. return awsutil.Prettify(s)
  54326. }
  54327. // GoString returns the string representation
  54328. func (s ScheduledInstanceRecurrence) GoString() string {
  54329. return s.String()
  54330. }
  54331. // SetFrequency sets the Frequency field's value.
  54332. func (s *ScheduledInstanceRecurrence) SetFrequency(v string) *ScheduledInstanceRecurrence {
  54333. s.Frequency = &v
  54334. return s
  54335. }
  54336. // SetInterval sets the Interval field's value.
  54337. func (s *ScheduledInstanceRecurrence) SetInterval(v int64) *ScheduledInstanceRecurrence {
  54338. s.Interval = &v
  54339. return s
  54340. }
  54341. // SetOccurrenceDaySet sets the OccurrenceDaySet field's value.
  54342. func (s *ScheduledInstanceRecurrence) SetOccurrenceDaySet(v []*int64) *ScheduledInstanceRecurrence {
  54343. s.OccurrenceDaySet = v
  54344. return s
  54345. }
  54346. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  54347. func (s *ScheduledInstanceRecurrence) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrence {
  54348. s.OccurrenceRelativeToEnd = &v
  54349. return s
  54350. }
  54351. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  54352. func (s *ScheduledInstanceRecurrence) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrence {
  54353. s.OccurrenceUnit = &v
  54354. return s
  54355. }
  54356. // Describes the recurring schedule for a Scheduled Instance.
  54357. type ScheduledInstanceRecurrenceRequest struct {
  54358. _ struct{} `type:"structure"`
  54359. // The frequency (Daily, Weekly, or Monthly).
  54360. Frequency *string `type:"string"`
  54361. // The interval quantity. The interval unit depends on the value of Frequency.
  54362. // For example, every 2 weeks or every 2 months.
  54363. Interval *int64 `type:"integer"`
  54364. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  54365. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  54366. // is Sunday). You can't specify this value with a daily schedule. If the occurrence
  54367. // is relative to the end of the month, you can specify only a single day.
  54368. OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
  54369. // Indicates whether the occurrence is relative to the end of the specified
  54370. // week or month. You can't specify this value with a daily schedule.
  54371. OccurrenceRelativeToEnd *bool `type:"boolean"`
  54372. // The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
  54373. // for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
  54374. // You can't specify this value with a daily schedule.
  54375. OccurrenceUnit *string `type:"string"`
  54376. }
  54377. // String returns the string representation
  54378. func (s ScheduledInstanceRecurrenceRequest) String() string {
  54379. return awsutil.Prettify(s)
  54380. }
  54381. // GoString returns the string representation
  54382. func (s ScheduledInstanceRecurrenceRequest) GoString() string {
  54383. return s.String()
  54384. }
  54385. // SetFrequency sets the Frequency field's value.
  54386. func (s *ScheduledInstanceRecurrenceRequest) SetFrequency(v string) *ScheduledInstanceRecurrenceRequest {
  54387. s.Frequency = &v
  54388. return s
  54389. }
  54390. // SetInterval sets the Interval field's value.
  54391. func (s *ScheduledInstanceRecurrenceRequest) SetInterval(v int64) *ScheduledInstanceRecurrenceRequest {
  54392. s.Interval = &v
  54393. return s
  54394. }
  54395. // SetOccurrenceDays sets the OccurrenceDays field's value.
  54396. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceDays(v []*int64) *ScheduledInstanceRecurrenceRequest {
  54397. s.OccurrenceDays = v
  54398. return s
  54399. }
  54400. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  54401. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrenceRequest {
  54402. s.OccurrenceRelativeToEnd = &v
  54403. return s
  54404. }
  54405. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  54406. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrenceRequest {
  54407. s.OccurrenceUnit = &v
  54408. return s
  54409. }
  54410. // Describes a block device mapping for a Scheduled Instance.
  54411. type ScheduledInstancesBlockDeviceMapping struct {
  54412. _ struct{} `type:"structure"`
  54413. // The device name (for example, /dev/sdh or xvdh).
  54414. DeviceName *string `type:"string"`
  54415. // Parameters used to set up EBS volumes automatically when the instance is
  54416. // launched.
  54417. Ebs *ScheduledInstancesEbs `type:"structure"`
  54418. // Suppresses the specified device included in the block device mapping of the
  54419. // AMI.
  54420. NoDevice *string `type:"string"`
  54421. // The virtual device name (ephemeralN). Instance store volumes are numbered
  54422. // starting from 0. An instance type with two available instance store volumes
  54423. // can specify mappings for ephemeral0 and ephemeral1. The number of available
  54424. // instance store volumes depends on the instance type. After you connect to
  54425. // the instance, you must mount the volume.
  54426. //
  54427. // Constraints: For M3 instances, you must specify instance store volumes in
  54428. // the block device mapping for the instance. When you launch an M3 instance,
  54429. // we ignore any instance store volumes specified in the block device mapping
  54430. // for the AMI.
  54431. VirtualName *string `type:"string"`
  54432. }
  54433. // String returns the string representation
  54434. func (s ScheduledInstancesBlockDeviceMapping) String() string {
  54435. return awsutil.Prettify(s)
  54436. }
  54437. // GoString returns the string representation
  54438. func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
  54439. return s.String()
  54440. }
  54441. // SetDeviceName sets the DeviceName field's value.
  54442. func (s *ScheduledInstancesBlockDeviceMapping) SetDeviceName(v string) *ScheduledInstancesBlockDeviceMapping {
  54443. s.DeviceName = &v
  54444. return s
  54445. }
  54446. // SetEbs sets the Ebs field's value.
  54447. func (s *ScheduledInstancesBlockDeviceMapping) SetEbs(v *ScheduledInstancesEbs) *ScheduledInstancesBlockDeviceMapping {
  54448. s.Ebs = v
  54449. return s
  54450. }
  54451. // SetNoDevice sets the NoDevice field's value.
  54452. func (s *ScheduledInstancesBlockDeviceMapping) SetNoDevice(v string) *ScheduledInstancesBlockDeviceMapping {
  54453. s.NoDevice = &v
  54454. return s
  54455. }
  54456. // SetVirtualName sets the VirtualName field's value.
  54457. func (s *ScheduledInstancesBlockDeviceMapping) SetVirtualName(v string) *ScheduledInstancesBlockDeviceMapping {
  54458. s.VirtualName = &v
  54459. return s
  54460. }
  54461. // Describes an EBS volume for a Scheduled Instance.
  54462. type ScheduledInstancesEbs struct {
  54463. _ struct{} `type:"structure"`
  54464. // Indicates whether the volume is deleted on instance termination.
  54465. DeleteOnTermination *bool `type:"boolean"`
  54466. // Indicates whether the volume is encrypted. You can attached encrypted volumes
  54467. // only to instances that support them.
  54468. Encrypted *bool `type:"boolean"`
  54469. // The number of I/O operations per second (IOPS) that the volume supports.
  54470. // For io1 volumes, this represents the number of IOPS that are provisioned
  54471. // for the volume. For gp2 volumes, this represents the baseline performance
  54472. // of the volume and the rate at which the volume accumulates I/O credits for
  54473. // bursting. For more information about gp2 baseline performance, I/O credits,
  54474. // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  54475. // in the Amazon Elastic Compute Cloud User Guide.
  54476. //
  54477. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  54478. // gp2 volumes.
  54479. //
  54480. // Condition: This parameter is required for requests to create io1volumes;
  54481. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  54482. Iops *int64 `type:"integer"`
  54483. // The ID of the snapshot.
  54484. SnapshotId *string `type:"string"`
  54485. // The size of the volume, in GiB.
  54486. //
  54487. // Default: If you're creating the volume from a snapshot and don't specify
  54488. // a volume size, the default is the snapshot size.
  54489. VolumeSize *int64 `type:"integer"`
  54490. // The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD,
  54491. // Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.
  54492. //
  54493. // Default: standard
  54494. VolumeType *string `type:"string"`
  54495. }
  54496. // String returns the string representation
  54497. func (s ScheduledInstancesEbs) String() string {
  54498. return awsutil.Prettify(s)
  54499. }
  54500. // GoString returns the string representation
  54501. func (s ScheduledInstancesEbs) GoString() string {
  54502. return s.String()
  54503. }
  54504. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  54505. func (s *ScheduledInstancesEbs) SetDeleteOnTermination(v bool) *ScheduledInstancesEbs {
  54506. s.DeleteOnTermination = &v
  54507. return s
  54508. }
  54509. // SetEncrypted sets the Encrypted field's value.
  54510. func (s *ScheduledInstancesEbs) SetEncrypted(v bool) *ScheduledInstancesEbs {
  54511. s.Encrypted = &v
  54512. return s
  54513. }
  54514. // SetIops sets the Iops field's value.
  54515. func (s *ScheduledInstancesEbs) SetIops(v int64) *ScheduledInstancesEbs {
  54516. s.Iops = &v
  54517. return s
  54518. }
  54519. // SetSnapshotId sets the SnapshotId field's value.
  54520. func (s *ScheduledInstancesEbs) SetSnapshotId(v string) *ScheduledInstancesEbs {
  54521. s.SnapshotId = &v
  54522. return s
  54523. }
  54524. // SetVolumeSize sets the VolumeSize field's value.
  54525. func (s *ScheduledInstancesEbs) SetVolumeSize(v int64) *ScheduledInstancesEbs {
  54526. s.VolumeSize = &v
  54527. return s
  54528. }
  54529. // SetVolumeType sets the VolumeType field's value.
  54530. func (s *ScheduledInstancesEbs) SetVolumeType(v string) *ScheduledInstancesEbs {
  54531. s.VolumeType = &v
  54532. return s
  54533. }
  54534. // Describes an IAM instance profile for a Scheduled Instance.
  54535. type ScheduledInstancesIamInstanceProfile struct {
  54536. _ struct{} `type:"structure"`
  54537. // The Amazon Resource Name (ARN).
  54538. Arn *string `type:"string"`
  54539. // The name.
  54540. Name *string `type:"string"`
  54541. }
  54542. // String returns the string representation
  54543. func (s ScheduledInstancesIamInstanceProfile) String() string {
  54544. return awsutil.Prettify(s)
  54545. }
  54546. // GoString returns the string representation
  54547. func (s ScheduledInstancesIamInstanceProfile) GoString() string {
  54548. return s.String()
  54549. }
  54550. // SetArn sets the Arn field's value.
  54551. func (s *ScheduledInstancesIamInstanceProfile) SetArn(v string) *ScheduledInstancesIamInstanceProfile {
  54552. s.Arn = &v
  54553. return s
  54554. }
  54555. // SetName sets the Name field's value.
  54556. func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInstancesIamInstanceProfile {
  54557. s.Name = &v
  54558. return s
  54559. }
  54560. // Describes an IPv6 address.
  54561. type ScheduledInstancesIpv6Address struct {
  54562. _ struct{} `type:"structure"`
  54563. // The IPv6 address.
  54564. Ipv6Address *string `type:"string"`
  54565. }
  54566. // String returns the string representation
  54567. func (s ScheduledInstancesIpv6Address) String() string {
  54568. return awsutil.Prettify(s)
  54569. }
  54570. // GoString returns the string representation
  54571. func (s ScheduledInstancesIpv6Address) GoString() string {
  54572. return s.String()
  54573. }
  54574. // SetIpv6Address sets the Ipv6Address field's value.
  54575. func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInstancesIpv6Address {
  54576. s.Ipv6Address = &v
  54577. return s
  54578. }
  54579. // Describes the launch specification for a Scheduled Instance.
  54580. //
  54581. // If you are launching the Scheduled Instance in EC2-VPC, you must specify
  54582. // the ID of the subnet. You can specify the subnet using either SubnetId or
  54583. // NetworkInterface.
  54584. type ScheduledInstancesLaunchSpecification struct {
  54585. _ struct{} `type:"structure"`
  54586. // One or more block device mapping entries.
  54587. BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  54588. // Indicates whether the instances are optimized for EBS I/O. This optimization
  54589. // provides dedicated throughput to Amazon EBS and an optimized configuration
  54590. // stack to provide optimal EBS I/O performance. This optimization isn't available
  54591. // with all instance types. Additional usage charges apply when using an EBS-optimized
  54592. // instance.
  54593. //
  54594. // Default: false
  54595. EbsOptimized *bool `type:"boolean"`
  54596. // The IAM instance profile.
  54597. IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
  54598. // The ID of the Amazon Machine Image (AMI).
  54599. //
  54600. // ImageId is a required field
  54601. ImageId *string `type:"string" required:"true"`
  54602. // The instance type.
  54603. InstanceType *string `type:"string"`
  54604. // The ID of the kernel.
  54605. KernelId *string `type:"string"`
  54606. // The name of the key pair.
  54607. KeyName *string `type:"string"`
  54608. // Enable or disable monitoring for the instances.
  54609. Monitoring *ScheduledInstancesMonitoring `type:"structure"`
  54610. // One or more network interfaces.
  54611. NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
  54612. // The placement information.
  54613. Placement *ScheduledInstancesPlacement `type:"structure"`
  54614. // The ID of the RAM disk.
  54615. RamdiskId *string `type:"string"`
  54616. // The IDs of one or more security groups.
  54617. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  54618. // The ID of the subnet in which to launch the instances.
  54619. SubnetId *string `type:"string"`
  54620. // The base64-encoded MIME user data.
  54621. UserData *string `type:"string"`
  54622. }
  54623. // String returns the string representation
  54624. func (s ScheduledInstancesLaunchSpecification) String() string {
  54625. return awsutil.Prettify(s)
  54626. }
  54627. // GoString returns the string representation
  54628. func (s ScheduledInstancesLaunchSpecification) GoString() string {
  54629. return s.String()
  54630. }
  54631. // Validate inspects the fields of the type to determine if they are valid.
  54632. func (s *ScheduledInstancesLaunchSpecification) Validate() error {
  54633. invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
  54634. if s.ImageId == nil {
  54635. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  54636. }
  54637. if invalidParams.Len() > 0 {
  54638. return invalidParams
  54639. }
  54640. return nil
  54641. }
  54642. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  54643. func (s *ScheduledInstancesLaunchSpecification) SetBlockDeviceMappings(v []*ScheduledInstancesBlockDeviceMapping) *ScheduledInstancesLaunchSpecification {
  54644. s.BlockDeviceMappings = v
  54645. return s
  54646. }
  54647. // SetEbsOptimized sets the EbsOptimized field's value.
  54648. func (s *ScheduledInstancesLaunchSpecification) SetEbsOptimized(v bool) *ScheduledInstancesLaunchSpecification {
  54649. s.EbsOptimized = &v
  54650. return s
  54651. }
  54652. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  54653. func (s *ScheduledInstancesLaunchSpecification) SetIamInstanceProfile(v *ScheduledInstancesIamInstanceProfile) *ScheduledInstancesLaunchSpecification {
  54654. s.IamInstanceProfile = v
  54655. return s
  54656. }
  54657. // SetImageId sets the ImageId field's value.
  54658. func (s *ScheduledInstancesLaunchSpecification) SetImageId(v string) *ScheduledInstancesLaunchSpecification {
  54659. s.ImageId = &v
  54660. return s
  54661. }
  54662. // SetInstanceType sets the InstanceType field's value.
  54663. func (s *ScheduledInstancesLaunchSpecification) SetInstanceType(v string) *ScheduledInstancesLaunchSpecification {
  54664. s.InstanceType = &v
  54665. return s
  54666. }
  54667. // SetKernelId sets the KernelId field's value.
  54668. func (s *ScheduledInstancesLaunchSpecification) SetKernelId(v string) *ScheduledInstancesLaunchSpecification {
  54669. s.KernelId = &v
  54670. return s
  54671. }
  54672. // SetKeyName sets the KeyName field's value.
  54673. func (s *ScheduledInstancesLaunchSpecification) SetKeyName(v string) *ScheduledInstancesLaunchSpecification {
  54674. s.KeyName = &v
  54675. return s
  54676. }
  54677. // SetMonitoring sets the Monitoring field's value.
  54678. func (s *ScheduledInstancesLaunchSpecification) SetMonitoring(v *ScheduledInstancesMonitoring) *ScheduledInstancesLaunchSpecification {
  54679. s.Monitoring = v
  54680. return s
  54681. }
  54682. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  54683. func (s *ScheduledInstancesLaunchSpecification) SetNetworkInterfaces(v []*ScheduledInstancesNetworkInterface) *ScheduledInstancesLaunchSpecification {
  54684. s.NetworkInterfaces = v
  54685. return s
  54686. }
  54687. // SetPlacement sets the Placement field's value.
  54688. func (s *ScheduledInstancesLaunchSpecification) SetPlacement(v *ScheduledInstancesPlacement) *ScheduledInstancesLaunchSpecification {
  54689. s.Placement = v
  54690. return s
  54691. }
  54692. // SetRamdiskId sets the RamdiskId field's value.
  54693. func (s *ScheduledInstancesLaunchSpecification) SetRamdiskId(v string) *ScheduledInstancesLaunchSpecification {
  54694. s.RamdiskId = &v
  54695. return s
  54696. }
  54697. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  54698. func (s *ScheduledInstancesLaunchSpecification) SetSecurityGroupIds(v []*string) *ScheduledInstancesLaunchSpecification {
  54699. s.SecurityGroupIds = v
  54700. return s
  54701. }
  54702. // SetSubnetId sets the SubnetId field's value.
  54703. func (s *ScheduledInstancesLaunchSpecification) SetSubnetId(v string) *ScheduledInstancesLaunchSpecification {
  54704. s.SubnetId = &v
  54705. return s
  54706. }
  54707. // SetUserData sets the UserData field's value.
  54708. func (s *ScheduledInstancesLaunchSpecification) SetUserData(v string) *ScheduledInstancesLaunchSpecification {
  54709. s.UserData = &v
  54710. return s
  54711. }
  54712. // Describes whether monitoring is enabled for a Scheduled Instance.
  54713. type ScheduledInstancesMonitoring struct {
  54714. _ struct{} `type:"structure"`
  54715. // Indicates whether monitoring is enabled.
  54716. Enabled *bool `type:"boolean"`
  54717. }
  54718. // String returns the string representation
  54719. func (s ScheduledInstancesMonitoring) String() string {
  54720. return awsutil.Prettify(s)
  54721. }
  54722. // GoString returns the string representation
  54723. func (s ScheduledInstancesMonitoring) GoString() string {
  54724. return s.String()
  54725. }
  54726. // SetEnabled sets the Enabled field's value.
  54727. func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMonitoring {
  54728. s.Enabled = &v
  54729. return s
  54730. }
  54731. // Describes a network interface for a Scheduled Instance.
  54732. type ScheduledInstancesNetworkInterface struct {
  54733. _ struct{} `type:"structure"`
  54734. // Indicates whether to assign a public IPv4 address to instances launched in
  54735. // a VPC. The public IPv4 address can only be assigned to a network interface
  54736. // for eth0, and can only be assigned to a new network interface, not an existing
  54737. // one. You cannot specify more than one network interface in the request. If
  54738. // launching into a default subnet, the default value is true.
  54739. AssociatePublicIpAddress *bool `type:"boolean"`
  54740. // Indicates whether to delete the interface when the instance is terminated.
  54741. DeleteOnTermination *bool `type:"boolean"`
  54742. // The description.
  54743. Description *string `type:"string"`
  54744. // The index of the device for the network interface attachment.
  54745. DeviceIndex *int64 `type:"integer"`
  54746. // The IDs of one or more security groups.
  54747. Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
  54748. // The number of IPv6 addresses to assign to the network interface. The IPv6
  54749. // addresses are automatically selected from the subnet range.
  54750. Ipv6AddressCount *int64 `type:"integer"`
  54751. // One or more specific IPv6 addresses from the subnet range.
  54752. Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"`
  54753. // The ID of the network interface.
  54754. NetworkInterfaceId *string `type:"string"`
  54755. // The IPv4 address of the network interface within the subnet.
  54756. PrivateIpAddress *string `type:"string"`
  54757. // The private IPv4 addresses.
  54758. PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
  54759. // The number of secondary private IPv4 addresses.
  54760. SecondaryPrivateIpAddressCount *int64 `type:"integer"`
  54761. // The ID of the subnet.
  54762. SubnetId *string `type:"string"`
  54763. }
  54764. // String returns the string representation
  54765. func (s ScheduledInstancesNetworkInterface) String() string {
  54766. return awsutil.Prettify(s)
  54767. }
  54768. // GoString returns the string representation
  54769. func (s ScheduledInstancesNetworkInterface) GoString() string {
  54770. return s.String()
  54771. }
  54772. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  54773. func (s *ScheduledInstancesNetworkInterface) SetAssociatePublicIpAddress(v bool) *ScheduledInstancesNetworkInterface {
  54774. s.AssociatePublicIpAddress = &v
  54775. return s
  54776. }
  54777. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  54778. func (s *ScheduledInstancesNetworkInterface) SetDeleteOnTermination(v bool) *ScheduledInstancesNetworkInterface {
  54779. s.DeleteOnTermination = &v
  54780. return s
  54781. }
  54782. // SetDescription sets the Description field's value.
  54783. func (s *ScheduledInstancesNetworkInterface) SetDescription(v string) *ScheduledInstancesNetworkInterface {
  54784. s.Description = &v
  54785. return s
  54786. }
  54787. // SetDeviceIndex sets the DeviceIndex field's value.
  54788. func (s *ScheduledInstancesNetworkInterface) SetDeviceIndex(v int64) *ScheduledInstancesNetworkInterface {
  54789. s.DeviceIndex = &v
  54790. return s
  54791. }
  54792. // SetGroups sets the Groups field's value.
  54793. func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledInstancesNetworkInterface {
  54794. s.Groups = v
  54795. return s
  54796. }
  54797. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  54798. func (s *ScheduledInstancesNetworkInterface) SetIpv6AddressCount(v int64) *ScheduledInstancesNetworkInterface {
  54799. s.Ipv6AddressCount = &v
  54800. return s
  54801. }
  54802. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  54803. func (s *ScheduledInstancesNetworkInterface) SetIpv6Addresses(v []*ScheduledInstancesIpv6Address) *ScheduledInstancesNetworkInterface {
  54804. s.Ipv6Addresses = v
  54805. return s
  54806. }
  54807. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  54808. func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface {
  54809. s.NetworkInterfaceId = &v
  54810. return s
  54811. }
  54812. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  54813. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddress(v string) *ScheduledInstancesNetworkInterface {
  54814. s.PrivateIpAddress = &v
  54815. return s
  54816. }
  54817. // SetPrivateIpAddressConfigs sets the PrivateIpAddressConfigs field's value.
  54818. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddressConfigs(v []*ScheduledInstancesPrivateIpAddressConfig) *ScheduledInstancesNetworkInterface {
  54819. s.PrivateIpAddressConfigs = v
  54820. return s
  54821. }
  54822. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  54823. func (s *ScheduledInstancesNetworkInterface) SetSecondaryPrivateIpAddressCount(v int64) *ScheduledInstancesNetworkInterface {
  54824. s.SecondaryPrivateIpAddressCount = &v
  54825. return s
  54826. }
  54827. // SetSubnetId sets the SubnetId field's value.
  54828. func (s *ScheduledInstancesNetworkInterface) SetSubnetId(v string) *ScheduledInstancesNetworkInterface {
  54829. s.SubnetId = &v
  54830. return s
  54831. }
  54832. // Describes the placement for a Scheduled Instance.
  54833. type ScheduledInstancesPlacement struct {
  54834. _ struct{} `type:"structure"`
  54835. // The Availability Zone.
  54836. AvailabilityZone *string `type:"string"`
  54837. // The name of the placement group.
  54838. GroupName *string `type:"string"`
  54839. }
  54840. // String returns the string representation
  54841. func (s ScheduledInstancesPlacement) String() string {
  54842. return awsutil.Prettify(s)
  54843. }
  54844. // GoString returns the string representation
  54845. func (s ScheduledInstancesPlacement) GoString() string {
  54846. return s.String()
  54847. }
  54848. // SetAvailabilityZone sets the AvailabilityZone field's value.
  54849. func (s *ScheduledInstancesPlacement) SetAvailabilityZone(v string) *ScheduledInstancesPlacement {
  54850. s.AvailabilityZone = &v
  54851. return s
  54852. }
  54853. // SetGroupName sets the GroupName field's value.
  54854. func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstancesPlacement {
  54855. s.GroupName = &v
  54856. return s
  54857. }
  54858. // Describes a private IPv4 address for a Scheduled Instance.
  54859. type ScheduledInstancesPrivateIpAddressConfig struct {
  54860. _ struct{} `type:"structure"`
  54861. // Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary
  54862. // IPv4 address.
  54863. Primary *bool `type:"boolean"`
  54864. // The IPv4 address.
  54865. PrivateIpAddress *string `type:"string"`
  54866. }
  54867. // String returns the string representation
  54868. func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
  54869. return awsutil.Prettify(s)
  54870. }
  54871. // GoString returns the string representation
  54872. func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
  54873. return s.String()
  54874. }
  54875. // SetPrimary sets the Primary field's value.
  54876. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrimary(v bool) *ScheduledInstancesPrivateIpAddressConfig {
  54877. s.Primary = &v
  54878. return s
  54879. }
  54880. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  54881. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string) *ScheduledInstancesPrivateIpAddressConfig {
  54882. s.PrivateIpAddress = &v
  54883. return s
  54884. }
  54885. // Describes a security group
  54886. type SecurityGroup struct {
  54887. _ struct{} `type:"structure"`
  54888. // A description of the security group.
  54889. Description *string `locationName:"groupDescription" type:"string"`
  54890. // The ID of the security group.
  54891. GroupId *string `locationName:"groupId" type:"string"`
  54892. // The name of the security group.
  54893. GroupName *string `locationName:"groupName" type:"string"`
  54894. // One or more inbound rules associated with the security group.
  54895. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  54896. // [EC2-VPC] One or more outbound rules associated with the security group.
  54897. IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
  54898. // The AWS account ID of the owner of the security group.
  54899. OwnerId *string `locationName:"ownerId" type:"string"`
  54900. // Any tags assigned to the security group.
  54901. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  54902. // [EC2-VPC] The ID of the VPC for the security group.
  54903. VpcId *string `locationName:"vpcId" type:"string"`
  54904. }
  54905. // String returns the string representation
  54906. func (s SecurityGroup) String() string {
  54907. return awsutil.Prettify(s)
  54908. }
  54909. // GoString returns the string representation
  54910. func (s SecurityGroup) GoString() string {
  54911. return s.String()
  54912. }
  54913. // SetDescription sets the Description field's value.
  54914. func (s *SecurityGroup) SetDescription(v string) *SecurityGroup {
  54915. s.Description = &v
  54916. return s
  54917. }
  54918. // SetGroupId sets the GroupId field's value.
  54919. func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
  54920. s.GroupId = &v
  54921. return s
  54922. }
  54923. // SetGroupName sets the GroupName field's value.
  54924. func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
  54925. s.GroupName = &v
  54926. return s
  54927. }
  54928. // SetIpPermissions sets the IpPermissions field's value.
  54929. func (s *SecurityGroup) SetIpPermissions(v []*IpPermission) *SecurityGroup {
  54930. s.IpPermissions = v
  54931. return s
  54932. }
  54933. // SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
  54934. func (s *SecurityGroup) SetIpPermissionsEgress(v []*IpPermission) *SecurityGroup {
  54935. s.IpPermissionsEgress = v
  54936. return s
  54937. }
  54938. // SetOwnerId sets the OwnerId field's value.
  54939. func (s *SecurityGroup) SetOwnerId(v string) *SecurityGroup {
  54940. s.OwnerId = &v
  54941. return s
  54942. }
  54943. // SetTags sets the Tags field's value.
  54944. func (s *SecurityGroup) SetTags(v []*Tag) *SecurityGroup {
  54945. s.Tags = v
  54946. return s
  54947. }
  54948. // SetVpcId sets the VpcId field's value.
  54949. func (s *SecurityGroup) SetVpcId(v string) *SecurityGroup {
  54950. s.VpcId = &v
  54951. return s
  54952. }
  54953. // Describes a security group.
  54954. type SecurityGroupIdentifier struct {
  54955. _ struct{} `type:"structure"`
  54956. // The ID of the security group.
  54957. GroupId *string `locationName:"groupId" type:"string"`
  54958. // The name of the security group.
  54959. GroupName *string `locationName:"groupName" type:"string"`
  54960. }
  54961. // String returns the string representation
  54962. func (s SecurityGroupIdentifier) String() string {
  54963. return awsutil.Prettify(s)
  54964. }
  54965. // GoString returns the string representation
  54966. func (s SecurityGroupIdentifier) GoString() string {
  54967. return s.String()
  54968. }
  54969. // SetGroupId sets the GroupId field's value.
  54970. func (s *SecurityGroupIdentifier) SetGroupId(v string) *SecurityGroupIdentifier {
  54971. s.GroupId = &v
  54972. return s
  54973. }
  54974. // SetGroupName sets the GroupName field's value.
  54975. func (s *SecurityGroupIdentifier) SetGroupName(v string) *SecurityGroupIdentifier {
  54976. s.GroupName = &v
  54977. return s
  54978. }
  54979. // Describes a VPC with a security group that references your security group.
  54980. type SecurityGroupReference struct {
  54981. _ struct{} `type:"structure"`
  54982. // The ID of your security group.
  54983. //
  54984. // GroupId is a required field
  54985. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  54986. // The ID of the VPC with the referencing security group.
  54987. //
  54988. // ReferencingVpcId is a required field
  54989. ReferencingVpcId *string `locationName:"referencingVpcId" type:"string" required:"true"`
  54990. // The ID of the VPC peering connection.
  54991. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  54992. }
  54993. // String returns the string representation
  54994. func (s SecurityGroupReference) String() string {
  54995. return awsutil.Prettify(s)
  54996. }
  54997. // GoString returns the string representation
  54998. func (s SecurityGroupReference) GoString() string {
  54999. return s.String()
  55000. }
  55001. // SetGroupId sets the GroupId field's value.
  55002. func (s *SecurityGroupReference) SetGroupId(v string) *SecurityGroupReference {
  55003. s.GroupId = &v
  55004. return s
  55005. }
  55006. // SetReferencingVpcId sets the ReferencingVpcId field's value.
  55007. func (s *SecurityGroupReference) SetReferencingVpcId(v string) *SecurityGroupReference {
  55008. s.ReferencingVpcId = &v
  55009. return s
  55010. }
  55011. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  55012. func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGroupReference {
  55013. s.VpcPeeringConnectionId = &v
  55014. return s
  55015. }
  55016. // Describes a service configuration for a VPC endpoint service.
  55017. type ServiceConfiguration struct {
  55018. _ struct{} `type:"structure"`
  55019. // Indicates whether requests from other AWS accounts to create an endpoint
  55020. // to the service must first be accepted.
  55021. AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
  55022. // In the Availability Zones in which the service is available.
  55023. AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
  55024. // The DNS names for the service.
  55025. BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
  55026. // The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.
  55027. NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
  55028. // The private DNS name for the service.
  55029. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  55030. // The ID of the service.
  55031. ServiceId *string `locationName:"serviceId" type:"string"`
  55032. // The name of the service.
  55033. ServiceName *string `locationName:"serviceName" type:"string"`
  55034. // The service state.
  55035. ServiceState *string `locationName:"serviceState" type:"string" enum:"ServiceState"`
  55036. // The type of service.
  55037. ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
  55038. }
  55039. // String returns the string representation
  55040. func (s ServiceConfiguration) String() string {
  55041. return awsutil.Prettify(s)
  55042. }
  55043. // GoString returns the string representation
  55044. func (s ServiceConfiguration) GoString() string {
  55045. return s.String()
  55046. }
  55047. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  55048. func (s *ServiceConfiguration) SetAcceptanceRequired(v bool) *ServiceConfiguration {
  55049. s.AcceptanceRequired = &v
  55050. return s
  55051. }
  55052. // SetAvailabilityZones sets the AvailabilityZones field's value.
  55053. func (s *ServiceConfiguration) SetAvailabilityZones(v []*string) *ServiceConfiguration {
  55054. s.AvailabilityZones = v
  55055. return s
  55056. }
  55057. // SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
  55058. func (s *ServiceConfiguration) SetBaseEndpointDnsNames(v []*string) *ServiceConfiguration {
  55059. s.BaseEndpointDnsNames = v
  55060. return s
  55061. }
  55062. // SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
  55063. func (s *ServiceConfiguration) SetNetworkLoadBalancerArns(v []*string) *ServiceConfiguration {
  55064. s.NetworkLoadBalancerArns = v
  55065. return s
  55066. }
  55067. // SetPrivateDnsName sets the PrivateDnsName field's value.
  55068. func (s *ServiceConfiguration) SetPrivateDnsName(v string) *ServiceConfiguration {
  55069. s.PrivateDnsName = &v
  55070. return s
  55071. }
  55072. // SetServiceId sets the ServiceId field's value.
  55073. func (s *ServiceConfiguration) SetServiceId(v string) *ServiceConfiguration {
  55074. s.ServiceId = &v
  55075. return s
  55076. }
  55077. // SetServiceName sets the ServiceName field's value.
  55078. func (s *ServiceConfiguration) SetServiceName(v string) *ServiceConfiguration {
  55079. s.ServiceName = &v
  55080. return s
  55081. }
  55082. // SetServiceState sets the ServiceState field's value.
  55083. func (s *ServiceConfiguration) SetServiceState(v string) *ServiceConfiguration {
  55084. s.ServiceState = &v
  55085. return s
  55086. }
  55087. // SetServiceType sets the ServiceType field's value.
  55088. func (s *ServiceConfiguration) SetServiceType(v []*ServiceTypeDetail) *ServiceConfiguration {
  55089. s.ServiceType = v
  55090. return s
  55091. }
  55092. // Describes a VPC endpoint service.
  55093. type ServiceDetail struct {
  55094. _ struct{} `type:"structure"`
  55095. // Indicates whether VPC endpoint connection requests to the service must be
  55096. // accepted by the service owner.
  55097. AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
  55098. // The Availability Zones in which the service is available.
  55099. AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
  55100. // The DNS names for the service.
  55101. BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
  55102. // The AWS account ID of the service owner.
  55103. Owner *string `locationName:"owner" type:"string"`
  55104. // The private DNS name for the service.
  55105. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  55106. // The Amazon Resource Name (ARN) of the service.
  55107. ServiceName *string `locationName:"serviceName" type:"string"`
  55108. // The type of service.
  55109. ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
  55110. // Indicates whether the service supports endpoint policies.
  55111. VpcEndpointPolicySupported *bool `locationName:"vpcEndpointPolicySupported" type:"boolean"`
  55112. }
  55113. // String returns the string representation
  55114. func (s ServiceDetail) String() string {
  55115. return awsutil.Prettify(s)
  55116. }
  55117. // GoString returns the string representation
  55118. func (s ServiceDetail) GoString() string {
  55119. return s.String()
  55120. }
  55121. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  55122. func (s *ServiceDetail) SetAcceptanceRequired(v bool) *ServiceDetail {
  55123. s.AcceptanceRequired = &v
  55124. return s
  55125. }
  55126. // SetAvailabilityZones sets the AvailabilityZones field's value.
  55127. func (s *ServiceDetail) SetAvailabilityZones(v []*string) *ServiceDetail {
  55128. s.AvailabilityZones = v
  55129. return s
  55130. }
  55131. // SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
  55132. func (s *ServiceDetail) SetBaseEndpointDnsNames(v []*string) *ServiceDetail {
  55133. s.BaseEndpointDnsNames = v
  55134. return s
  55135. }
  55136. // SetOwner sets the Owner field's value.
  55137. func (s *ServiceDetail) SetOwner(v string) *ServiceDetail {
  55138. s.Owner = &v
  55139. return s
  55140. }
  55141. // SetPrivateDnsName sets the PrivateDnsName field's value.
  55142. func (s *ServiceDetail) SetPrivateDnsName(v string) *ServiceDetail {
  55143. s.PrivateDnsName = &v
  55144. return s
  55145. }
  55146. // SetServiceName sets the ServiceName field's value.
  55147. func (s *ServiceDetail) SetServiceName(v string) *ServiceDetail {
  55148. s.ServiceName = &v
  55149. return s
  55150. }
  55151. // SetServiceType sets the ServiceType field's value.
  55152. func (s *ServiceDetail) SetServiceType(v []*ServiceTypeDetail) *ServiceDetail {
  55153. s.ServiceType = v
  55154. return s
  55155. }
  55156. // SetVpcEndpointPolicySupported sets the VpcEndpointPolicySupported field's value.
  55157. func (s *ServiceDetail) SetVpcEndpointPolicySupported(v bool) *ServiceDetail {
  55158. s.VpcEndpointPolicySupported = &v
  55159. return s
  55160. }
  55161. // Describes the type of service for a VPC endpoint.
  55162. type ServiceTypeDetail struct {
  55163. _ struct{} `type:"structure"`
  55164. // The type of service.
  55165. ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"`
  55166. }
  55167. // String returns the string representation
  55168. func (s ServiceTypeDetail) String() string {
  55169. return awsutil.Prettify(s)
  55170. }
  55171. // GoString returns the string representation
  55172. func (s ServiceTypeDetail) GoString() string {
  55173. return s.String()
  55174. }
  55175. // SetServiceType sets the ServiceType field's value.
  55176. func (s *ServiceTypeDetail) SetServiceType(v string) *ServiceTypeDetail {
  55177. s.ServiceType = &v
  55178. return s
  55179. }
  55180. // Describes the time period for a Scheduled Instance to start its first schedule.
  55181. // The time period must span less than one day.
  55182. type SlotDateTimeRangeRequest struct {
  55183. _ struct{} `type:"structure"`
  55184. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  55185. //
  55186. // EarliestTime is a required field
  55187. EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  55188. // The latest date and time, in UTC, for the Scheduled Instance to start. This
  55189. // value must be later than or equal to the earliest date and at most three
  55190. // months in the future.
  55191. //
  55192. // LatestTime is a required field
  55193. LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  55194. }
  55195. // String returns the string representation
  55196. func (s SlotDateTimeRangeRequest) String() string {
  55197. return awsutil.Prettify(s)
  55198. }
  55199. // GoString returns the string representation
  55200. func (s SlotDateTimeRangeRequest) GoString() string {
  55201. return s.String()
  55202. }
  55203. // Validate inspects the fields of the type to determine if they are valid.
  55204. func (s *SlotDateTimeRangeRequest) Validate() error {
  55205. invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
  55206. if s.EarliestTime == nil {
  55207. invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
  55208. }
  55209. if s.LatestTime == nil {
  55210. invalidParams.Add(request.NewErrParamRequired("LatestTime"))
  55211. }
  55212. if invalidParams.Len() > 0 {
  55213. return invalidParams
  55214. }
  55215. return nil
  55216. }
  55217. // SetEarliestTime sets the EarliestTime field's value.
  55218. func (s *SlotDateTimeRangeRequest) SetEarliestTime(v time.Time) *SlotDateTimeRangeRequest {
  55219. s.EarliestTime = &v
  55220. return s
  55221. }
  55222. // SetLatestTime sets the LatestTime field's value.
  55223. func (s *SlotDateTimeRangeRequest) SetLatestTime(v time.Time) *SlotDateTimeRangeRequest {
  55224. s.LatestTime = &v
  55225. return s
  55226. }
  55227. // Describes the time period for a Scheduled Instance to start its first schedule.
  55228. type SlotStartTimeRangeRequest struct {
  55229. _ struct{} `type:"structure"`
  55230. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  55231. EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  55232. // The latest date and time, in UTC, for the Scheduled Instance to start.
  55233. LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  55234. }
  55235. // String returns the string representation
  55236. func (s SlotStartTimeRangeRequest) String() string {
  55237. return awsutil.Prettify(s)
  55238. }
  55239. // GoString returns the string representation
  55240. func (s SlotStartTimeRangeRequest) GoString() string {
  55241. return s.String()
  55242. }
  55243. // SetEarliestTime sets the EarliestTime field's value.
  55244. func (s *SlotStartTimeRangeRequest) SetEarliestTime(v time.Time) *SlotStartTimeRangeRequest {
  55245. s.EarliestTime = &v
  55246. return s
  55247. }
  55248. // SetLatestTime sets the LatestTime field's value.
  55249. func (s *SlotStartTimeRangeRequest) SetLatestTime(v time.Time) *SlotStartTimeRangeRequest {
  55250. s.LatestTime = &v
  55251. return s
  55252. }
  55253. // Describes a snapshot.
  55254. type Snapshot struct {
  55255. _ struct{} `type:"structure"`
  55256. // The data encryption key identifier for the snapshot. This value is a unique
  55257. // identifier that corresponds to the data encryption key that was used to encrypt
  55258. // the original volume or snapshot copy. Because data encryption keys are inherited
  55259. // by volumes created from snapshots, and vice versa, if snapshots share the
  55260. // same data encryption key identifier, then they belong to the same volume/snapshot
  55261. // lineage. This parameter is only returned by the DescribeSnapshots API operation.
  55262. DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
  55263. // The description for the snapshot.
  55264. Description *string `locationName:"description" type:"string"`
  55265. // Indicates whether the snapshot is encrypted.
  55266. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  55267. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  55268. // key (CMK) that was used to protect the volume encryption key for the parent
  55269. // volume.
  55270. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  55271. // Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft)
  55272. // of snapshot owners. Not to be confused with the user-configured AWS account
  55273. // alias, which is set from the IAM console.
  55274. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  55275. // The AWS account ID of the EBS snapshot owner.
  55276. OwnerId *string `locationName:"ownerId" type:"string"`
  55277. // The progress of the snapshot, as a percentage.
  55278. Progress *string `locationName:"progress" type:"string"`
  55279. // The ID of the snapshot. Each snapshot receives a unique identifier when it
  55280. // is created.
  55281. SnapshotId *string `locationName:"snapshotId" type:"string"`
  55282. // The time stamp when the snapshot was initiated.
  55283. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  55284. // The snapshot state.
  55285. State *string `locationName:"status" type:"string" enum:"SnapshotState"`
  55286. // Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
  55287. // operation fails (for example, if the proper AWS Key Management Service (AWS
  55288. // KMS) permissions are not obtained) this field displays error state details
  55289. // to help you diagnose why the error occurred. This parameter is only returned
  55290. // by the DescribeSnapshots API operation.
  55291. StateMessage *string `locationName:"statusMessage" type:"string"`
  55292. // Any tags assigned to the snapshot.
  55293. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  55294. // The ID of the volume that was used to create the snapshot. Snapshots created
  55295. // by the CopySnapshot action have an arbitrary volume ID that should not be
  55296. // used for any purpose.
  55297. VolumeId *string `locationName:"volumeId" type:"string"`
  55298. // The size of the volume, in GiB.
  55299. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  55300. }
  55301. // String returns the string representation
  55302. func (s Snapshot) String() string {
  55303. return awsutil.Prettify(s)
  55304. }
  55305. // GoString returns the string representation
  55306. func (s Snapshot) GoString() string {
  55307. return s.String()
  55308. }
  55309. // SetDataEncryptionKeyId sets the DataEncryptionKeyId field's value.
  55310. func (s *Snapshot) SetDataEncryptionKeyId(v string) *Snapshot {
  55311. s.DataEncryptionKeyId = &v
  55312. return s
  55313. }
  55314. // SetDescription sets the Description field's value.
  55315. func (s *Snapshot) SetDescription(v string) *Snapshot {
  55316. s.Description = &v
  55317. return s
  55318. }
  55319. // SetEncrypted sets the Encrypted field's value.
  55320. func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
  55321. s.Encrypted = &v
  55322. return s
  55323. }
  55324. // SetKmsKeyId sets the KmsKeyId field's value.
  55325. func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
  55326. s.KmsKeyId = &v
  55327. return s
  55328. }
  55329. // SetOwnerAlias sets the OwnerAlias field's value.
  55330. func (s *Snapshot) SetOwnerAlias(v string) *Snapshot {
  55331. s.OwnerAlias = &v
  55332. return s
  55333. }
  55334. // SetOwnerId sets the OwnerId field's value.
  55335. func (s *Snapshot) SetOwnerId(v string) *Snapshot {
  55336. s.OwnerId = &v
  55337. return s
  55338. }
  55339. // SetProgress sets the Progress field's value.
  55340. func (s *Snapshot) SetProgress(v string) *Snapshot {
  55341. s.Progress = &v
  55342. return s
  55343. }
  55344. // SetSnapshotId sets the SnapshotId field's value.
  55345. func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
  55346. s.SnapshotId = &v
  55347. return s
  55348. }
  55349. // SetStartTime sets the StartTime field's value.
  55350. func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
  55351. s.StartTime = &v
  55352. return s
  55353. }
  55354. // SetState sets the State field's value.
  55355. func (s *Snapshot) SetState(v string) *Snapshot {
  55356. s.State = &v
  55357. return s
  55358. }
  55359. // SetStateMessage sets the StateMessage field's value.
  55360. func (s *Snapshot) SetStateMessage(v string) *Snapshot {
  55361. s.StateMessage = &v
  55362. return s
  55363. }
  55364. // SetTags sets the Tags field's value.
  55365. func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
  55366. s.Tags = v
  55367. return s
  55368. }
  55369. // SetVolumeId sets the VolumeId field's value.
  55370. func (s *Snapshot) SetVolumeId(v string) *Snapshot {
  55371. s.VolumeId = &v
  55372. return s
  55373. }
  55374. // SetVolumeSize sets the VolumeSize field's value.
  55375. func (s *Snapshot) SetVolumeSize(v int64) *Snapshot {
  55376. s.VolumeSize = &v
  55377. return s
  55378. }
  55379. // Describes the snapshot created from the imported disk.
  55380. type SnapshotDetail struct {
  55381. _ struct{} `type:"structure"`
  55382. // A description for the snapshot.
  55383. Description *string `locationName:"description" type:"string"`
  55384. // The block device mapping for the snapshot.
  55385. DeviceName *string `locationName:"deviceName" type:"string"`
  55386. // The size of the disk in the snapshot, in GiB.
  55387. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  55388. // The format of the disk image from which the snapshot is created.
  55389. Format *string `locationName:"format" type:"string"`
  55390. // The percentage of progress for the task.
  55391. Progress *string `locationName:"progress" type:"string"`
  55392. // The snapshot ID of the disk being imported.
  55393. SnapshotId *string `locationName:"snapshotId" type:"string"`
  55394. // A brief status of the snapshot creation.
  55395. Status *string `locationName:"status" type:"string"`
  55396. // A detailed status message for the snapshot creation.
  55397. StatusMessage *string `locationName:"statusMessage" type:"string"`
  55398. // The URL used to access the disk image.
  55399. Url *string `locationName:"url" type:"string"`
  55400. // The S3 bucket for the disk image.
  55401. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  55402. }
  55403. // String returns the string representation
  55404. func (s SnapshotDetail) String() string {
  55405. return awsutil.Prettify(s)
  55406. }
  55407. // GoString returns the string representation
  55408. func (s SnapshotDetail) GoString() string {
  55409. return s.String()
  55410. }
  55411. // SetDescription sets the Description field's value.
  55412. func (s *SnapshotDetail) SetDescription(v string) *SnapshotDetail {
  55413. s.Description = &v
  55414. return s
  55415. }
  55416. // SetDeviceName sets the DeviceName field's value.
  55417. func (s *SnapshotDetail) SetDeviceName(v string) *SnapshotDetail {
  55418. s.DeviceName = &v
  55419. return s
  55420. }
  55421. // SetDiskImageSize sets the DiskImageSize field's value.
  55422. func (s *SnapshotDetail) SetDiskImageSize(v float64) *SnapshotDetail {
  55423. s.DiskImageSize = &v
  55424. return s
  55425. }
  55426. // SetFormat sets the Format field's value.
  55427. func (s *SnapshotDetail) SetFormat(v string) *SnapshotDetail {
  55428. s.Format = &v
  55429. return s
  55430. }
  55431. // SetProgress sets the Progress field's value.
  55432. func (s *SnapshotDetail) SetProgress(v string) *SnapshotDetail {
  55433. s.Progress = &v
  55434. return s
  55435. }
  55436. // SetSnapshotId sets the SnapshotId field's value.
  55437. func (s *SnapshotDetail) SetSnapshotId(v string) *SnapshotDetail {
  55438. s.SnapshotId = &v
  55439. return s
  55440. }
  55441. // SetStatus sets the Status field's value.
  55442. func (s *SnapshotDetail) SetStatus(v string) *SnapshotDetail {
  55443. s.Status = &v
  55444. return s
  55445. }
  55446. // SetStatusMessage sets the StatusMessage field's value.
  55447. func (s *SnapshotDetail) SetStatusMessage(v string) *SnapshotDetail {
  55448. s.StatusMessage = &v
  55449. return s
  55450. }
  55451. // SetUrl sets the Url field's value.
  55452. func (s *SnapshotDetail) SetUrl(v string) *SnapshotDetail {
  55453. s.Url = &v
  55454. return s
  55455. }
  55456. // SetUserBucket sets the UserBucket field's value.
  55457. func (s *SnapshotDetail) SetUserBucket(v *UserBucketDetails) *SnapshotDetail {
  55458. s.UserBucket = v
  55459. return s
  55460. }
  55461. // The disk container object for the import snapshot request.
  55462. type SnapshotDiskContainer struct {
  55463. _ struct{} `type:"structure"`
  55464. // The description of the disk image being imported.
  55465. Description *string `type:"string"`
  55466. // The format of the disk image being imported.
  55467. //
  55468. // Valid values: VHD | VMDK | OVA
  55469. Format *string `type:"string"`
  55470. // The URL to the Amazon S3-based disk image being imported. It can either be
  55471. // a https URL (https://..) or an Amazon S3 URL (s3://..).
  55472. Url *string `type:"string"`
  55473. // The S3 bucket for the disk image.
  55474. UserBucket *UserBucket `type:"structure"`
  55475. }
  55476. // String returns the string representation
  55477. func (s SnapshotDiskContainer) String() string {
  55478. return awsutil.Prettify(s)
  55479. }
  55480. // GoString returns the string representation
  55481. func (s SnapshotDiskContainer) GoString() string {
  55482. return s.String()
  55483. }
  55484. // SetDescription sets the Description field's value.
  55485. func (s *SnapshotDiskContainer) SetDescription(v string) *SnapshotDiskContainer {
  55486. s.Description = &v
  55487. return s
  55488. }
  55489. // SetFormat sets the Format field's value.
  55490. func (s *SnapshotDiskContainer) SetFormat(v string) *SnapshotDiskContainer {
  55491. s.Format = &v
  55492. return s
  55493. }
  55494. // SetUrl sets the Url field's value.
  55495. func (s *SnapshotDiskContainer) SetUrl(v string) *SnapshotDiskContainer {
  55496. s.Url = &v
  55497. return s
  55498. }
  55499. // SetUserBucket sets the UserBucket field's value.
  55500. func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContainer {
  55501. s.UserBucket = v
  55502. return s
  55503. }
  55504. // Details about the import snapshot task.
  55505. type SnapshotTaskDetail struct {
  55506. _ struct{} `type:"structure"`
  55507. // The description of the snapshot.
  55508. Description *string `locationName:"description" type:"string"`
  55509. // The size of the disk in the snapshot, in GiB.
  55510. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  55511. // The format of the disk image from which the snapshot is created.
  55512. Format *string `locationName:"format" type:"string"`
  55513. // The percentage of completion for the import snapshot task.
  55514. Progress *string `locationName:"progress" type:"string"`
  55515. // The snapshot ID of the disk being imported.
  55516. SnapshotId *string `locationName:"snapshotId" type:"string"`
  55517. // A brief status for the import snapshot task.
  55518. Status *string `locationName:"status" type:"string"`
  55519. // A detailed status message for the import snapshot task.
  55520. StatusMessage *string `locationName:"statusMessage" type:"string"`
  55521. // The URL of the disk image from which the snapshot is created.
  55522. Url *string `locationName:"url" type:"string"`
  55523. // The S3 bucket for the disk image.
  55524. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  55525. }
  55526. // String returns the string representation
  55527. func (s SnapshotTaskDetail) String() string {
  55528. return awsutil.Prettify(s)
  55529. }
  55530. // GoString returns the string representation
  55531. func (s SnapshotTaskDetail) GoString() string {
  55532. return s.String()
  55533. }
  55534. // SetDescription sets the Description field's value.
  55535. func (s *SnapshotTaskDetail) SetDescription(v string) *SnapshotTaskDetail {
  55536. s.Description = &v
  55537. return s
  55538. }
  55539. // SetDiskImageSize sets the DiskImageSize field's value.
  55540. func (s *SnapshotTaskDetail) SetDiskImageSize(v float64) *SnapshotTaskDetail {
  55541. s.DiskImageSize = &v
  55542. return s
  55543. }
  55544. // SetFormat sets the Format field's value.
  55545. func (s *SnapshotTaskDetail) SetFormat(v string) *SnapshotTaskDetail {
  55546. s.Format = &v
  55547. return s
  55548. }
  55549. // SetProgress sets the Progress field's value.
  55550. func (s *SnapshotTaskDetail) SetProgress(v string) *SnapshotTaskDetail {
  55551. s.Progress = &v
  55552. return s
  55553. }
  55554. // SetSnapshotId sets the SnapshotId field's value.
  55555. func (s *SnapshotTaskDetail) SetSnapshotId(v string) *SnapshotTaskDetail {
  55556. s.SnapshotId = &v
  55557. return s
  55558. }
  55559. // SetStatus sets the Status field's value.
  55560. func (s *SnapshotTaskDetail) SetStatus(v string) *SnapshotTaskDetail {
  55561. s.Status = &v
  55562. return s
  55563. }
  55564. // SetStatusMessage sets the StatusMessage field's value.
  55565. func (s *SnapshotTaskDetail) SetStatusMessage(v string) *SnapshotTaskDetail {
  55566. s.StatusMessage = &v
  55567. return s
  55568. }
  55569. // SetUrl sets the Url field's value.
  55570. func (s *SnapshotTaskDetail) SetUrl(v string) *SnapshotTaskDetail {
  55571. s.Url = &v
  55572. return s
  55573. }
  55574. // SetUserBucket sets the UserBucket field's value.
  55575. func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDetail {
  55576. s.UserBucket = v
  55577. return s
  55578. }
  55579. // Describes the data feed for a Spot Instance.
  55580. type SpotDatafeedSubscription struct {
  55581. _ struct{} `type:"structure"`
  55582. // The Amazon S3 bucket where the Spot Instance data feed is located.
  55583. Bucket *string `locationName:"bucket" type:"string"`
  55584. // The fault codes for the Spot Instance request, if any.
  55585. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  55586. // The AWS account ID of the account.
  55587. OwnerId *string `locationName:"ownerId" type:"string"`
  55588. // The prefix that is prepended to data feed files.
  55589. Prefix *string `locationName:"prefix" type:"string"`
  55590. // The state of the Spot Instance data feed subscription.
  55591. State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
  55592. }
  55593. // String returns the string representation
  55594. func (s SpotDatafeedSubscription) String() string {
  55595. return awsutil.Prettify(s)
  55596. }
  55597. // GoString returns the string representation
  55598. func (s SpotDatafeedSubscription) GoString() string {
  55599. return s.String()
  55600. }
  55601. // SetBucket sets the Bucket field's value.
  55602. func (s *SpotDatafeedSubscription) SetBucket(v string) *SpotDatafeedSubscription {
  55603. s.Bucket = &v
  55604. return s
  55605. }
  55606. // SetFault sets the Fault field's value.
  55607. func (s *SpotDatafeedSubscription) SetFault(v *SpotInstanceStateFault) *SpotDatafeedSubscription {
  55608. s.Fault = v
  55609. return s
  55610. }
  55611. // SetOwnerId sets the OwnerId field's value.
  55612. func (s *SpotDatafeedSubscription) SetOwnerId(v string) *SpotDatafeedSubscription {
  55613. s.OwnerId = &v
  55614. return s
  55615. }
  55616. // SetPrefix sets the Prefix field's value.
  55617. func (s *SpotDatafeedSubscription) SetPrefix(v string) *SpotDatafeedSubscription {
  55618. s.Prefix = &v
  55619. return s
  55620. }
  55621. // SetState sets the State field's value.
  55622. func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription {
  55623. s.State = &v
  55624. return s
  55625. }
  55626. // Describes the launch specification for one or more Spot Instances.
  55627. type SpotFleetLaunchSpecification struct {
  55628. _ struct{} `type:"structure"`
  55629. // Deprecated.
  55630. AddressingType *string `locationName:"addressingType" type:"string"`
  55631. // One or more block device mapping entries. You can't specify both a snapshot
  55632. // ID and an encryption value. This is because only blank volumes can be encrypted
  55633. // on creation. If a snapshot is the basis for a volume, it is not blank and
  55634. // its encryption status is used for the volume encryption status.
  55635. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  55636. // Indicates whether the instances are optimized for EBS I/O. This optimization
  55637. // provides dedicated throughput to Amazon EBS and an optimized configuration
  55638. // stack to provide optimal EBS I/O performance. This optimization isn't available
  55639. // with all instance types. Additional usage charges apply when using an EBS
  55640. // Optimized instance.
  55641. //
  55642. // Default: false
  55643. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  55644. // The IAM instance profile.
  55645. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  55646. // The ID of the AMI.
  55647. ImageId *string `locationName:"imageId" type:"string"`
  55648. // The instance type.
  55649. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  55650. // The ID of the kernel.
  55651. KernelId *string `locationName:"kernelId" type:"string"`
  55652. // The name of the key pair.
  55653. KeyName *string `locationName:"keyName" type:"string"`
  55654. // Enable or disable monitoring for the instances.
  55655. Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
  55656. // One or more network interfaces. If you specify a network interface, you must
  55657. // specify subnet IDs and security group IDs using the network interface.
  55658. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  55659. // The placement information.
  55660. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  55661. // The ID of the RAM disk.
  55662. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  55663. // One or more security groups. When requesting instances in a VPC, you must
  55664. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  55665. // you can specify the names or the IDs of the security groups.
  55666. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  55667. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  55668. // If this value is not specified, the default is the Spot price specified for
  55669. // the fleet. To determine the Spot price per unit hour, divide the Spot price
  55670. // by the value of WeightedCapacity.
  55671. SpotPrice *string `locationName:"spotPrice" type:"string"`
  55672. // The ID of the subnet in which to launch the instances. To specify multiple
  55673. // subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08".
  55674. SubnetId *string `locationName:"subnetId" type:"string"`
  55675. // The tags to apply during creation.
  55676. TagSpecifications []*SpotFleetTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
  55677. // The Base64-encoded user data to make available to the instances.
  55678. UserData *string `locationName:"userData" type:"string"`
  55679. // The number of units provided by the specified instance type. These are the
  55680. // same units that you chose to set the target capacity in terms (instances
  55681. // or a performance characteristic such as vCPUs, memory, or I/O).
  55682. //
  55683. // If the target capacity divided by this value is not a whole number, we round
  55684. // the number of instances to the next whole number. If this value is not specified,
  55685. // the default is 1.
  55686. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  55687. }
  55688. // String returns the string representation
  55689. func (s SpotFleetLaunchSpecification) String() string {
  55690. return awsutil.Prettify(s)
  55691. }
  55692. // GoString returns the string representation
  55693. func (s SpotFleetLaunchSpecification) GoString() string {
  55694. return s.String()
  55695. }
  55696. // Validate inspects the fields of the type to determine if they are valid.
  55697. func (s *SpotFleetLaunchSpecification) Validate() error {
  55698. invalidParams := request.ErrInvalidParams{Context: "SpotFleetLaunchSpecification"}
  55699. if s.NetworkInterfaces != nil {
  55700. for i, v := range s.NetworkInterfaces {
  55701. if v == nil {
  55702. continue
  55703. }
  55704. if err := v.Validate(); err != nil {
  55705. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  55706. }
  55707. }
  55708. }
  55709. if invalidParams.Len() > 0 {
  55710. return invalidParams
  55711. }
  55712. return nil
  55713. }
  55714. // SetAddressingType sets the AddressingType field's value.
  55715. func (s *SpotFleetLaunchSpecification) SetAddressingType(v string) *SpotFleetLaunchSpecification {
  55716. s.AddressingType = &v
  55717. return s
  55718. }
  55719. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  55720. func (s *SpotFleetLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *SpotFleetLaunchSpecification {
  55721. s.BlockDeviceMappings = v
  55722. return s
  55723. }
  55724. // SetEbsOptimized sets the EbsOptimized field's value.
  55725. func (s *SpotFleetLaunchSpecification) SetEbsOptimized(v bool) *SpotFleetLaunchSpecification {
  55726. s.EbsOptimized = &v
  55727. return s
  55728. }
  55729. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  55730. func (s *SpotFleetLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *SpotFleetLaunchSpecification {
  55731. s.IamInstanceProfile = v
  55732. return s
  55733. }
  55734. // SetImageId sets the ImageId field's value.
  55735. func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpecification {
  55736. s.ImageId = &v
  55737. return s
  55738. }
  55739. // SetInstanceType sets the InstanceType field's value.
  55740. func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification {
  55741. s.InstanceType = &v
  55742. return s
  55743. }
  55744. // SetKernelId sets the KernelId field's value.
  55745. func (s *SpotFleetLaunchSpecification) SetKernelId(v string) *SpotFleetLaunchSpecification {
  55746. s.KernelId = &v
  55747. return s
  55748. }
  55749. // SetKeyName sets the KeyName field's value.
  55750. func (s *SpotFleetLaunchSpecification) SetKeyName(v string) *SpotFleetLaunchSpecification {
  55751. s.KeyName = &v
  55752. return s
  55753. }
  55754. // SetMonitoring sets the Monitoring field's value.
  55755. func (s *SpotFleetLaunchSpecification) SetMonitoring(v *SpotFleetMonitoring) *SpotFleetLaunchSpecification {
  55756. s.Monitoring = v
  55757. return s
  55758. }
  55759. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  55760. func (s *SpotFleetLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *SpotFleetLaunchSpecification {
  55761. s.NetworkInterfaces = v
  55762. return s
  55763. }
  55764. // SetPlacement sets the Placement field's value.
  55765. func (s *SpotFleetLaunchSpecification) SetPlacement(v *SpotPlacement) *SpotFleetLaunchSpecification {
  55766. s.Placement = v
  55767. return s
  55768. }
  55769. // SetRamdiskId sets the RamdiskId field's value.
  55770. func (s *SpotFleetLaunchSpecification) SetRamdiskId(v string) *SpotFleetLaunchSpecification {
  55771. s.RamdiskId = &v
  55772. return s
  55773. }
  55774. // SetSecurityGroups sets the SecurityGroups field's value.
  55775. func (s *SpotFleetLaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *SpotFleetLaunchSpecification {
  55776. s.SecurityGroups = v
  55777. return s
  55778. }
  55779. // SetSpotPrice sets the SpotPrice field's value.
  55780. func (s *SpotFleetLaunchSpecification) SetSpotPrice(v string) *SpotFleetLaunchSpecification {
  55781. s.SpotPrice = &v
  55782. return s
  55783. }
  55784. // SetSubnetId sets the SubnetId field's value.
  55785. func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpecification {
  55786. s.SubnetId = &v
  55787. return s
  55788. }
  55789. // SetTagSpecifications sets the TagSpecifications field's value.
  55790. func (s *SpotFleetLaunchSpecification) SetTagSpecifications(v []*SpotFleetTagSpecification) *SpotFleetLaunchSpecification {
  55791. s.TagSpecifications = v
  55792. return s
  55793. }
  55794. // SetUserData sets the UserData field's value.
  55795. func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
  55796. s.UserData = &v
  55797. return s
  55798. }
  55799. // SetWeightedCapacity sets the WeightedCapacity field's value.
  55800. func (s *SpotFleetLaunchSpecification) SetWeightedCapacity(v float64) *SpotFleetLaunchSpecification {
  55801. s.WeightedCapacity = &v
  55802. return s
  55803. }
  55804. // Describes whether monitoring is enabled.
  55805. type SpotFleetMonitoring struct {
  55806. _ struct{} `type:"structure"`
  55807. // Enables monitoring for the instance.
  55808. //
  55809. // Default: false
  55810. Enabled *bool `locationName:"enabled" type:"boolean"`
  55811. }
  55812. // String returns the string representation
  55813. func (s SpotFleetMonitoring) String() string {
  55814. return awsutil.Prettify(s)
  55815. }
  55816. // GoString returns the string representation
  55817. func (s SpotFleetMonitoring) GoString() string {
  55818. return s.String()
  55819. }
  55820. // SetEnabled sets the Enabled field's value.
  55821. func (s *SpotFleetMonitoring) SetEnabled(v bool) *SpotFleetMonitoring {
  55822. s.Enabled = &v
  55823. return s
  55824. }
  55825. // Describes a Spot Fleet request.
  55826. type SpotFleetRequestConfig struct {
  55827. _ struct{} `type:"structure"`
  55828. // The progress of the Spot Fleet request. If there is an error, the status
  55829. // is error. After all requests are placed, the status is pending_fulfillment.
  55830. // If the size of the fleet is equal to or greater than its target capacity,
  55831. // the status is fulfilled. If the size of the fleet is decreased, the status
  55832. // is pending_termination while Spot Instances are terminating.
  55833. ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"`
  55834. // The creation date and time of the request.
  55835. //
  55836. // CreateTime is a required field
  55837. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  55838. // The configuration of the Spot Fleet request.
  55839. //
  55840. // SpotFleetRequestConfig is a required field
  55841. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  55842. // The ID of the Spot Fleet request.
  55843. //
  55844. // SpotFleetRequestId is a required field
  55845. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  55846. // The state of the Spot Fleet request.
  55847. //
  55848. // SpotFleetRequestState is a required field
  55849. SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  55850. }
  55851. // String returns the string representation
  55852. func (s SpotFleetRequestConfig) String() string {
  55853. return awsutil.Prettify(s)
  55854. }
  55855. // GoString returns the string representation
  55856. func (s SpotFleetRequestConfig) GoString() string {
  55857. return s.String()
  55858. }
  55859. // SetActivityStatus sets the ActivityStatus field's value.
  55860. func (s *SpotFleetRequestConfig) SetActivityStatus(v string) *SpotFleetRequestConfig {
  55861. s.ActivityStatus = &v
  55862. return s
  55863. }
  55864. // SetCreateTime sets the CreateTime field's value.
  55865. func (s *SpotFleetRequestConfig) SetCreateTime(v time.Time) *SpotFleetRequestConfig {
  55866. s.CreateTime = &v
  55867. return s
  55868. }
  55869. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  55870. func (s *SpotFleetRequestConfig) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *SpotFleetRequestConfig {
  55871. s.SpotFleetRequestConfig = v
  55872. return s
  55873. }
  55874. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  55875. func (s *SpotFleetRequestConfig) SetSpotFleetRequestId(v string) *SpotFleetRequestConfig {
  55876. s.SpotFleetRequestId = &v
  55877. return s
  55878. }
  55879. // SetSpotFleetRequestState sets the SpotFleetRequestState field's value.
  55880. func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRequestConfig {
  55881. s.SpotFleetRequestState = &v
  55882. return s
  55883. }
  55884. // Describes the configuration of a Spot Fleet request.
  55885. type SpotFleetRequestConfigData struct {
  55886. _ struct{} `type:"structure"`
  55887. // Indicates how to allocate the target capacity across the Spot pools specified
  55888. // by the Spot Fleet request. The default is lowestPrice.
  55889. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
  55890. // A unique, case-sensitive identifier that you provide to ensure the idempotency
  55891. // of your listings. This helps to avoid duplicate listings. For more information,
  55892. // see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  55893. ClientToken *string `locationName:"clientToken" type:"string"`
  55894. // Indicates whether running Spot Instances should be terminated if the target
  55895. // capacity of the Spot Fleet request is decreased below the current size of
  55896. // the Spot Fleet.
  55897. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  55898. // The number of units fulfilled by this request compared to the set target
  55899. // capacity.
  55900. FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
  55901. // Grants the Spot Fleet permission to terminate Spot Instances on your behalf
  55902. // when you cancel its Spot Fleet request using CancelSpotFleetRequests or when
  55903. // the Spot Fleet request expires, if you set terminateInstancesWithExpiration.
  55904. //
  55905. // IamFleetRole is a required field
  55906. IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
  55907. // The behavior when a Spot Instance is interrupted. The default is terminate.
  55908. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
  55909. // The launch specifications for the Spot Fleet request.
  55910. LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" type:"list"`
  55911. // The launch template and overrides.
  55912. LaunchTemplateConfigs []*LaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
  55913. // One or more Classic Load Balancers and target groups to attach to the Spot
  55914. // Fleet request. Spot Fleet registers the running Spot Instances with the specified
  55915. // Classic Load Balancers and target groups.
  55916. //
  55917. // With Network Load Balancers, Spot Fleet cannot register instances that have
  55918. // the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1,
  55919. // HS1, M1, M2, M3, and T1.
  55920. LoadBalancersConfig *LoadBalancersConfig `locationName:"loadBalancersConfig" type:"structure"`
  55921. // The number of On-Demand units fulfilled by this request compared to the set
  55922. // target On-Demand capacity.
  55923. OnDemandFulfilledCapacity *float64 `locationName:"onDemandFulfilledCapacity" type:"double"`
  55924. // The number of On-Demand units to request. You can choose to set the target
  55925. // capacity in terms of instances or a performance characteristic that is important
  55926. // to your application workload, such as vCPUs, memory, or I/O. If the request
  55927. // type is maintain, you can specify a target capacity of 0 and add capacity
  55928. // later.
  55929. OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
  55930. // Indicates whether Spot Fleet should replace unhealthy instances.
  55931. ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
  55932. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  55933. // The default is the On-Demand price.
  55934. SpotPrice *string `locationName:"spotPrice" type:"string"`
  55935. // The number of units to request. You can choose to set the target capacity
  55936. // in terms of instances or a performance characteristic that is important to
  55937. // your application workload, such as vCPUs, memory, or I/O. If the request
  55938. // type is maintain, you can specify a target capacity of 0 and add capacity
  55939. // later.
  55940. //
  55941. // TargetCapacity is a required field
  55942. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
  55943. // Indicates whether running Spot Instances should be terminated when the Spot
  55944. // Fleet request expires.
  55945. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
  55946. // The type of request. Indicates whether the Spot Fleet only requests the target
  55947. // capacity or also attempts to maintain it. When this value is request, the
  55948. // Spot Fleet only places the required requests. It does not attempt to replenish
  55949. // Spot Instances if capacity is diminished, nor does it submit requests in
  55950. // alternative Spot pools if capacity is not available. To maintain a certain
  55951. // target capacity, the Spot Fleet places the required requests to meet capacity
  55952. // and automatically replenishes any interrupted instances. Default: maintain.
  55953. Type *string `locationName:"type" type:"string" enum:"FleetType"`
  55954. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  55955. // The default is to start fulfilling the request immediately.
  55956. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  55957. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  55958. // At this point, no new Spot Instance requests are placed or able to fulfill
  55959. // the request. The default end date is 7 days from the current date.
  55960. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  55961. }
  55962. // String returns the string representation
  55963. func (s SpotFleetRequestConfigData) String() string {
  55964. return awsutil.Prettify(s)
  55965. }
  55966. // GoString returns the string representation
  55967. func (s SpotFleetRequestConfigData) GoString() string {
  55968. return s.String()
  55969. }
  55970. // Validate inspects the fields of the type to determine if they are valid.
  55971. func (s *SpotFleetRequestConfigData) Validate() error {
  55972. invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
  55973. if s.IamFleetRole == nil {
  55974. invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
  55975. }
  55976. if s.TargetCapacity == nil {
  55977. invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
  55978. }
  55979. if s.LaunchSpecifications != nil {
  55980. for i, v := range s.LaunchSpecifications {
  55981. if v == nil {
  55982. continue
  55983. }
  55984. if err := v.Validate(); err != nil {
  55985. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchSpecifications", i), err.(request.ErrInvalidParams))
  55986. }
  55987. }
  55988. }
  55989. if s.LaunchTemplateConfigs != nil {
  55990. for i, v := range s.LaunchTemplateConfigs {
  55991. if v == nil {
  55992. continue
  55993. }
  55994. if err := v.Validate(); err != nil {
  55995. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
  55996. }
  55997. }
  55998. }
  55999. if s.LoadBalancersConfig != nil {
  56000. if err := s.LoadBalancersConfig.Validate(); err != nil {
  56001. invalidParams.AddNested("LoadBalancersConfig", err.(request.ErrInvalidParams))
  56002. }
  56003. }
  56004. if invalidParams.Len() > 0 {
  56005. return invalidParams
  56006. }
  56007. return nil
  56008. }
  56009. // SetAllocationStrategy sets the AllocationStrategy field's value.
  56010. func (s *SpotFleetRequestConfigData) SetAllocationStrategy(v string) *SpotFleetRequestConfigData {
  56011. s.AllocationStrategy = &v
  56012. return s
  56013. }
  56014. // SetClientToken sets the ClientToken field's value.
  56015. func (s *SpotFleetRequestConfigData) SetClientToken(v string) *SpotFleetRequestConfigData {
  56016. s.ClientToken = &v
  56017. return s
  56018. }
  56019. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  56020. func (s *SpotFleetRequestConfigData) SetExcessCapacityTerminationPolicy(v string) *SpotFleetRequestConfigData {
  56021. s.ExcessCapacityTerminationPolicy = &v
  56022. return s
  56023. }
  56024. // SetFulfilledCapacity sets the FulfilledCapacity field's value.
  56025. func (s *SpotFleetRequestConfigData) SetFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
  56026. s.FulfilledCapacity = &v
  56027. return s
  56028. }
  56029. // SetIamFleetRole sets the IamFleetRole field's value.
  56030. func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequestConfigData {
  56031. s.IamFleetRole = &v
  56032. return s
  56033. }
  56034. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  56035. func (s *SpotFleetRequestConfigData) SetInstanceInterruptionBehavior(v string) *SpotFleetRequestConfigData {
  56036. s.InstanceInterruptionBehavior = &v
  56037. return s
  56038. }
  56039. // SetLaunchSpecifications sets the LaunchSpecifications field's value.
  56040. func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData {
  56041. s.LaunchSpecifications = v
  56042. return s
  56043. }
  56044. // SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
  56045. func (s *SpotFleetRequestConfigData) SetLaunchTemplateConfigs(v []*LaunchTemplateConfig) *SpotFleetRequestConfigData {
  56046. s.LaunchTemplateConfigs = v
  56047. return s
  56048. }
  56049. // SetLoadBalancersConfig sets the LoadBalancersConfig field's value.
  56050. func (s *SpotFleetRequestConfigData) SetLoadBalancersConfig(v *LoadBalancersConfig) *SpotFleetRequestConfigData {
  56051. s.LoadBalancersConfig = v
  56052. return s
  56053. }
  56054. // SetOnDemandFulfilledCapacity sets the OnDemandFulfilledCapacity field's value.
  56055. func (s *SpotFleetRequestConfigData) SetOnDemandFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
  56056. s.OnDemandFulfilledCapacity = &v
  56057. return s
  56058. }
  56059. // SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
  56060. func (s *SpotFleetRequestConfigData) SetOnDemandTargetCapacity(v int64) *SpotFleetRequestConfigData {
  56061. s.OnDemandTargetCapacity = &v
  56062. return s
  56063. }
  56064. // SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
  56065. func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotFleetRequestConfigData {
  56066. s.ReplaceUnhealthyInstances = &v
  56067. return s
  56068. }
  56069. // SetSpotPrice sets the SpotPrice field's value.
  56070. func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData {
  56071. s.SpotPrice = &v
  56072. return s
  56073. }
  56074. // SetTargetCapacity sets the TargetCapacity field's value.
  56075. func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetRequestConfigData {
  56076. s.TargetCapacity = &v
  56077. return s
  56078. }
  56079. // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
  56080. func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData {
  56081. s.TerminateInstancesWithExpiration = &v
  56082. return s
  56083. }
  56084. // SetType sets the Type field's value.
  56085. func (s *SpotFleetRequestConfigData) SetType(v string) *SpotFleetRequestConfigData {
  56086. s.Type = &v
  56087. return s
  56088. }
  56089. // SetValidFrom sets the ValidFrom field's value.
  56090. func (s *SpotFleetRequestConfigData) SetValidFrom(v time.Time) *SpotFleetRequestConfigData {
  56091. s.ValidFrom = &v
  56092. return s
  56093. }
  56094. // SetValidUntil sets the ValidUntil field's value.
  56095. func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetRequestConfigData {
  56096. s.ValidUntil = &v
  56097. return s
  56098. }
  56099. // The tags for a Spot Fleet resource.
  56100. type SpotFleetTagSpecification struct {
  56101. _ struct{} `type:"structure"`
  56102. // The type of resource. Currently, the only resource type that is supported
  56103. // is instance.
  56104. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  56105. // The tags.
  56106. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  56107. }
  56108. // String returns the string representation
  56109. func (s SpotFleetTagSpecification) String() string {
  56110. return awsutil.Prettify(s)
  56111. }
  56112. // GoString returns the string representation
  56113. func (s SpotFleetTagSpecification) GoString() string {
  56114. return s.String()
  56115. }
  56116. // SetResourceType sets the ResourceType field's value.
  56117. func (s *SpotFleetTagSpecification) SetResourceType(v string) *SpotFleetTagSpecification {
  56118. s.ResourceType = &v
  56119. return s
  56120. }
  56121. // SetTags sets the Tags field's value.
  56122. func (s *SpotFleetTagSpecification) SetTags(v []*Tag) *SpotFleetTagSpecification {
  56123. s.Tags = v
  56124. return s
  56125. }
  56126. // Describes a Spot Instance request.
  56127. type SpotInstanceRequest struct {
  56128. _ struct{} `type:"structure"`
  56129. // If you specified a duration and your Spot Instance request was fulfilled,
  56130. // this is the fixed hourly price in effect for the Spot Instance while it runs.
  56131. ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
  56132. // The Availability Zone group. If you specify the same Availability Zone group
  56133. // for all Spot Instance requests, all Spot Instances are launched in the same
  56134. // Availability Zone.
  56135. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  56136. // The duration for the Spot Instance, in minutes.
  56137. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  56138. // The date and time when the Spot Instance request was created, in UTC format
  56139. // (for example, YYYY-MM-DDTHH:MM:SSZ).
  56140. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  56141. // The fault codes for the Spot Instance request, if any.
  56142. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  56143. // The instance ID, if an instance has been launched to fulfill the Spot Instance
  56144. // request.
  56145. InstanceId *string `locationName:"instanceId" type:"string"`
  56146. // The behavior when a Spot Instance is interrupted.
  56147. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
  56148. // The instance launch group. Launch groups are Spot Instances that launch together
  56149. // and terminate together.
  56150. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  56151. // Additional information for launching instances.
  56152. LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
  56153. // The Availability Zone in which the request is launched.
  56154. LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
  56155. // The product description associated with the Spot Instance.
  56156. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  56157. // The ID of the Spot Instance request.
  56158. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  56159. // The maximum price per hour that you are willing to pay for a Spot Instance.
  56160. SpotPrice *string `locationName:"spotPrice" type:"string"`
  56161. // The state of the Spot Instance request. Spot status information helps track
  56162. // your Spot Instance requests. For more information, see Spot Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  56163. // in the Amazon EC2 User Guide for Linux Instances.
  56164. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
  56165. // The status code and status message describing the Spot Instance request.
  56166. Status *SpotInstanceStatus `locationName:"status" type:"structure"`
  56167. // Any tags assigned to the resource.
  56168. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  56169. // The Spot Instance request type.
  56170. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  56171. // The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  56172. // The request becomes active at this date and time.
  56173. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  56174. // The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  56175. // If this is a one-time request, it remains active until all instances launch,
  56176. // the request is canceled, or this date is reached. If the request is persistent,
  56177. // it remains active until it is canceled or this date is reached. The default
  56178. // end date is 7 days from the current date.
  56179. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  56180. }
  56181. // String returns the string representation
  56182. func (s SpotInstanceRequest) String() string {
  56183. return awsutil.Prettify(s)
  56184. }
  56185. // GoString returns the string representation
  56186. func (s SpotInstanceRequest) GoString() string {
  56187. return s.String()
  56188. }
  56189. // SetActualBlockHourlyPrice sets the ActualBlockHourlyPrice field's value.
  56190. func (s *SpotInstanceRequest) SetActualBlockHourlyPrice(v string) *SpotInstanceRequest {
  56191. s.ActualBlockHourlyPrice = &v
  56192. return s
  56193. }
  56194. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  56195. func (s *SpotInstanceRequest) SetAvailabilityZoneGroup(v string) *SpotInstanceRequest {
  56196. s.AvailabilityZoneGroup = &v
  56197. return s
  56198. }
  56199. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  56200. func (s *SpotInstanceRequest) SetBlockDurationMinutes(v int64) *SpotInstanceRequest {
  56201. s.BlockDurationMinutes = &v
  56202. return s
  56203. }
  56204. // SetCreateTime sets the CreateTime field's value.
  56205. func (s *SpotInstanceRequest) SetCreateTime(v time.Time) *SpotInstanceRequest {
  56206. s.CreateTime = &v
  56207. return s
  56208. }
  56209. // SetFault sets the Fault field's value.
  56210. func (s *SpotInstanceRequest) SetFault(v *SpotInstanceStateFault) *SpotInstanceRequest {
  56211. s.Fault = v
  56212. return s
  56213. }
  56214. // SetInstanceId sets the InstanceId field's value.
  56215. func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest {
  56216. s.InstanceId = &v
  56217. return s
  56218. }
  56219. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  56220. func (s *SpotInstanceRequest) SetInstanceInterruptionBehavior(v string) *SpotInstanceRequest {
  56221. s.InstanceInterruptionBehavior = &v
  56222. return s
  56223. }
  56224. // SetLaunchGroup sets the LaunchGroup field's value.
  56225. func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest {
  56226. s.LaunchGroup = &v
  56227. return s
  56228. }
  56229. // SetLaunchSpecification sets the LaunchSpecification field's value.
  56230. func (s *SpotInstanceRequest) SetLaunchSpecification(v *LaunchSpecification) *SpotInstanceRequest {
  56231. s.LaunchSpecification = v
  56232. return s
  56233. }
  56234. // SetLaunchedAvailabilityZone sets the LaunchedAvailabilityZone field's value.
  56235. func (s *SpotInstanceRequest) SetLaunchedAvailabilityZone(v string) *SpotInstanceRequest {
  56236. s.LaunchedAvailabilityZone = &v
  56237. return s
  56238. }
  56239. // SetProductDescription sets the ProductDescription field's value.
  56240. func (s *SpotInstanceRequest) SetProductDescription(v string) *SpotInstanceRequest {
  56241. s.ProductDescription = &v
  56242. return s
  56243. }
  56244. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  56245. func (s *SpotInstanceRequest) SetSpotInstanceRequestId(v string) *SpotInstanceRequest {
  56246. s.SpotInstanceRequestId = &v
  56247. return s
  56248. }
  56249. // SetSpotPrice sets the SpotPrice field's value.
  56250. func (s *SpotInstanceRequest) SetSpotPrice(v string) *SpotInstanceRequest {
  56251. s.SpotPrice = &v
  56252. return s
  56253. }
  56254. // SetState sets the State field's value.
  56255. func (s *SpotInstanceRequest) SetState(v string) *SpotInstanceRequest {
  56256. s.State = &v
  56257. return s
  56258. }
  56259. // SetStatus sets the Status field's value.
  56260. func (s *SpotInstanceRequest) SetStatus(v *SpotInstanceStatus) *SpotInstanceRequest {
  56261. s.Status = v
  56262. return s
  56263. }
  56264. // SetTags sets the Tags field's value.
  56265. func (s *SpotInstanceRequest) SetTags(v []*Tag) *SpotInstanceRequest {
  56266. s.Tags = v
  56267. return s
  56268. }
  56269. // SetType sets the Type field's value.
  56270. func (s *SpotInstanceRequest) SetType(v string) *SpotInstanceRequest {
  56271. s.Type = &v
  56272. return s
  56273. }
  56274. // SetValidFrom sets the ValidFrom field's value.
  56275. func (s *SpotInstanceRequest) SetValidFrom(v time.Time) *SpotInstanceRequest {
  56276. s.ValidFrom = &v
  56277. return s
  56278. }
  56279. // SetValidUntil sets the ValidUntil field's value.
  56280. func (s *SpotInstanceRequest) SetValidUntil(v time.Time) *SpotInstanceRequest {
  56281. s.ValidUntil = &v
  56282. return s
  56283. }
  56284. // Describes a Spot Instance state change.
  56285. type SpotInstanceStateFault struct {
  56286. _ struct{} `type:"structure"`
  56287. // The reason code for the Spot Instance state change.
  56288. Code *string `locationName:"code" type:"string"`
  56289. // The message for the Spot Instance state change.
  56290. Message *string `locationName:"message" type:"string"`
  56291. }
  56292. // String returns the string representation
  56293. func (s SpotInstanceStateFault) String() string {
  56294. return awsutil.Prettify(s)
  56295. }
  56296. // GoString returns the string representation
  56297. func (s SpotInstanceStateFault) GoString() string {
  56298. return s.String()
  56299. }
  56300. // SetCode sets the Code field's value.
  56301. func (s *SpotInstanceStateFault) SetCode(v string) *SpotInstanceStateFault {
  56302. s.Code = &v
  56303. return s
  56304. }
  56305. // SetMessage sets the Message field's value.
  56306. func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
  56307. s.Message = &v
  56308. return s
  56309. }
  56310. // Describes the status of a Spot Instance request.
  56311. type SpotInstanceStatus struct {
  56312. _ struct{} `type:"structure"`
  56313. // The status code. For a list of status codes, see Spot Status Codes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand)
  56314. // in the Amazon EC2 User Guide for Linux Instances.
  56315. Code *string `locationName:"code" type:"string"`
  56316. // The description for the status code.
  56317. Message *string `locationName:"message" type:"string"`
  56318. // The date and time of the most recent status update, in UTC format (for example,
  56319. // YYYY-MM-DDTHH:MM:SSZ).
  56320. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  56321. }
  56322. // String returns the string representation
  56323. func (s SpotInstanceStatus) String() string {
  56324. return awsutil.Prettify(s)
  56325. }
  56326. // GoString returns the string representation
  56327. func (s SpotInstanceStatus) GoString() string {
  56328. return s.String()
  56329. }
  56330. // SetCode sets the Code field's value.
  56331. func (s *SpotInstanceStatus) SetCode(v string) *SpotInstanceStatus {
  56332. s.Code = &v
  56333. return s
  56334. }
  56335. // SetMessage sets the Message field's value.
  56336. func (s *SpotInstanceStatus) SetMessage(v string) *SpotInstanceStatus {
  56337. s.Message = &v
  56338. return s
  56339. }
  56340. // SetUpdateTime sets the UpdateTime field's value.
  56341. func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
  56342. s.UpdateTime = &v
  56343. return s
  56344. }
  56345. // The options for Spot Instances.
  56346. type SpotMarketOptions struct {
  56347. _ struct{} `type:"structure"`
  56348. // The required duration for the Spot Instances (also known as Spot blocks),
  56349. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  56350. // or 360).
  56351. BlockDurationMinutes *int64 `type:"integer"`
  56352. // The behavior when a Spot Instance is interrupted. The default is terminate.
  56353. InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
  56354. // The maximum hourly price you're willing to pay for the Spot Instances. The
  56355. // default is the On-Demand price.
  56356. MaxPrice *string `type:"string"`
  56357. // The Spot Instance request type.
  56358. SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
  56359. // The end date of the request. For a one-time request, the request remains
  56360. // active until all instances launch, the request is canceled, or this date
  56361. // is reached. If the request is persistent, it remains active until it is canceled
  56362. // or this date and time is reached. The default end date is 7 days from the
  56363. // current date.
  56364. ValidUntil *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  56365. }
  56366. // String returns the string representation
  56367. func (s SpotMarketOptions) String() string {
  56368. return awsutil.Prettify(s)
  56369. }
  56370. // GoString returns the string representation
  56371. func (s SpotMarketOptions) GoString() string {
  56372. return s.String()
  56373. }
  56374. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  56375. func (s *SpotMarketOptions) SetBlockDurationMinutes(v int64) *SpotMarketOptions {
  56376. s.BlockDurationMinutes = &v
  56377. return s
  56378. }
  56379. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  56380. func (s *SpotMarketOptions) SetInstanceInterruptionBehavior(v string) *SpotMarketOptions {
  56381. s.InstanceInterruptionBehavior = &v
  56382. return s
  56383. }
  56384. // SetMaxPrice sets the MaxPrice field's value.
  56385. func (s *SpotMarketOptions) SetMaxPrice(v string) *SpotMarketOptions {
  56386. s.MaxPrice = &v
  56387. return s
  56388. }
  56389. // SetSpotInstanceType sets the SpotInstanceType field's value.
  56390. func (s *SpotMarketOptions) SetSpotInstanceType(v string) *SpotMarketOptions {
  56391. s.SpotInstanceType = &v
  56392. return s
  56393. }
  56394. // SetValidUntil sets the ValidUntil field's value.
  56395. func (s *SpotMarketOptions) SetValidUntil(v time.Time) *SpotMarketOptions {
  56396. s.ValidUntil = &v
  56397. return s
  56398. }
  56399. // Describes the configuration of Spot Instances in an EC2 Fleet.
  56400. type SpotOptions struct {
  56401. _ struct{} `type:"structure"`
  56402. // Indicates how to allocate the target capacity across the Spot pools specified
  56403. // by the Spot Fleet request. The default is lowestPrice.
  56404. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"SpotAllocationStrategy"`
  56405. // The behavior when a Spot Instance is interrupted. The default is terminate.
  56406. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"SpotInstanceInterruptionBehavior"`
  56407. }
  56408. // String returns the string representation
  56409. func (s SpotOptions) String() string {
  56410. return awsutil.Prettify(s)
  56411. }
  56412. // GoString returns the string representation
  56413. func (s SpotOptions) GoString() string {
  56414. return s.String()
  56415. }
  56416. // SetAllocationStrategy sets the AllocationStrategy field's value.
  56417. func (s *SpotOptions) SetAllocationStrategy(v string) *SpotOptions {
  56418. s.AllocationStrategy = &v
  56419. return s
  56420. }
  56421. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  56422. func (s *SpotOptions) SetInstanceInterruptionBehavior(v string) *SpotOptions {
  56423. s.InstanceInterruptionBehavior = &v
  56424. return s
  56425. }
  56426. // Describes the configuration of Spot Instances in an EC2 Fleet request.
  56427. type SpotOptionsRequest struct {
  56428. _ struct{} `type:"structure"`
  56429. // Indicates how to allocate the target capacity across the Spot pools specified
  56430. // by the Spot Fleet request. The default is lowestPrice.
  56431. AllocationStrategy *string `type:"string" enum:"SpotAllocationStrategy"`
  56432. // The behavior when a Spot Instance is interrupted. The default is terminate.
  56433. InstanceInterruptionBehavior *string `type:"string" enum:"SpotInstanceInterruptionBehavior"`
  56434. }
  56435. // String returns the string representation
  56436. func (s SpotOptionsRequest) String() string {
  56437. return awsutil.Prettify(s)
  56438. }
  56439. // GoString returns the string representation
  56440. func (s SpotOptionsRequest) GoString() string {
  56441. return s.String()
  56442. }
  56443. // SetAllocationStrategy sets the AllocationStrategy field's value.
  56444. func (s *SpotOptionsRequest) SetAllocationStrategy(v string) *SpotOptionsRequest {
  56445. s.AllocationStrategy = &v
  56446. return s
  56447. }
  56448. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  56449. func (s *SpotOptionsRequest) SetInstanceInterruptionBehavior(v string) *SpotOptionsRequest {
  56450. s.InstanceInterruptionBehavior = &v
  56451. return s
  56452. }
  56453. // Describes Spot Instance placement.
  56454. type SpotPlacement struct {
  56455. _ struct{} `type:"structure"`
  56456. // The Availability Zone.
  56457. //
  56458. // [Spot Fleet only] To specify multiple Availability Zones, separate them using
  56459. // commas; for example, "us-west-2a, us-west-2b".
  56460. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  56461. // The name of the placement group.
  56462. GroupName *string `locationName:"groupName" type:"string"`
  56463. // The tenancy of the instance (if the instance is running in a VPC). An instance
  56464. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  56465. // is not supported for Spot Instances.
  56466. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  56467. }
  56468. // String returns the string representation
  56469. func (s SpotPlacement) String() string {
  56470. return awsutil.Prettify(s)
  56471. }
  56472. // GoString returns the string representation
  56473. func (s SpotPlacement) GoString() string {
  56474. return s.String()
  56475. }
  56476. // SetAvailabilityZone sets the AvailabilityZone field's value.
  56477. func (s *SpotPlacement) SetAvailabilityZone(v string) *SpotPlacement {
  56478. s.AvailabilityZone = &v
  56479. return s
  56480. }
  56481. // SetGroupName sets the GroupName field's value.
  56482. func (s *SpotPlacement) SetGroupName(v string) *SpotPlacement {
  56483. s.GroupName = &v
  56484. return s
  56485. }
  56486. // SetTenancy sets the Tenancy field's value.
  56487. func (s *SpotPlacement) SetTenancy(v string) *SpotPlacement {
  56488. s.Tenancy = &v
  56489. return s
  56490. }
  56491. // Describes the maximum price per hour that you are willing to pay for a Spot
  56492. // Instance.
  56493. type SpotPrice struct {
  56494. _ struct{} `type:"structure"`
  56495. // The Availability Zone.
  56496. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  56497. // The instance type.
  56498. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  56499. // A general description of the AMI.
  56500. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  56501. // The maximum price per hour that you are willing to pay for a Spot Instance.
  56502. SpotPrice *string `locationName:"spotPrice" type:"string"`
  56503. // The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  56504. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  56505. }
  56506. // String returns the string representation
  56507. func (s SpotPrice) String() string {
  56508. return awsutil.Prettify(s)
  56509. }
  56510. // GoString returns the string representation
  56511. func (s SpotPrice) GoString() string {
  56512. return s.String()
  56513. }
  56514. // SetAvailabilityZone sets the AvailabilityZone field's value.
  56515. func (s *SpotPrice) SetAvailabilityZone(v string) *SpotPrice {
  56516. s.AvailabilityZone = &v
  56517. return s
  56518. }
  56519. // SetInstanceType sets the InstanceType field's value.
  56520. func (s *SpotPrice) SetInstanceType(v string) *SpotPrice {
  56521. s.InstanceType = &v
  56522. return s
  56523. }
  56524. // SetProductDescription sets the ProductDescription field's value.
  56525. func (s *SpotPrice) SetProductDescription(v string) *SpotPrice {
  56526. s.ProductDescription = &v
  56527. return s
  56528. }
  56529. // SetSpotPrice sets the SpotPrice field's value.
  56530. func (s *SpotPrice) SetSpotPrice(v string) *SpotPrice {
  56531. s.SpotPrice = &v
  56532. return s
  56533. }
  56534. // SetTimestamp sets the Timestamp field's value.
  56535. func (s *SpotPrice) SetTimestamp(v time.Time) *SpotPrice {
  56536. s.Timestamp = &v
  56537. return s
  56538. }
  56539. // Describes a stale rule in a security group.
  56540. type StaleIpPermission struct {
  56541. _ struct{} `type:"structure"`
  56542. // The start of the port range for the TCP and UDP protocols, or an ICMP type
  56543. // number. A value of -1 indicates all ICMP types.
  56544. FromPort *int64 `locationName:"fromPort" type:"integer"`
  56545. // The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
  56546. // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
  56547. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  56548. // One or more IP ranges. Not applicable for stale security group rules.
  56549. IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
  56550. // One or more prefix list IDs for an AWS service. Not applicable for stale
  56551. // security group rules.
  56552. PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  56553. // The end of the port range for the TCP and UDP protocols, or an ICMP type
  56554. // number. A value of -1 indicates all ICMP types.
  56555. ToPort *int64 `locationName:"toPort" type:"integer"`
  56556. // One or more security group pairs. Returns the ID of the referenced security
  56557. // group and VPC, and the ID and status of the VPC peering connection.
  56558. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  56559. }
  56560. // String returns the string representation
  56561. func (s StaleIpPermission) String() string {
  56562. return awsutil.Prettify(s)
  56563. }
  56564. // GoString returns the string representation
  56565. func (s StaleIpPermission) GoString() string {
  56566. return s.String()
  56567. }
  56568. // SetFromPort sets the FromPort field's value.
  56569. func (s *StaleIpPermission) SetFromPort(v int64) *StaleIpPermission {
  56570. s.FromPort = &v
  56571. return s
  56572. }
  56573. // SetIpProtocol sets the IpProtocol field's value.
  56574. func (s *StaleIpPermission) SetIpProtocol(v string) *StaleIpPermission {
  56575. s.IpProtocol = &v
  56576. return s
  56577. }
  56578. // SetIpRanges sets the IpRanges field's value.
  56579. func (s *StaleIpPermission) SetIpRanges(v []*string) *StaleIpPermission {
  56580. s.IpRanges = v
  56581. return s
  56582. }
  56583. // SetPrefixListIds sets the PrefixListIds field's value.
  56584. func (s *StaleIpPermission) SetPrefixListIds(v []*string) *StaleIpPermission {
  56585. s.PrefixListIds = v
  56586. return s
  56587. }
  56588. // SetToPort sets the ToPort field's value.
  56589. func (s *StaleIpPermission) SetToPort(v int64) *StaleIpPermission {
  56590. s.ToPort = &v
  56591. return s
  56592. }
  56593. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  56594. func (s *StaleIpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *StaleIpPermission {
  56595. s.UserIdGroupPairs = v
  56596. return s
  56597. }
  56598. // Describes a stale security group (a security group that contains stale rules).
  56599. type StaleSecurityGroup struct {
  56600. _ struct{} `type:"structure"`
  56601. // The description of the security group.
  56602. Description *string `locationName:"description" type:"string"`
  56603. // The ID of the security group.
  56604. //
  56605. // GroupId is a required field
  56606. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  56607. // The name of the security group.
  56608. GroupName *string `locationName:"groupName" type:"string"`
  56609. // Information about the stale inbound rules in the security group.
  56610. StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
  56611. // Information about the stale outbound rules in the security group.
  56612. StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
  56613. // The ID of the VPC for the security group.
  56614. VpcId *string `locationName:"vpcId" type:"string"`
  56615. }
  56616. // String returns the string representation
  56617. func (s StaleSecurityGroup) String() string {
  56618. return awsutil.Prettify(s)
  56619. }
  56620. // GoString returns the string representation
  56621. func (s StaleSecurityGroup) GoString() string {
  56622. return s.String()
  56623. }
  56624. // SetDescription sets the Description field's value.
  56625. func (s *StaleSecurityGroup) SetDescription(v string) *StaleSecurityGroup {
  56626. s.Description = &v
  56627. return s
  56628. }
  56629. // SetGroupId sets the GroupId field's value.
  56630. func (s *StaleSecurityGroup) SetGroupId(v string) *StaleSecurityGroup {
  56631. s.GroupId = &v
  56632. return s
  56633. }
  56634. // SetGroupName sets the GroupName field's value.
  56635. func (s *StaleSecurityGroup) SetGroupName(v string) *StaleSecurityGroup {
  56636. s.GroupName = &v
  56637. return s
  56638. }
  56639. // SetStaleIpPermissions sets the StaleIpPermissions field's value.
  56640. func (s *StaleSecurityGroup) SetStaleIpPermissions(v []*StaleIpPermission) *StaleSecurityGroup {
  56641. s.StaleIpPermissions = v
  56642. return s
  56643. }
  56644. // SetStaleIpPermissionsEgress sets the StaleIpPermissionsEgress field's value.
  56645. func (s *StaleSecurityGroup) SetStaleIpPermissionsEgress(v []*StaleIpPermission) *StaleSecurityGroup {
  56646. s.StaleIpPermissionsEgress = v
  56647. return s
  56648. }
  56649. // SetVpcId sets the VpcId field's value.
  56650. func (s *StaleSecurityGroup) SetVpcId(v string) *StaleSecurityGroup {
  56651. s.VpcId = &v
  56652. return s
  56653. }
  56654. // Contains the parameters for StartInstances.
  56655. type StartInstancesInput struct {
  56656. _ struct{} `type:"structure"`
  56657. // Reserved.
  56658. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  56659. // Checks whether you have the required permissions for the action, without
  56660. // actually making the request, and provides an error response. If you have
  56661. // the required permissions, the error response is DryRunOperation. Otherwise,
  56662. // it is UnauthorizedOperation.
  56663. DryRun *bool `locationName:"dryRun" type:"boolean"`
  56664. // One or more instance IDs.
  56665. //
  56666. // InstanceIds is a required field
  56667. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  56668. }
  56669. // String returns the string representation
  56670. func (s StartInstancesInput) String() string {
  56671. return awsutil.Prettify(s)
  56672. }
  56673. // GoString returns the string representation
  56674. func (s StartInstancesInput) GoString() string {
  56675. return s.String()
  56676. }
  56677. // Validate inspects the fields of the type to determine if they are valid.
  56678. func (s *StartInstancesInput) Validate() error {
  56679. invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
  56680. if s.InstanceIds == nil {
  56681. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  56682. }
  56683. if invalidParams.Len() > 0 {
  56684. return invalidParams
  56685. }
  56686. return nil
  56687. }
  56688. // SetAdditionalInfo sets the AdditionalInfo field's value.
  56689. func (s *StartInstancesInput) SetAdditionalInfo(v string) *StartInstancesInput {
  56690. s.AdditionalInfo = &v
  56691. return s
  56692. }
  56693. // SetDryRun sets the DryRun field's value.
  56694. func (s *StartInstancesInput) SetDryRun(v bool) *StartInstancesInput {
  56695. s.DryRun = &v
  56696. return s
  56697. }
  56698. // SetInstanceIds sets the InstanceIds field's value.
  56699. func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput {
  56700. s.InstanceIds = v
  56701. return s
  56702. }
  56703. // Contains the output of StartInstances.
  56704. type StartInstancesOutput struct {
  56705. _ struct{} `type:"structure"`
  56706. // Information about one or more started instances.
  56707. StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  56708. }
  56709. // String returns the string representation
  56710. func (s StartInstancesOutput) String() string {
  56711. return awsutil.Prettify(s)
  56712. }
  56713. // GoString returns the string representation
  56714. func (s StartInstancesOutput) GoString() string {
  56715. return s.String()
  56716. }
  56717. // SetStartingInstances sets the StartingInstances field's value.
  56718. func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *StartInstancesOutput {
  56719. s.StartingInstances = v
  56720. return s
  56721. }
  56722. // Describes a state change.
  56723. type StateReason struct {
  56724. _ struct{} `type:"structure"`
  56725. // The reason code for the state change.
  56726. Code *string `locationName:"code" type:"string"`
  56727. // The message for the state change.
  56728. //
  56729. // * Server.InsufficientInstanceCapacity: There was insufficient instance
  56730. // capacity to satisfy the launch request.
  56731. //
  56732. // * Server.InternalError: An internal error occurred during instance launch,
  56733. // resulting in termination.
  56734. //
  56735. // * Server.ScheduledStop: The instance was stopped due to a scheduled retirement.
  56736. //
  56737. // * Server.SpotInstanceTermination: A Spot Instance was terminated due to
  56738. // an increase in the Spot price.
  56739. //
  56740. // * Client.InternalError: A client error caused the instance to terminate
  56741. // on launch.
  56742. //
  56743. // * Client.InstanceInitiatedShutdown: The instance was shut down using the
  56744. // shutdown -h command from the instance.
  56745. //
  56746. // * Client.InstanceTerminated: The instance was terminated or rebooted during
  56747. // AMI creation.
  56748. //
  56749. // * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
  56750. // EC2 API.
  56751. //
  56752. // * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
  56753. // total storage was exceeded. Decrease usage or request an increase in your
  56754. // limits.
  56755. //
  56756. // * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
  56757. Message *string `locationName:"message" type:"string"`
  56758. }
  56759. // String returns the string representation
  56760. func (s StateReason) String() string {
  56761. return awsutil.Prettify(s)
  56762. }
  56763. // GoString returns the string representation
  56764. func (s StateReason) GoString() string {
  56765. return s.String()
  56766. }
  56767. // SetCode sets the Code field's value.
  56768. func (s *StateReason) SetCode(v string) *StateReason {
  56769. s.Code = &v
  56770. return s
  56771. }
  56772. // SetMessage sets the Message field's value.
  56773. func (s *StateReason) SetMessage(v string) *StateReason {
  56774. s.Message = &v
  56775. return s
  56776. }
  56777. // Contains the parameters for StopInstances.
  56778. type StopInstancesInput struct {
  56779. _ struct{} `type:"structure"`
  56780. // Checks whether you have the required permissions for the action, without
  56781. // actually making the request, and provides an error response. If you have
  56782. // the required permissions, the error response is DryRunOperation. Otherwise,
  56783. // it is UnauthorizedOperation.
  56784. DryRun *bool `locationName:"dryRun" type:"boolean"`
  56785. // Forces the instances to stop. The instances do not have an opportunity to
  56786. // flush file system caches or file system metadata. If you use this option,
  56787. // you must perform file system check and repair procedures. This option is
  56788. // not recommended for Windows instances.
  56789. //
  56790. // Default: false
  56791. Force *bool `locationName:"force" type:"boolean"`
  56792. // One or more instance IDs.
  56793. //
  56794. // InstanceIds is a required field
  56795. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  56796. }
  56797. // String returns the string representation
  56798. func (s StopInstancesInput) String() string {
  56799. return awsutil.Prettify(s)
  56800. }
  56801. // GoString returns the string representation
  56802. func (s StopInstancesInput) GoString() string {
  56803. return s.String()
  56804. }
  56805. // Validate inspects the fields of the type to determine if they are valid.
  56806. func (s *StopInstancesInput) Validate() error {
  56807. invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
  56808. if s.InstanceIds == nil {
  56809. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  56810. }
  56811. if invalidParams.Len() > 0 {
  56812. return invalidParams
  56813. }
  56814. return nil
  56815. }
  56816. // SetDryRun sets the DryRun field's value.
  56817. func (s *StopInstancesInput) SetDryRun(v bool) *StopInstancesInput {
  56818. s.DryRun = &v
  56819. return s
  56820. }
  56821. // SetForce sets the Force field's value.
  56822. func (s *StopInstancesInput) SetForce(v bool) *StopInstancesInput {
  56823. s.Force = &v
  56824. return s
  56825. }
  56826. // SetInstanceIds sets the InstanceIds field's value.
  56827. func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput {
  56828. s.InstanceIds = v
  56829. return s
  56830. }
  56831. // Contains the output of StopInstances.
  56832. type StopInstancesOutput struct {
  56833. _ struct{} `type:"structure"`
  56834. // Information about one or more stopped instances.
  56835. StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  56836. }
  56837. // String returns the string representation
  56838. func (s StopInstancesOutput) String() string {
  56839. return awsutil.Prettify(s)
  56840. }
  56841. // GoString returns the string representation
  56842. func (s StopInstancesOutput) GoString() string {
  56843. return s.String()
  56844. }
  56845. // SetStoppingInstances sets the StoppingInstances field's value.
  56846. func (s *StopInstancesOutput) SetStoppingInstances(v []*InstanceStateChange) *StopInstancesOutput {
  56847. s.StoppingInstances = v
  56848. return s
  56849. }
  56850. // Describes the storage location for an instance store-backed AMI.
  56851. type Storage struct {
  56852. _ struct{} `type:"structure"`
  56853. // An Amazon S3 storage location.
  56854. S3 *S3Storage `type:"structure"`
  56855. }
  56856. // String returns the string representation
  56857. func (s Storage) String() string {
  56858. return awsutil.Prettify(s)
  56859. }
  56860. // GoString returns the string representation
  56861. func (s Storage) GoString() string {
  56862. return s.String()
  56863. }
  56864. // SetS3 sets the S3 field's value.
  56865. func (s *Storage) SetS3(v *S3Storage) *Storage {
  56866. s.S3 = v
  56867. return s
  56868. }
  56869. // Describes a storage location in Amazon S3.
  56870. type StorageLocation struct {
  56871. _ struct{} `type:"structure"`
  56872. // The name of the S3 bucket.
  56873. Bucket *string `type:"string"`
  56874. // The key.
  56875. Key *string `type:"string"`
  56876. }
  56877. // String returns the string representation
  56878. func (s StorageLocation) String() string {
  56879. return awsutil.Prettify(s)
  56880. }
  56881. // GoString returns the string representation
  56882. func (s StorageLocation) GoString() string {
  56883. return s.String()
  56884. }
  56885. // SetBucket sets the Bucket field's value.
  56886. func (s *StorageLocation) SetBucket(v string) *StorageLocation {
  56887. s.Bucket = &v
  56888. return s
  56889. }
  56890. // SetKey sets the Key field's value.
  56891. func (s *StorageLocation) SetKey(v string) *StorageLocation {
  56892. s.Key = &v
  56893. return s
  56894. }
  56895. // Describes a subnet.
  56896. type Subnet struct {
  56897. _ struct{} `type:"structure"`
  56898. // Indicates whether a network interface created in this subnet (including a
  56899. // network interface created by RunInstances) receives an IPv6 address.
  56900. AssignIpv6AddressOnCreation *bool `locationName:"assignIpv6AddressOnCreation" type:"boolean"`
  56901. // The Availability Zone of the subnet.
  56902. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  56903. // The number of unused private IPv4 addresses in the subnet. Note that the
  56904. // IPv4 addresses for any stopped instances are considered unavailable.
  56905. AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
  56906. // The IPv4 CIDR block assigned to the subnet.
  56907. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  56908. // Indicates whether this is the default subnet for the Availability Zone.
  56909. DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
  56910. // Information about the IPv6 CIDR blocks associated with the subnet.
  56911. Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
  56912. // Indicates whether instances launched in this subnet receive a public IPv4
  56913. // address.
  56914. MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
  56915. // The current state of the subnet.
  56916. State *string `locationName:"state" type:"string" enum:"SubnetState"`
  56917. // The ID of the subnet.
  56918. SubnetId *string `locationName:"subnetId" type:"string"`
  56919. // Any tags assigned to the subnet.
  56920. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  56921. // The ID of the VPC the subnet is in.
  56922. VpcId *string `locationName:"vpcId" type:"string"`
  56923. }
  56924. // String returns the string representation
  56925. func (s Subnet) String() string {
  56926. return awsutil.Prettify(s)
  56927. }
  56928. // GoString returns the string representation
  56929. func (s Subnet) GoString() string {
  56930. return s.String()
  56931. }
  56932. // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
  56933. func (s *Subnet) SetAssignIpv6AddressOnCreation(v bool) *Subnet {
  56934. s.AssignIpv6AddressOnCreation = &v
  56935. return s
  56936. }
  56937. // SetAvailabilityZone sets the AvailabilityZone field's value.
  56938. func (s *Subnet) SetAvailabilityZone(v string) *Subnet {
  56939. s.AvailabilityZone = &v
  56940. return s
  56941. }
  56942. // SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
  56943. func (s *Subnet) SetAvailableIpAddressCount(v int64) *Subnet {
  56944. s.AvailableIpAddressCount = &v
  56945. return s
  56946. }
  56947. // SetCidrBlock sets the CidrBlock field's value.
  56948. func (s *Subnet) SetCidrBlock(v string) *Subnet {
  56949. s.CidrBlock = &v
  56950. return s
  56951. }
  56952. // SetDefaultForAz sets the DefaultForAz field's value.
  56953. func (s *Subnet) SetDefaultForAz(v bool) *Subnet {
  56954. s.DefaultForAz = &v
  56955. return s
  56956. }
  56957. // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
  56958. func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet {
  56959. s.Ipv6CidrBlockAssociationSet = v
  56960. return s
  56961. }
  56962. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  56963. func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
  56964. s.MapPublicIpOnLaunch = &v
  56965. return s
  56966. }
  56967. // SetState sets the State field's value.
  56968. func (s *Subnet) SetState(v string) *Subnet {
  56969. s.State = &v
  56970. return s
  56971. }
  56972. // SetSubnetId sets the SubnetId field's value.
  56973. func (s *Subnet) SetSubnetId(v string) *Subnet {
  56974. s.SubnetId = &v
  56975. return s
  56976. }
  56977. // SetTags sets the Tags field's value.
  56978. func (s *Subnet) SetTags(v []*Tag) *Subnet {
  56979. s.Tags = v
  56980. return s
  56981. }
  56982. // SetVpcId sets the VpcId field's value.
  56983. func (s *Subnet) SetVpcId(v string) *Subnet {
  56984. s.VpcId = &v
  56985. return s
  56986. }
  56987. // Describes the state of a CIDR block.
  56988. type SubnetCidrBlockState struct {
  56989. _ struct{} `type:"structure"`
  56990. // The state of a CIDR block.
  56991. State *string `locationName:"state" type:"string" enum:"SubnetCidrBlockStateCode"`
  56992. // A message about the status of the CIDR block, if applicable.
  56993. StatusMessage *string `locationName:"statusMessage" type:"string"`
  56994. }
  56995. // String returns the string representation
  56996. func (s SubnetCidrBlockState) String() string {
  56997. return awsutil.Prettify(s)
  56998. }
  56999. // GoString returns the string representation
  57000. func (s SubnetCidrBlockState) GoString() string {
  57001. return s.String()
  57002. }
  57003. // SetState sets the State field's value.
  57004. func (s *SubnetCidrBlockState) SetState(v string) *SubnetCidrBlockState {
  57005. s.State = &v
  57006. return s
  57007. }
  57008. // SetStatusMessage sets the StatusMessage field's value.
  57009. func (s *SubnetCidrBlockState) SetStatusMessage(v string) *SubnetCidrBlockState {
  57010. s.StatusMessage = &v
  57011. return s
  57012. }
  57013. // Describes an IPv6 CIDR block associated with a subnet.
  57014. type SubnetIpv6CidrBlockAssociation struct {
  57015. _ struct{} `type:"structure"`
  57016. // The association ID for the CIDR block.
  57017. AssociationId *string `locationName:"associationId" type:"string"`
  57018. // The IPv6 CIDR block.
  57019. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  57020. // Information about the state of the CIDR block.
  57021. Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
  57022. }
  57023. // String returns the string representation
  57024. func (s SubnetIpv6CidrBlockAssociation) String() string {
  57025. return awsutil.Prettify(s)
  57026. }
  57027. // GoString returns the string representation
  57028. func (s SubnetIpv6CidrBlockAssociation) GoString() string {
  57029. return s.String()
  57030. }
  57031. // SetAssociationId sets the AssociationId field's value.
  57032. func (s *SubnetIpv6CidrBlockAssociation) SetAssociationId(v string) *SubnetIpv6CidrBlockAssociation {
  57033. s.AssociationId = &v
  57034. return s
  57035. }
  57036. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  57037. func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *SubnetIpv6CidrBlockAssociation {
  57038. s.Ipv6CidrBlock = &v
  57039. return s
  57040. }
  57041. // SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
  57042. func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBlockState) *SubnetIpv6CidrBlockAssociation {
  57043. s.Ipv6CidrBlockState = v
  57044. return s
  57045. }
  57046. // Describes the T2 instance whose credit option for CPU usage was successfully
  57047. // modified.
  57048. type SuccessfulInstanceCreditSpecificationItem struct {
  57049. _ struct{} `type:"structure"`
  57050. // The ID of the instance.
  57051. InstanceId *string `locationName:"instanceId" type:"string"`
  57052. }
  57053. // String returns the string representation
  57054. func (s SuccessfulInstanceCreditSpecificationItem) String() string {
  57055. return awsutil.Prettify(s)
  57056. }
  57057. // GoString returns the string representation
  57058. func (s SuccessfulInstanceCreditSpecificationItem) GoString() string {
  57059. return s.String()
  57060. }
  57061. // SetInstanceId sets the InstanceId field's value.
  57062. func (s *SuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *SuccessfulInstanceCreditSpecificationItem {
  57063. s.InstanceId = &v
  57064. return s
  57065. }
  57066. // Describes a tag.
  57067. type Tag struct {
  57068. _ struct{} `type:"structure"`
  57069. // The key of the tag.
  57070. //
  57071. // Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
  57072. // characters. May not begin with aws:
  57073. Key *string `locationName:"key" type:"string"`
  57074. // The value of the tag.
  57075. //
  57076. // Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
  57077. // characters.
  57078. Value *string `locationName:"value" type:"string"`
  57079. }
  57080. // String returns the string representation
  57081. func (s Tag) String() string {
  57082. return awsutil.Prettify(s)
  57083. }
  57084. // GoString returns the string representation
  57085. func (s Tag) GoString() string {
  57086. return s.String()
  57087. }
  57088. // SetKey sets the Key field's value.
  57089. func (s *Tag) SetKey(v string) *Tag {
  57090. s.Key = &v
  57091. return s
  57092. }
  57093. // SetValue sets the Value field's value.
  57094. func (s *Tag) SetValue(v string) *Tag {
  57095. s.Value = &v
  57096. return s
  57097. }
  57098. // Describes a tag.
  57099. type TagDescription struct {
  57100. _ struct{} `type:"structure"`
  57101. // The tag key.
  57102. Key *string `locationName:"key" type:"string"`
  57103. // The ID of the resource. For example, ami-1a2b3c4d.
  57104. ResourceId *string `locationName:"resourceId" type:"string"`
  57105. // The resource type.
  57106. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  57107. // The tag value.
  57108. Value *string `locationName:"value" type:"string"`
  57109. }
  57110. // String returns the string representation
  57111. func (s TagDescription) String() string {
  57112. return awsutil.Prettify(s)
  57113. }
  57114. // GoString returns the string representation
  57115. func (s TagDescription) GoString() string {
  57116. return s.String()
  57117. }
  57118. // SetKey sets the Key field's value.
  57119. func (s *TagDescription) SetKey(v string) *TagDescription {
  57120. s.Key = &v
  57121. return s
  57122. }
  57123. // SetResourceId sets the ResourceId field's value.
  57124. func (s *TagDescription) SetResourceId(v string) *TagDescription {
  57125. s.ResourceId = &v
  57126. return s
  57127. }
  57128. // SetResourceType sets the ResourceType field's value.
  57129. func (s *TagDescription) SetResourceType(v string) *TagDescription {
  57130. s.ResourceType = &v
  57131. return s
  57132. }
  57133. // SetValue sets the Value field's value.
  57134. func (s *TagDescription) SetValue(v string) *TagDescription {
  57135. s.Value = &v
  57136. return s
  57137. }
  57138. // The tags to apply to a resource when the resource is being created.
  57139. type TagSpecification struct {
  57140. _ struct{} `type:"structure"`
  57141. // The type of resource to tag. Currently, the resource types that support tagging
  57142. // on creation are instance and volume.
  57143. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  57144. // The tags to apply to the resource.
  57145. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
  57146. }
  57147. // String returns the string representation
  57148. func (s TagSpecification) String() string {
  57149. return awsutil.Prettify(s)
  57150. }
  57151. // GoString returns the string representation
  57152. func (s TagSpecification) GoString() string {
  57153. return s.String()
  57154. }
  57155. // SetResourceType sets the ResourceType field's value.
  57156. func (s *TagSpecification) SetResourceType(v string) *TagSpecification {
  57157. s.ResourceType = &v
  57158. return s
  57159. }
  57160. // SetTags sets the Tags field's value.
  57161. func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification {
  57162. s.Tags = v
  57163. return s
  57164. }
  57165. // The number of units to request. You can choose to set the target capacity
  57166. // in terms of instances or a performance characteristic that is important to
  57167. // your application workload, such as vCPUs, memory, or I/O. If the request
  57168. // type is maintain, you can specify a target capacity of 0 and add capacity
  57169. // later.
  57170. type TargetCapacitySpecification struct {
  57171. _ struct{} `type:"structure"`
  57172. // The default TotalTargetCapacity, which is either Spot or On-Demand.
  57173. DefaultTargetCapacityType *string `locationName:"defaultTargetCapacityType" type:"string" enum:"DefaultTargetCapacityType"`
  57174. // The number of On-Demand units to request.
  57175. OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
  57176. // The maximum number of Spot units to launch.
  57177. SpotTargetCapacity *int64 `locationName:"spotTargetCapacity" type:"integer"`
  57178. // The number of units to request, filled using DefaultTargetCapacityType.
  57179. TotalTargetCapacity *int64 `locationName:"totalTargetCapacity" type:"integer"`
  57180. }
  57181. // String returns the string representation
  57182. func (s TargetCapacitySpecification) String() string {
  57183. return awsutil.Prettify(s)
  57184. }
  57185. // GoString returns the string representation
  57186. func (s TargetCapacitySpecification) GoString() string {
  57187. return s.String()
  57188. }
  57189. // SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
  57190. func (s *TargetCapacitySpecification) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecification {
  57191. s.DefaultTargetCapacityType = &v
  57192. return s
  57193. }
  57194. // SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
  57195. func (s *TargetCapacitySpecification) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecification {
  57196. s.OnDemandTargetCapacity = &v
  57197. return s
  57198. }
  57199. // SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
  57200. func (s *TargetCapacitySpecification) SetSpotTargetCapacity(v int64) *TargetCapacitySpecification {
  57201. s.SpotTargetCapacity = &v
  57202. return s
  57203. }
  57204. // SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
  57205. func (s *TargetCapacitySpecification) SetTotalTargetCapacity(v int64) *TargetCapacitySpecification {
  57206. s.TotalTargetCapacity = &v
  57207. return s
  57208. }
  57209. // The number of units to request. You can choose to set the target capacity
  57210. // in terms of instances or a performance characteristic that is important to
  57211. // your application workload, such as vCPUs, memory, or I/O. If the request
  57212. // type is maintain, you can specify a target capacity of 0 and add capacity
  57213. // later.
  57214. type TargetCapacitySpecificationRequest struct {
  57215. _ struct{} `type:"structure"`
  57216. // The default TotalTargetCapacity, which is either Spot or On-Demand.
  57217. DefaultTargetCapacityType *string `type:"string" enum:"DefaultTargetCapacityType"`
  57218. // The number of On-Demand units to request.
  57219. OnDemandTargetCapacity *int64 `type:"integer"`
  57220. // The number of Spot units to request.
  57221. SpotTargetCapacity *int64 `type:"integer"`
  57222. // The number of units to request, filled using DefaultTargetCapacityType.
  57223. //
  57224. // TotalTargetCapacity is a required field
  57225. TotalTargetCapacity *int64 `type:"integer" required:"true"`
  57226. }
  57227. // String returns the string representation
  57228. func (s TargetCapacitySpecificationRequest) String() string {
  57229. return awsutil.Prettify(s)
  57230. }
  57231. // GoString returns the string representation
  57232. func (s TargetCapacitySpecificationRequest) GoString() string {
  57233. return s.String()
  57234. }
  57235. // Validate inspects the fields of the type to determine if they are valid.
  57236. func (s *TargetCapacitySpecificationRequest) Validate() error {
  57237. invalidParams := request.ErrInvalidParams{Context: "TargetCapacitySpecificationRequest"}
  57238. if s.TotalTargetCapacity == nil {
  57239. invalidParams.Add(request.NewErrParamRequired("TotalTargetCapacity"))
  57240. }
  57241. if invalidParams.Len() > 0 {
  57242. return invalidParams
  57243. }
  57244. return nil
  57245. }
  57246. // SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
  57247. func (s *TargetCapacitySpecificationRequest) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecificationRequest {
  57248. s.DefaultTargetCapacityType = &v
  57249. return s
  57250. }
  57251. // SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
  57252. func (s *TargetCapacitySpecificationRequest) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
  57253. s.OnDemandTargetCapacity = &v
  57254. return s
  57255. }
  57256. // SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
  57257. func (s *TargetCapacitySpecificationRequest) SetSpotTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
  57258. s.SpotTargetCapacity = &v
  57259. return s
  57260. }
  57261. // SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
  57262. func (s *TargetCapacitySpecificationRequest) SetTotalTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
  57263. s.TotalTargetCapacity = &v
  57264. return s
  57265. }
  57266. // Information about the Convertible Reserved Instance offering.
  57267. type TargetConfiguration struct {
  57268. _ struct{} `type:"structure"`
  57269. // The number of instances the Convertible Reserved Instance offering can be
  57270. // applied to. This parameter is reserved and cannot be specified in a request
  57271. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  57272. // The ID of the Convertible Reserved Instance offering.
  57273. OfferingId *string `locationName:"offeringId" type:"string"`
  57274. }
  57275. // String returns the string representation
  57276. func (s TargetConfiguration) String() string {
  57277. return awsutil.Prettify(s)
  57278. }
  57279. // GoString returns the string representation
  57280. func (s TargetConfiguration) GoString() string {
  57281. return s.String()
  57282. }
  57283. // SetInstanceCount sets the InstanceCount field's value.
  57284. func (s *TargetConfiguration) SetInstanceCount(v int64) *TargetConfiguration {
  57285. s.InstanceCount = &v
  57286. return s
  57287. }
  57288. // SetOfferingId sets the OfferingId field's value.
  57289. func (s *TargetConfiguration) SetOfferingId(v string) *TargetConfiguration {
  57290. s.OfferingId = &v
  57291. return s
  57292. }
  57293. // Details about the target configuration.
  57294. type TargetConfigurationRequest struct {
  57295. _ struct{} `type:"structure"`
  57296. // The number of instances the Covertible Reserved Instance offering can be
  57297. // applied to. This parameter is reserved and cannot be specified in a request
  57298. InstanceCount *int64 `type:"integer"`
  57299. // The Convertible Reserved Instance offering ID.
  57300. //
  57301. // OfferingId is a required field
  57302. OfferingId *string `type:"string" required:"true"`
  57303. }
  57304. // String returns the string representation
  57305. func (s TargetConfigurationRequest) String() string {
  57306. return awsutil.Prettify(s)
  57307. }
  57308. // GoString returns the string representation
  57309. func (s TargetConfigurationRequest) GoString() string {
  57310. return s.String()
  57311. }
  57312. // Validate inspects the fields of the type to determine if they are valid.
  57313. func (s *TargetConfigurationRequest) Validate() error {
  57314. invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
  57315. if s.OfferingId == nil {
  57316. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  57317. }
  57318. if invalidParams.Len() > 0 {
  57319. return invalidParams
  57320. }
  57321. return nil
  57322. }
  57323. // SetInstanceCount sets the InstanceCount field's value.
  57324. func (s *TargetConfigurationRequest) SetInstanceCount(v int64) *TargetConfigurationRequest {
  57325. s.InstanceCount = &v
  57326. return s
  57327. }
  57328. // SetOfferingId sets the OfferingId field's value.
  57329. func (s *TargetConfigurationRequest) SetOfferingId(v string) *TargetConfigurationRequest {
  57330. s.OfferingId = &v
  57331. return s
  57332. }
  57333. // Describes a load balancer target group.
  57334. type TargetGroup struct {
  57335. _ struct{} `type:"structure"`
  57336. // The Amazon Resource Name (ARN) of the target group.
  57337. //
  57338. // Arn is a required field
  57339. Arn *string `locationName:"arn" type:"string" required:"true"`
  57340. }
  57341. // String returns the string representation
  57342. func (s TargetGroup) String() string {
  57343. return awsutil.Prettify(s)
  57344. }
  57345. // GoString returns the string representation
  57346. func (s TargetGroup) GoString() string {
  57347. return s.String()
  57348. }
  57349. // Validate inspects the fields of the type to determine if they are valid.
  57350. func (s *TargetGroup) Validate() error {
  57351. invalidParams := request.ErrInvalidParams{Context: "TargetGroup"}
  57352. if s.Arn == nil {
  57353. invalidParams.Add(request.NewErrParamRequired("Arn"))
  57354. }
  57355. if invalidParams.Len() > 0 {
  57356. return invalidParams
  57357. }
  57358. return nil
  57359. }
  57360. // SetArn sets the Arn field's value.
  57361. func (s *TargetGroup) SetArn(v string) *TargetGroup {
  57362. s.Arn = &v
  57363. return s
  57364. }
  57365. // Describes the target groups to attach to a Spot Fleet. Spot Fleet registers
  57366. // the running Spot Instances with these target groups.
  57367. type TargetGroupsConfig struct {
  57368. _ struct{} `type:"structure"`
  57369. // One or more target groups.
  57370. //
  57371. // TargetGroups is a required field
  57372. TargetGroups []*TargetGroup `locationName:"targetGroups" locationNameList:"item" min:"1" type:"list" required:"true"`
  57373. }
  57374. // String returns the string representation
  57375. func (s TargetGroupsConfig) String() string {
  57376. return awsutil.Prettify(s)
  57377. }
  57378. // GoString returns the string representation
  57379. func (s TargetGroupsConfig) GoString() string {
  57380. return s.String()
  57381. }
  57382. // Validate inspects the fields of the type to determine if they are valid.
  57383. func (s *TargetGroupsConfig) Validate() error {
  57384. invalidParams := request.ErrInvalidParams{Context: "TargetGroupsConfig"}
  57385. if s.TargetGroups == nil {
  57386. invalidParams.Add(request.NewErrParamRequired("TargetGroups"))
  57387. }
  57388. if s.TargetGroups != nil && len(s.TargetGroups) < 1 {
  57389. invalidParams.Add(request.NewErrParamMinLen("TargetGroups", 1))
  57390. }
  57391. if s.TargetGroups != nil {
  57392. for i, v := range s.TargetGroups {
  57393. if v == nil {
  57394. continue
  57395. }
  57396. if err := v.Validate(); err != nil {
  57397. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetGroups", i), err.(request.ErrInvalidParams))
  57398. }
  57399. }
  57400. }
  57401. if invalidParams.Len() > 0 {
  57402. return invalidParams
  57403. }
  57404. return nil
  57405. }
  57406. // SetTargetGroups sets the TargetGroups field's value.
  57407. func (s *TargetGroupsConfig) SetTargetGroups(v []*TargetGroup) *TargetGroupsConfig {
  57408. s.TargetGroups = v
  57409. return s
  57410. }
  57411. // The total value of the new Convertible Reserved Instances.
  57412. type TargetReservationValue struct {
  57413. _ struct{} `type:"structure"`
  57414. // The total value of the Convertible Reserved Instances that make up the exchange.
  57415. // This is the sum of the list value, remaining upfront price, and additional
  57416. // upfront cost of the exchange.
  57417. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  57418. // The configuration of the Convertible Reserved Instances that make up the
  57419. // exchange.
  57420. TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
  57421. }
  57422. // String returns the string representation
  57423. func (s TargetReservationValue) String() string {
  57424. return awsutil.Prettify(s)
  57425. }
  57426. // GoString returns the string representation
  57427. func (s TargetReservationValue) GoString() string {
  57428. return s.String()
  57429. }
  57430. // SetReservationValue sets the ReservationValue field's value.
  57431. func (s *TargetReservationValue) SetReservationValue(v *ReservationValue) *TargetReservationValue {
  57432. s.ReservationValue = v
  57433. return s
  57434. }
  57435. // SetTargetConfiguration sets the TargetConfiguration field's value.
  57436. func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) *TargetReservationValue {
  57437. s.TargetConfiguration = v
  57438. return s
  57439. }
  57440. // Contains the parameters for TerminateInstances.
  57441. type TerminateInstancesInput struct {
  57442. _ struct{} `type:"structure"`
  57443. // Checks whether you have the required permissions for the action, without
  57444. // actually making the request, and provides an error response. If you have
  57445. // the required permissions, the error response is DryRunOperation. Otherwise,
  57446. // it is UnauthorizedOperation.
  57447. DryRun *bool `locationName:"dryRun" type:"boolean"`
  57448. // One or more instance IDs.
  57449. //
  57450. // Constraints: Up to 1000 instance IDs. We recommend breaking up this request
  57451. // into smaller batches.
  57452. //
  57453. // InstanceIds is a required field
  57454. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  57455. }
  57456. // String returns the string representation
  57457. func (s TerminateInstancesInput) String() string {
  57458. return awsutil.Prettify(s)
  57459. }
  57460. // GoString returns the string representation
  57461. func (s TerminateInstancesInput) GoString() string {
  57462. return s.String()
  57463. }
  57464. // Validate inspects the fields of the type to determine if they are valid.
  57465. func (s *TerminateInstancesInput) Validate() error {
  57466. invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
  57467. if s.InstanceIds == nil {
  57468. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  57469. }
  57470. if invalidParams.Len() > 0 {
  57471. return invalidParams
  57472. }
  57473. return nil
  57474. }
  57475. // SetDryRun sets the DryRun field's value.
  57476. func (s *TerminateInstancesInput) SetDryRun(v bool) *TerminateInstancesInput {
  57477. s.DryRun = &v
  57478. return s
  57479. }
  57480. // SetInstanceIds sets the InstanceIds field's value.
  57481. func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstancesInput {
  57482. s.InstanceIds = v
  57483. return s
  57484. }
  57485. // Contains the output of TerminateInstances.
  57486. type TerminateInstancesOutput struct {
  57487. _ struct{} `type:"structure"`
  57488. // Information about one or more terminated instances.
  57489. TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  57490. }
  57491. // String returns the string representation
  57492. func (s TerminateInstancesOutput) String() string {
  57493. return awsutil.Prettify(s)
  57494. }
  57495. // GoString returns the string representation
  57496. func (s TerminateInstancesOutput) GoString() string {
  57497. return s.String()
  57498. }
  57499. // SetTerminatingInstances sets the TerminatingInstances field's value.
  57500. func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateChange) *TerminateInstancesOutput {
  57501. s.TerminatingInstances = v
  57502. return s
  57503. }
  57504. type UnassignIpv6AddressesInput struct {
  57505. _ struct{} `type:"structure"`
  57506. // The IPv6 addresses to unassign from the network interface.
  57507. //
  57508. // Ipv6Addresses is a required field
  57509. Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list" required:"true"`
  57510. // The ID of the network interface.
  57511. //
  57512. // NetworkInterfaceId is a required field
  57513. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  57514. }
  57515. // String returns the string representation
  57516. func (s UnassignIpv6AddressesInput) String() string {
  57517. return awsutil.Prettify(s)
  57518. }
  57519. // GoString returns the string representation
  57520. func (s UnassignIpv6AddressesInput) GoString() string {
  57521. return s.String()
  57522. }
  57523. // Validate inspects the fields of the type to determine if they are valid.
  57524. func (s *UnassignIpv6AddressesInput) Validate() error {
  57525. invalidParams := request.ErrInvalidParams{Context: "UnassignIpv6AddressesInput"}
  57526. if s.Ipv6Addresses == nil {
  57527. invalidParams.Add(request.NewErrParamRequired("Ipv6Addresses"))
  57528. }
  57529. if s.NetworkInterfaceId == nil {
  57530. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  57531. }
  57532. if invalidParams.Len() > 0 {
  57533. return invalidParams
  57534. }
  57535. return nil
  57536. }
  57537. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  57538. func (s *UnassignIpv6AddressesInput) SetIpv6Addresses(v []*string) *UnassignIpv6AddressesInput {
  57539. s.Ipv6Addresses = v
  57540. return s
  57541. }
  57542. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  57543. func (s *UnassignIpv6AddressesInput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesInput {
  57544. s.NetworkInterfaceId = &v
  57545. return s
  57546. }
  57547. type UnassignIpv6AddressesOutput struct {
  57548. _ struct{} `type:"structure"`
  57549. // The ID of the network interface.
  57550. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  57551. // The IPv6 addresses that have been unassigned from the network interface.
  57552. UnassignedIpv6Addresses []*string `locationName:"unassignedIpv6Addresses" locationNameList:"item" type:"list"`
  57553. }
  57554. // String returns the string representation
  57555. func (s UnassignIpv6AddressesOutput) String() string {
  57556. return awsutil.Prettify(s)
  57557. }
  57558. // GoString returns the string representation
  57559. func (s UnassignIpv6AddressesOutput) GoString() string {
  57560. return s.String()
  57561. }
  57562. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  57563. func (s *UnassignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesOutput {
  57564. s.NetworkInterfaceId = &v
  57565. return s
  57566. }
  57567. // SetUnassignedIpv6Addresses sets the UnassignedIpv6Addresses field's value.
  57568. func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Addresses(v []*string) *UnassignIpv6AddressesOutput {
  57569. s.UnassignedIpv6Addresses = v
  57570. return s
  57571. }
  57572. // Contains the parameters for UnassignPrivateIpAddresses.
  57573. type UnassignPrivateIpAddressesInput struct {
  57574. _ struct{} `type:"structure"`
  57575. // The ID of the network interface.
  57576. //
  57577. // NetworkInterfaceId is a required field
  57578. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  57579. // The secondary private IP addresses to unassign from the network interface.
  57580. // You can specify this option multiple times to unassign more than one IP address.
  57581. //
  57582. // PrivateIpAddresses is a required field
  57583. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
  57584. }
  57585. // String returns the string representation
  57586. func (s UnassignPrivateIpAddressesInput) String() string {
  57587. return awsutil.Prettify(s)
  57588. }
  57589. // GoString returns the string representation
  57590. func (s UnassignPrivateIpAddressesInput) GoString() string {
  57591. return s.String()
  57592. }
  57593. // Validate inspects the fields of the type to determine if they are valid.
  57594. func (s *UnassignPrivateIpAddressesInput) Validate() error {
  57595. invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
  57596. if s.NetworkInterfaceId == nil {
  57597. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  57598. }
  57599. if s.PrivateIpAddresses == nil {
  57600. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses"))
  57601. }
  57602. if invalidParams.Len() > 0 {
  57603. return invalidParams
  57604. }
  57605. return nil
  57606. }
  57607. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  57608. func (s *UnassignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *UnassignPrivateIpAddressesInput {
  57609. s.NetworkInterfaceId = &v
  57610. return s
  57611. }
  57612. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  57613. func (s *UnassignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateIpAddressesInput {
  57614. s.PrivateIpAddresses = v
  57615. return s
  57616. }
  57617. type UnassignPrivateIpAddressesOutput struct {
  57618. _ struct{} `type:"structure"`
  57619. }
  57620. // String returns the string representation
  57621. func (s UnassignPrivateIpAddressesOutput) String() string {
  57622. return awsutil.Prettify(s)
  57623. }
  57624. // GoString returns the string representation
  57625. func (s UnassignPrivateIpAddressesOutput) GoString() string {
  57626. return s.String()
  57627. }
  57628. // Contains the parameters for UnmonitorInstances.
  57629. type UnmonitorInstancesInput struct {
  57630. _ struct{} `type:"structure"`
  57631. // Checks whether you have the required permissions for the action, without
  57632. // actually making the request, and provides an error response. If you have
  57633. // the required permissions, the error response is DryRunOperation. Otherwise,
  57634. // it is UnauthorizedOperation.
  57635. DryRun *bool `locationName:"dryRun" type:"boolean"`
  57636. // One or more instance IDs.
  57637. //
  57638. // InstanceIds is a required field
  57639. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  57640. }
  57641. // String returns the string representation
  57642. func (s UnmonitorInstancesInput) String() string {
  57643. return awsutil.Prettify(s)
  57644. }
  57645. // GoString returns the string representation
  57646. func (s UnmonitorInstancesInput) GoString() string {
  57647. return s.String()
  57648. }
  57649. // Validate inspects the fields of the type to determine if they are valid.
  57650. func (s *UnmonitorInstancesInput) Validate() error {
  57651. invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
  57652. if s.InstanceIds == nil {
  57653. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  57654. }
  57655. if invalidParams.Len() > 0 {
  57656. return invalidParams
  57657. }
  57658. return nil
  57659. }
  57660. // SetDryRun sets the DryRun field's value.
  57661. func (s *UnmonitorInstancesInput) SetDryRun(v bool) *UnmonitorInstancesInput {
  57662. s.DryRun = &v
  57663. return s
  57664. }
  57665. // SetInstanceIds sets the InstanceIds field's value.
  57666. func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstancesInput {
  57667. s.InstanceIds = v
  57668. return s
  57669. }
  57670. // Contains the output of UnmonitorInstances.
  57671. type UnmonitorInstancesOutput struct {
  57672. _ struct{} `type:"structure"`
  57673. // The monitoring information.
  57674. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  57675. }
  57676. // String returns the string representation
  57677. func (s UnmonitorInstancesOutput) String() string {
  57678. return awsutil.Prettify(s)
  57679. }
  57680. // GoString returns the string representation
  57681. func (s UnmonitorInstancesOutput) GoString() string {
  57682. return s.String()
  57683. }
  57684. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  57685. func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *UnmonitorInstancesOutput {
  57686. s.InstanceMonitorings = v
  57687. return s
  57688. }
  57689. // Describes the T2 instance whose credit option for CPU usage was not modified.
  57690. type UnsuccessfulInstanceCreditSpecificationItem struct {
  57691. _ struct{} `type:"structure"`
  57692. // The applicable error for the T2 instance whose credit option for CPU usage
  57693. // was not modified.
  57694. Error *UnsuccessfulInstanceCreditSpecificationItemError `locationName:"error" type:"structure"`
  57695. // The ID of the instance.
  57696. InstanceId *string `locationName:"instanceId" type:"string"`
  57697. }
  57698. // String returns the string representation
  57699. func (s UnsuccessfulInstanceCreditSpecificationItem) String() string {
  57700. return awsutil.Prettify(s)
  57701. }
  57702. // GoString returns the string representation
  57703. func (s UnsuccessfulInstanceCreditSpecificationItem) GoString() string {
  57704. return s.String()
  57705. }
  57706. // SetError sets the Error field's value.
  57707. func (s *UnsuccessfulInstanceCreditSpecificationItem) SetError(v *UnsuccessfulInstanceCreditSpecificationItemError) *UnsuccessfulInstanceCreditSpecificationItem {
  57708. s.Error = v
  57709. return s
  57710. }
  57711. // SetInstanceId sets the InstanceId field's value.
  57712. func (s *UnsuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *UnsuccessfulInstanceCreditSpecificationItem {
  57713. s.InstanceId = &v
  57714. return s
  57715. }
  57716. // Information about the error for the T2 instance whose credit option for CPU
  57717. // usage was not modified.
  57718. type UnsuccessfulInstanceCreditSpecificationItemError struct {
  57719. _ struct{} `type:"structure"`
  57720. // The error code.
  57721. Code *string `locationName:"code" type:"string" enum:"UnsuccessfulInstanceCreditSpecificationErrorCode"`
  57722. // The applicable error message.
  57723. Message *string `locationName:"message" type:"string"`
  57724. }
  57725. // String returns the string representation
  57726. func (s UnsuccessfulInstanceCreditSpecificationItemError) String() string {
  57727. return awsutil.Prettify(s)
  57728. }
  57729. // GoString returns the string representation
  57730. func (s UnsuccessfulInstanceCreditSpecificationItemError) GoString() string {
  57731. return s.String()
  57732. }
  57733. // SetCode sets the Code field's value.
  57734. func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetCode(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
  57735. s.Code = &v
  57736. return s
  57737. }
  57738. // SetMessage sets the Message field's value.
  57739. func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetMessage(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
  57740. s.Message = &v
  57741. return s
  57742. }
  57743. // Information about items that were not successfully processed in a batch call.
  57744. type UnsuccessfulItem struct {
  57745. _ struct{} `type:"structure"`
  57746. // Information about the error.
  57747. //
  57748. // Error is a required field
  57749. Error *UnsuccessfulItemError `locationName:"error" type:"structure" required:"true"`
  57750. // The ID of the resource.
  57751. ResourceId *string `locationName:"resourceId" type:"string"`
  57752. }
  57753. // String returns the string representation
  57754. func (s UnsuccessfulItem) String() string {
  57755. return awsutil.Prettify(s)
  57756. }
  57757. // GoString returns the string representation
  57758. func (s UnsuccessfulItem) GoString() string {
  57759. return s.String()
  57760. }
  57761. // SetError sets the Error field's value.
  57762. func (s *UnsuccessfulItem) SetError(v *UnsuccessfulItemError) *UnsuccessfulItem {
  57763. s.Error = v
  57764. return s
  57765. }
  57766. // SetResourceId sets the ResourceId field's value.
  57767. func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem {
  57768. s.ResourceId = &v
  57769. return s
  57770. }
  57771. // Information about the error that occurred. For more information about errors,
  57772. // see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
  57773. type UnsuccessfulItemError struct {
  57774. _ struct{} `type:"structure"`
  57775. // The error code.
  57776. //
  57777. // Code is a required field
  57778. Code *string `locationName:"code" type:"string" required:"true"`
  57779. // The error message accompanying the error code.
  57780. //
  57781. // Message is a required field
  57782. Message *string `locationName:"message" type:"string" required:"true"`
  57783. }
  57784. // String returns the string representation
  57785. func (s UnsuccessfulItemError) String() string {
  57786. return awsutil.Prettify(s)
  57787. }
  57788. // GoString returns the string representation
  57789. func (s UnsuccessfulItemError) GoString() string {
  57790. return s.String()
  57791. }
  57792. // SetCode sets the Code field's value.
  57793. func (s *UnsuccessfulItemError) SetCode(v string) *UnsuccessfulItemError {
  57794. s.Code = &v
  57795. return s
  57796. }
  57797. // SetMessage sets the Message field's value.
  57798. func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError {
  57799. s.Message = &v
  57800. return s
  57801. }
  57802. // Contains the parameters for UpdateSecurityGroupRuleDescriptionsEgress.
  57803. type UpdateSecurityGroupRuleDescriptionsEgressInput struct {
  57804. _ struct{} `type:"structure"`
  57805. // Checks whether you have the required permissions for the action, without
  57806. // actually making the request, and provides an error response. If you have
  57807. // the required permissions, the error response is DryRunOperation. Otherwise,
  57808. // it is UnauthorizedOperation.
  57809. DryRun *bool `type:"boolean"`
  57810. // The ID of the security group. You must specify either the security group
  57811. // ID or the security group name in the request. For security groups in a nondefault
  57812. // VPC, you must specify the security group ID.
  57813. GroupId *string `type:"string"`
  57814. // [Default VPC] The name of the security group. You must specify either the
  57815. // security group ID or the security group name in the request.
  57816. GroupName *string `type:"string"`
  57817. // The IP permissions for the security group rule.
  57818. //
  57819. // IpPermissions is a required field
  57820. IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
  57821. }
  57822. // String returns the string representation
  57823. func (s UpdateSecurityGroupRuleDescriptionsEgressInput) String() string {
  57824. return awsutil.Prettify(s)
  57825. }
  57826. // GoString returns the string representation
  57827. func (s UpdateSecurityGroupRuleDescriptionsEgressInput) GoString() string {
  57828. return s.String()
  57829. }
  57830. // Validate inspects the fields of the type to determine if they are valid.
  57831. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) Validate() error {
  57832. invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsEgressInput"}
  57833. if s.IpPermissions == nil {
  57834. invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
  57835. }
  57836. if invalidParams.Len() > 0 {
  57837. return invalidParams
  57838. }
  57839. return nil
  57840. }
  57841. // SetDryRun sets the DryRun field's value.
  57842. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  57843. s.DryRun = &v
  57844. return s
  57845. }
  57846. // SetGroupId sets the GroupId field's value.
  57847. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  57848. s.GroupId = &v
  57849. return s
  57850. }
  57851. // SetGroupName sets the GroupName field's value.
  57852. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  57853. s.GroupName = &v
  57854. return s
  57855. }
  57856. // SetIpPermissions sets the IpPermissions field's value.
  57857. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  57858. s.IpPermissions = v
  57859. return s
  57860. }
  57861. // Contains the output of UpdateSecurityGroupRuleDescriptionsEgress.
  57862. type UpdateSecurityGroupRuleDescriptionsEgressOutput struct {
  57863. _ struct{} `type:"structure"`
  57864. // Returns true if the request succeeds; otherwise, returns an error.
  57865. Return *bool `locationName:"return" type:"boolean"`
  57866. }
  57867. // String returns the string representation
  57868. func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) String() string {
  57869. return awsutil.Prettify(s)
  57870. }
  57871. // GoString returns the string representation
  57872. func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) GoString() string {
  57873. return s.String()
  57874. }
  57875. // SetReturn sets the Return field's value.
  57876. func (s *UpdateSecurityGroupRuleDescriptionsEgressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsEgressOutput {
  57877. s.Return = &v
  57878. return s
  57879. }
  57880. // Contains the parameters for UpdateSecurityGroupRuleDescriptionsIngress.
  57881. type UpdateSecurityGroupRuleDescriptionsIngressInput struct {
  57882. _ struct{} `type:"structure"`
  57883. // Checks whether you have the required permissions for the action, without
  57884. // actually making the request, and provides an error response. If you have
  57885. // the required permissions, the error response is DryRunOperation. Otherwise,
  57886. // it is UnauthorizedOperation.
  57887. DryRun *bool `type:"boolean"`
  57888. // The ID of the security group. You must specify either the security group
  57889. // ID or the security group name in the request. For security groups in a nondefault
  57890. // VPC, you must specify the security group ID.
  57891. GroupId *string `type:"string"`
  57892. // [EC2-Classic, default VPC] The name of the security group. You must specify
  57893. // either the security group ID or the security group name in the request.
  57894. GroupName *string `type:"string"`
  57895. // The IP permissions for the security group rule.
  57896. //
  57897. // IpPermissions is a required field
  57898. IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
  57899. }
  57900. // String returns the string representation
  57901. func (s UpdateSecurityGroupRuleDescriptionsIngressInput) String() string {
  57902. return awsutil.Prettify(s)
  57903. }
  57904. // GoString returns the string representation
  57905. func (s UpdateSecurityGroupRuleDescriptionsIngressInput) GoString() string {
  57906. return s.String()
  57907. }
  57908. // Validate inspects the fields of the type to determine if they are valid.
  57909. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) Validate() error {
  57910. invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsIngressInput"}
  57911. if s.IpPermissions == nil {
  57912. invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
  57913. }
  57914. if invalidParams.Len() > 0 {
  57915. return invalidParams
  57916. }
  57917. return nil
  57918. }
  57919. // SetDryRun sets the DryRun field's value.
  57920. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  57921. s.DryRun = &v
  57922. return s
  57923. }
  57924. // SetGroupId sets the GroupId field's value.
  57925. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  57926. s.GroupId = &v
  57927. return s
  57928. }
  57929. // SetGroupName sets the GroupName field's value.
  57930. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  57931. s.GroupName = &v
  57932. return s
  57933. }
  57934. // SetIpPermissions sets the IpPermissions field's value.
  57935. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  57936. s.IpPermissions = v
  57937. return s
  57938. }
  57939. // Contains the output of UpdateSecurityGroupRuleDescriptionsIngress.
  57940. type UpdateSecurityGroupRuleDescriptionsIngressOutput struct {
  57941. _ struct{} `type:"structure"`
  57942. // Returns true if the request succeeds; otherwise, returns an error.
  57943. Return *bool `locationName:"return" type:"boolean"`
  57944. }
  57945. // String returns the string representation
  57946. func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) String() string {
  57947. return awsutil.Prettify(s)
  57948. }
  57949. // GoString returns the string representation
  57950. func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) GoString() string {
  57951. return s.String()
  57952. }
  57953. // SetReturn sets the Return field's value.
  57954. func (s *UpdateSecurityGroupRuleDescriptionsIngressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsIngressOutput {
  57955. s.Return = &v
  57956. return s
  57957. }
  57958. // Describes the S3 bucket for the disk image.
  57959. type UserBucket struct {
  57960. _ struct{} `type:"structure"`
  57961. // The name of the S3 bucket where the disk image is located.
  57962. S3Bucket *string `type:"string"`
  57963. // The file name of the disk image.
  57964. S3Key *string `type:"string"`
  57965. }
  57966. // String returns the string representation
  57967. func (s UserBucket) String() string {
  57968. return awsutil.Prettify(s)
  57969. }
  57970. // GoString returns the string representation
  57971. func (s UserBucket) GoString() string {
  57972. return s.String()
  57973. }
  57974. // SetS3Bucket sets the S3Bucket field's value.
  57975. func (s *UserBucket) SetS3Bucket(v string) *UserBucket {
  57976. s.S3Bucket = &v
  57977. return s
  57978. }
  57979. // SetS3Key sets the S3Key field's value.
  57980. func (s *UserBucket) SetS3Key(v string) *UserBucket {
  57981. s.S3Key = &v
  57982. return s
  57983. }
  57984. // Describes the S3 bucket for the disk image.
  57985. type UserBucketDetails struct {
  57986. _ struct{} `type:"structure"`
  57987. // The S3 bucket from which the disk image was created.
  57988. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  57989. // The file name of the disk image.
  57990. S3Key *string `locationName:"s3Key" type:"string"`
  57991. }
  57992. // String returns the string representation
  57993. func (s UserBucketDetails) String() string {
  57994. return awsutil.Prettify(s)
  57995. }
  57996. // GoString returns the string representation
  57997. func (s UserBucketDetails) GoString() string {
  57998. return s.String()
  57999. }
  58000. // SetS3Bucket sets the S3Bucket field's value.
  58001. func (s *UserBucketDetails) SetS3Bucket(v string) *UserBucketDetails {
  58002. s.S3Bucket = &v
  58003. return s
  58004. }
  58005. // SetS3Key sets the S3Key field's value.
  58006. func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails {
  58007. s.S3Key = &v
  58008. return s
  58009. }
  58010. // Describes the user data for an instance.
  58011. type UserData struct {
  58012. _ struct{} `type:"structure"`
  58013. // The user data. If you are using an AWS SDK or command line tool, Base64-encoding
  58014. // is performed for you, and you can load the text from a file. Otherwise, you
  58015. // must provide Base64-encoded text.
  58016. Data *string `locationName:"data" type:"string"`
  58017. }
  58018. // String returns the string representation
  58019. func (s UserData) String() string {
  58020. return awsutil.Prettify(s)
  58021. }
  58022. // GoString returns the string representation
  58023. func (s UserData) GoString() string {
  58024. return s.String()
  58025. }
  58026. // SetData sets the Data field's value.
  58027. func (s *UserData) SetData(v string) *UserData {
  58028. s.Data = &v
  58029. return s
  58030. }
  58031. // Describes a security group and AWS account ID pair.
  58032. type UserIdGroupPair struct {
  58033. _ struct{} `type:"structure"`
  58034. // A description for the security group rule that references this user ID group
  58035. // pair.
  58036. //
  58037. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  58038. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
  58039. Description *string `locationName:"description" type:"string"`
  58040. // The ID of the security group.
  58041. GroupId *string `locationName:"groupId" type:"string"`
  58042. // The name of the security group. In a request, use this parameter for a security
  58043. // group in EC2-Classic or a default VPC only. For a security group in a nondefault
  58044. // VPC, use the security group ID.
  58045. //
  58046. // For a referenced security group in another VPC, this value is not returned
  58047. // if the referenced security group is deleted.
  58048. GroupName *string `locationName:"groupName" type:"string"`
  58049. // The status of a VPC peering connection, if applicable.
  58050. PeeringStatus *string `locationName:"peeringStatus" type:"string"`
  58051. // The ID of an AWS account.
  58052. //
  58053. // For a referenced security group in another VPC, the account ID of the referenced
  58054. // security group is returned in the response. If the referenced security group
  58055. // is deleted, this value is not returned.
  58056. //
  58057. // [EC2-Classic] Required when adding or removing rules that reference a security
  58058. // group in another AWS account.
  58059. UserId *string `locationName:"userId" type:"string"`
  58060. // The ID of the VPC for the referenced security group, if applicable.
  58061. VpcId *string `locationName:"vpcId" type:"string"`
  58062. // The ID of the VPC peering connection, if applicable.
  58063. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  58064. }
  58065. // String returns the string representation
  58066. func (s UserIdGroupPair) String() string {
  58067. return awsutil.Prettify(s)
  58068. }
  58069. // GoString returns the string representation
  58070. func (s UserIdGroupPair) GoString() string {
  58071. return s.String()
  58072. }
  58073. // SetDescription sets the Description field's value.
  58074. func (s *UserIdGroupPair) SetDescription(v string) *UserIdGroupPair {
  58075. s.Description = &v
  58076. return s
  58077. }
  58078. // SetGroupId sets the GroupId field's value.
  58079. func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair {
  58080. s.GroupId = &v
  58081. return s
  58082. }
  58083. // SetGroupName sets the GroupName field's value.
  58084. func (s *UserIdGroupPair) SetGroupName(v string) *UserIdGroupPair {
  58085. s.GroupName = &v
  58086. return s
  58087. }
  58088. // SetPeeringStatus sets the PeeringStatus field's value.
  58089. func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair {
  58090. s.PeeringStatus = &v
  58091. return s
  58092. }
  58093. // SetUserId sets the UserId field's value.
  58094. func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair {
  58095. s.UserId = &v
  58096. return s
  58097. }
  58098. // SetVpcId sets the VpcId field's value.
  58099. func (s *UserIdGroupPair) SetVpcId(v string) *UserIdGroupPair {
  58100. s.VpcId = &v
  58101. return s
  58102. }
  58103. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  58104. func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair {
  58105. s.VpcPeeringConnectionId = &v
  58106. return s
  58107. }
  58108. // Describes telemetry for a VPN tunnel.
  58109. type VgwTelemetry struct {
  58110. _ struct{} `type:"structure"`
  58111. // The number of accepted routes.
  58112. AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
  58113. // The date and time of the last change in status.
  58114. LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp" timestampFormat:"iso8601"`
  58115. // The Internet-routable IP address of the virtual private gateway's outside
  58116. // interface.
  58117. OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
  58118. // The status of the VPN tunnel.
  58119. Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
  58120. // If an error occurs, a description of the error.
  58121. StatusMessage *string `locationName:"statusMessage" type:"string"`
  58122. }
  58123. // String returns the string representation
  58124. func (s VgwTelemetry) String() string {
  58125. return awsutil.Prettify(s)
  58126. }
  58127. // GoString returns the string representation
  58128. func (s VgwTelemetry) GoString() string {
  58129. return s.String()
  58130. }
  58131. // SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
  58132. func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry {
  58133. s.AcceptedRouteCount = &v
  58134. return s
  58135. }
  58136. // SetLastStatusChange sets the LastStatusChange field's value.
  58137. func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry {
  58138. s.LastStatusChange = &v
  58139. return s
  58140. }
  58141. // SetOutsideIpAddress sets the OutsideIpAddress field's value.
  58142. func (s *VgwTelemetry) SetOutsideIpAddress(v string) *VgwTelemetry {
  58143. s.OutsideIpAddress = &v
  58144. return s
  58145. }
  58146. // SetStatus sets the Status field's value.
  58147. func (s *VgwTelemetry) SetStatus(v string) *VgwTelemetry {
  58148. s.Status = &v
  58149. return s
  58150. }
  58151. // SetStatusMessage sets the StatusMessage field's value.
  58152. func (s *VgwTelemetry) SetStatusMessage(v string) *VgwTelemetry {
  58153. s.StatusMessage = &v
  58154. return s
  58155. }
  58156. // Describes a volume.
  58157. type Volume struct {
  58158. _ struct{} `type:"structure"`
  58159. // Information about the volume attachments.
  58160. Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  58161. // The Availability Zone for the volume.
  58162. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  58163. // The time stamp when volume creation was initiated.
  58164. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  58165. // Indicates whether the volume will be encrypted.
  58166. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  58167. // The number of I/O operations per second (IOPS) that the volume supports.
  58168. // For Provisioned IOPS SSD volumes, this represents the number of IOPS that
  58169. // are provisioned for the volume. For General Purpose SSD volumes, this represents
  58170. // the baseline performance of the volume and the rate at which the volume accumulates
  58171. // I/O credits for bursting. For more information on General Purpose SSD baseline
  58172. // performance, I/O credits, and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  58173. // in the Amazon Elastic Compute Cloud User Guide.
  58174. //
  58175. // Constraint: Range is 100-32000 IOPS for io1 volumes and 100-10000 IOPS for
  58176. // gp2 volumes.
  58177. //
  58178. // Condition: This parameter is required for requests to create io1 volumes;
  58179. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  58180. Iops *int64 `locationName:"iops" type:"integer"`
  58181. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  58182. // key (CMK) that was used to protect the volume encryption key for the volume.
  58183. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  58184. // The size of the volume, in GiBs.
  58185. Size *int64 `locationName:"size" type:"integer"`
  58186. // The snapshot from which the volume was created, if applicable.
  58187. SnapshotId *string `locationName:"snapshotId" type:"string"`
  58188. // The volume state.
  58189. State *string `locationName:"status" type:"string" enum:"VolumeState"`
  58190. // Any tags assigned to the volume.
  58191. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  58192. // The ID of the volume.
  58193. VolumeId *string `locationName:"volumeId" type:"string"`
  58194. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  58195. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  58196. // for Magnetic volumes.
  58197. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  58198. }
  58199. // String returns the string representation
  58200. func (s Volume) String() string {
  58201. return awsutil.Prettify(s)
  58202. }
  58203. // GoString returns the string representation
  58204. func (s Volume) GoString() string {
  58205. return s.String()
  58206. }
  58207. // SetAttachments sets the Attachments field's value.
  58208. func (s *Volume) SetAttachments(v []*VolumeAttachment) *Volume {
  58209. s.Attachments = v
  58210. return s
  58211. }
  58212. // SetAvailabilityZone sets the AvailabilityZone field's value.
  58213. func (s *Volume) SetAvailabilityZone(v string) *Volume {
  58214. s.AvailabilityZone = &v
  58215. return s
  58216. }
  58217. // SetCreateTime sets the CreateTime field's value.
  58218. func (s *Volume) SetCreateTime(v time.Time) *Volume {
  58219. s.CreateTime = &v
  58220. return s
  58221. }
  58222. // SetEncrypted sets the Encrypted field's value.
  58223. func (s *Volume) SetEncrypted(v bool) *Volume {
  58224. s.Encrypted = &v
  58225. return s
  58226. }
  58227. // SetIops sets the Iops field's value.
  58228. func (s *Volume) SetIops(v int64) *Volume {
  58229. s.Iops = &v
  58230. return s
  58231. }
  58232. // SetKmsKeyId sets the KmsKeyId field's value.
  58233. func (s *Volume) SetKmsKeyId(v string) *Volume {
  58234. s.KmsKeyId = &v
  58235. return s
  58236. }
  58237. // SetSize sets the Size field's value.
  58238. func (s *Volume) SetSize(v int64) *Volume {
  58239. s.Size = &v
  58240. return s
  58241. }
  58242. // SetSnapshotId sets the SnapshotId field's value.
  58243. func (s *Volume) SetSnapshotId(v string) *Volume {
  58244. s.SnapshotId = &v
  58245. return s
  58246. }
  58247. // SetState sets the State field's value.
  58248. func (s *Volume) SetState(v string) *Volume {
  58249. s.State = &v
  58250. return s
  58251. }
  58252. // SetTags sets the Tags field's value.
  58253. func (s *Volume) SetTags(v []*Tag) *Volume {
  58254. s.Tags = v
  58255. return s
  58256. }
  58257. // SetVolumeId sets the VolumeId field's value.
  58258. func (s *Volume) SetVolumeId(v string) *Volume {
  58259. s.VolumeId = &v
  58260. return s
  58261. }
  58262. // SetVolumeType sets the VolumeType field's value.
  58263. func (s *Volume) SetVolumeType(v string) *Volume {
  58264. s.VolumeType = &v
  58265. return s
  58266. }
  58267. // Describes volume attachment details.
  58268. type VolumeAttachment struct {
  58269. _ struct{} `type:"structure"`
  58270. // The time stamp when the attachment initiated.
  58271. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  58272. // Indicates whether the EBS volume is deleted on instance termination.
  58273. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  58274. // The device name.
  58275. Device *string `locationName:"device" type:"string"`
  58276. // The ID of the instance.
  58277. InstanceId *string `locationName:"instanceId" type:"string"`
  58278. // The attachment state of the volume.
  58279. State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
  58280. // The ID of the volume.
  58281. VolumeId *string `locationName:"volumeId" type:"string"`
  58282. }
  58283. // String returns the string representation
  58284. func (s VolumeAttachment) String() string {
  58285. return awsutil.Prettify(s)
  58286. }
  58287. // GoString returns the string representation
  58288. func (s VolumeAttachment) GoString() string {
  58289. return s.String()
  58290. }
  58291. // SetAttachTime sets the AttachTime field's value.
  58292. func (s *VolumeAttachment) SetAttachTime(v time.Time) *VolumeAttachment {
  58293. s.AttachTime = &v
  58294. return s
  58295. }
  58296. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  58297. func (s *VolumeAttachment) SetDeleteOnTermination(v bool) *VolumeAttachment {
  58298. s.DeleteOnTermination = &v
  58299. return s
  58300. }
  58301. // SetDevice sets the Device field's value.
  58302. func (s *VolumeAttachment) SetDevice(v string) *VolumeAttachment {
  58303. s.Device = &v
  58304. return s
  58305. }
  58306. // SetInstanceId sets the InstanceId field's value.
  58307. func (s *VolumeAttachment) SetInstanceId(v string) *VolumeAttachment {
  58308. s.InstanceId = &v
  58309. return s
  58310. }
  58311. // SetState sets the State field's value.
  58312. func (s *VolumeAttachment) SetState(v string) *VolumeAttachment {
  58313. s.State = &v
  58314. return s
  58315. }
  58316. // SetVolumeId sets the VolumeId field's value.
  58317. func (s *VolumeAttachment) SetVolumeId(v string) *VolumeAttachment {
  58318. s.VolumeId = &v
  58319. return s
  58320. }
  58321. // Describes an EBS volume.
  58322. type VolumeDetail struct {
  58323. _ struct{} `type:"structure"`
  58324. // The size of the volume, in GiB.
  58325. //
  58326. // Size is a required field
  58327. Size *int64 `locationName:"size" type:"long" required:"true"`
  58328. }
  58329. // String returns the string representation
  58330. func (s VolumeDetail) String() string {
  58331. return awsutil.Prettify(s)
  58332. }
  58333. // GoString returns the string representation
  58334. func (s VolumeDetail) GoString() string {
  58335. return s.String()
  58336. }
  58337. // Validate inspects the fields of the type to determine if they are valid.
  58338. func (s *VolumeDetail) Validate() error {
  58339. invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
  58340. if s.Size == nil {
  58341. invalidParams.Add(request.NewErrParamRequired("Size"))
  58342. }
  58343. if invalidParams.Len() > 0 {
  58344. return invalidParams
  58345. }
  58346. return nil
  58347. }
  58348. // SetSize sets the Size field's value.
  58349. func (s *VolumeDetail) SetSize(v int64) *VolumeDetail {
  58350. s.Size = &v
  58351. return s
  58352. }
  58353. // Describes the modification status of an EBS volume.
  58354. //
  58355. // If the volume has never been modified, some element values will be null.
  58356. type VolumeModification struct {
  58357. _ struct{} `type:"structure"`
  58358. // Modification completion or failure time.
  58359. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  58360. // Current state of modification. Modification state is null for unmodified
  58361. // volumes.
  58362. ModificationState *string `locationName:"modificationState" type:"string" enum:"VolumeModificationState"`
  58363. // Original IOPS rate of the volume being modified.
  58364. OriginalIops *int64 `locationName:"originalIops" type:"integer"`
  58365. // Original size of the volume being modified.
  58366. OriginalSize *int64 `locationName:"originalSize" type:"integer"`
  58367. // Original EBS volume type of the volume being modified.
  58368. OriginalVolumeType *string `locationName:"originalVolumeType" type:"string" enum:"VolumeType"`
  58369. // Modification progress from 0 to 100%.
  58370. Progress *int64 `locationName:"progress" type:"long"`
  58371. // Modification start time
  58372. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  58373. // Generic status message on modification progress or failure.
  58374. StatusMessage *string `locationName:"statusMessage" type:"string"`
  58375. // Target IOPS rate of the volume being modified.
  58376. TargetIops *int64 `locationName:"targetIops" type:"integer"`
  58377. // Target size of the volume being modified.
  58378. TargetSize *int64 `locationName:"targetSize" type:"integer"`
  58379. // Target EBS volume type of the volume being modified.
  58380. TargetVolumeType *string `locationName:"targetVolumeType" type:"string" enum:"VolumeType"`
  58381. // ID of the volume being modified.
  58382. VolumeId *string `locationName:"volumeId" type:"string"`
  58383. }
  58384. // String returns the string representation
  58385. func (s VolumeModification) String() string {
  58386. return awsutil.Prettify(s)
  58387. }
  58388. // GoString returns the string representation
  58389. func (s VolumeModification) GoString() string {
  58390. return s.String()
  58391. }
  58392. // SetEndTime sets the EndTime field's value.
  58393. func (s *VolumeModification) SetEndTime(v time.Time) *VolumeModification {
  58394. s.EndTime = &v
  58395. return s
  58396. }
  58397. // SetModificationState sets the ModificationState field's value.
  58398. func (s *VolumeModification) SetModificationState(v string) *VolumeModification {
  58399. s.ModificationState = &v
  58400. return s
  58401. }
  58402. // SetOriginalIops sets the OriginalIops field's value.
  58403. func (s *VolumeModification) SetOriginalIops(v int64) *VolumeModification {
  58404. s.OriginalIops = &v
  58405. return s
  58406. }
  58407. // SetOriginalSize sets the OriginalSize field's value.
  58408. func (s *VolumeModification) SetOriginalSize(v int64) *VolumeModification {
  58409. s.OriginalSize = &v
  58410. return s
  58411. }
  58412. // SetOriginalVolumeType sets the OriginalVolumeType field's value.
  58413. func (s *VolumeModification) SetOriginalVolumeType(v string) *VolumeModification {
  58414. s.OriginalVolumeType = &v
  58415. return s
  58416. }
  58417. // SetProgress sets the Progress field's value.
  58418. func (s *VolumeModification) SetProgress(v int64) *VolumeModification {
  58419. s.Progress = &v
  58420. return s
  58421. }
  58422. // SetStartTime sets the StartTime field's value.
  58423. func (s *VolumeModification) SetStartTime(v time.Time) *VolumeModification {
  58424. s.StartTime = &v
  58425. return s
  58426. }
  58427. // SetStatusMessage sets the StatusMessage field's value.
  58428. func (s *VolumeModification) SetStatusMessage(v string) *VolumeModification {
  58429. s.StatusMessage = &v
  58430. return s
  58431. }
  58432. // SetTargetIops sets the TargetIops field's value.
  58433. func (s *VolumeModification) SetTargetIops(v int64) *VolumeModification {
  58434. s.TargetIops = &v
  58435. return s
  58436. }
  58437. // SetTargetSize sets the TargetSize field's value.
  58438. func (s *VolumeModification) SetTargetSize(v int64) *VolumeModification {
  58439. s.TargetSize = &v
  58440. return s
  58441. }
  58442. // SetTargetVolumeType sets the TargetVolumeType field's value.
  58443. func (s *VolumeModification) SetTargetVolumeType(v string) *VolumeModification {
  58444. s.TargetVolumeType = &v
  58445. return s
  58446. }
  58447. // SetVolumeId sets the VolumeId field's value.
  58448. func (s *VolumeModification) SetVolumeId(v string) *VolumeModification {
  58449. s.VolumeId = &v
  58450. return s
  58451. }
  58452. // Describes a volume status operation code.
  58453. type VolumeStatusAction struct {
  58454. _ struct{} `type:"structure"`
  58455. // The code identifying the operation, for example, enable-volume-io.
  58456. Code *string `locationName:"code" type:"string"`
  58457. // A description of the operation.
  58458. Description *string `locationName:"description" type:"string"`
  58459. // The ID of the event associated with this operation.
  58460. EventId *string `locationName:"eventId" type:"string"`
  58461. // The event type associated with this operation.
  58462. EventType *string `locationName:"eventType" type:"string"`
  58463. }
  58464. // String returns the string representation
  58465. func (s VolumeStatusAction) String() string {
  58466. return awsutil.Prettify(s)
  58467. }
  58468. // GoString returns the string representation
  58469. func (s VolumeStatusAction) GoString() string {
  58470. return s.String()
  58471. }
  58472. // SetCode sets the Code field's value.
  58473. func (s *VolumeStatusAction) SetCode(v string) *VolumeStatusAction {
  58474. s.Code = &v
  58475. return s
  58476. }
  58477. // SetDescription sets the Description field's value.
  58478. func (s *VolumeStatusAction) SetDescription(v string) *VolumeStatusAction {
  58479. s.Description = &v
  58480. return s
  58481. }
  58482. // SetEventId sets the EventId field's value.
  58483. func (s *VolumeStatusAction) SetEventId(v string) *VolumeStatusAction {
  58484. s.EventId = &v
  58485. return s
  58486. }
  58487. // SetEventType sets the EventType field's value.
  58488. func (s *VolumeStatusAction) SetEventType(v string) *VolumeStatusAction {
  58489. s.EventType = &v
  58490. return s
  58491. }
  58492. // Describes a volume status.
  58493. type VolumeStatusDetails struct {
  58494. _ struct{} `type:"structure"`
  58495. // The name of the volume status.
  58496. Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
  58497. // The intended status of the volume status.
  58498. Status *string `locationName:"status" type:"string"`
  58499. }
  58500. // String returns the string representation
  58501. func (s VolumeStatusDetails) String() string {
  58502. return awsutil.Prettify(s)
  58503. }
  58504. // GoString returns the string representation
  58505. func (s VolumeStatusDetails) GoString() string {
  58506. return s.String()
  58507. }
  58508. // SetName sets the Name field's value.
  58509. func (s *VolumeStatusDetails) SetName(v string) *VolumeStatusDetails {
  58510. s.Name = &v
  58511. return s
  58512. }
  58513. // SetStatus sets the Status field's value.
  58514. func (s *VolumeStatusDetails) SetStatus(v string) *VolumeStatusDetails {
  58515. s.Status = &v
  58516. return s
  58517. }
  58518. // Describes a volume status event.
  58519. type VolumeStatusEvent struct {
  58520. _ struct{} `type:"structure"`
  58521. // A description of the event.
  58522. Description *string `locationName:"description" type:"string"`
  58523. // The ID of this event.
  58524. EventId *string `locationName:"eventId" type:"string"`
  58525. // The type of this event.
  58526. EventType *string `locationName:"eventType" type:"string"`
  58527. // The latest end time of the event.
  58528. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  58529. // The earliest start time of the event.
  58530. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  58531. }
  58532. // String returns the string representation
  58533. func (s VolumeStatusEvent) String() string {
  58534. return awsutil.Prettify(s)
  58535. }
  58536. // GoString returns the string representation
  58537. func (s VolumeStatusEvent) GoString() string {
  58538. return s.String()
  58539. }
  58540. // SetDescription sets the Description field's value.
  58541. func (s *VolumeStatusEvent) SetDescription(v string) *VolumeStatusEvent {
  58542. s.Description = &v
  58543. return s
  58544. }
  58545. // SetEventId sets the EventId field's value.
  58546. func (s *VolumeStatusEvent) SetEventId(v string) *VolumeStatusEvent {
  58547. s.EventId = &v
  58548. return s
  58549. }
  58550. // SetEventType sets the EventType field's value.
  58551. func (s *VolumeStatusEvent) SetEventType(v string) *VolumeStatusEvent {
  58552. s.EventType = &v
  58553. return s
  58554. }
  58555. // SetNotAfter sets the NotAfter field's value.
  58556. func (s *VolumeStatusEvent) SetNotAfter(v time.Time) *VolumeStatusEvent {
  58557. s.NotAfter = &v
  58558. return s
  58559. }
  58560. // SetNotBefore sets the NotBefore field's value.
  58561. func (s *VolumeStatusEvent) SetNotBefore(v time.Time) *VolumeStatusEvent {
  58562. s.NotBefore = &v
  58563. return s
  58564. }
  58565. // Describes the status of a volume.
  58566. type VolumeStatusInfo struct {
  58567. _ struct{} `type:"structure"`
  58568. // The details of the volume status.
  58569. Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  58570. // The status of the volume.
  58571. Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
  58572. }
  58573. // String returns the string representation
  58574. func (s VolumeStatusInfo) String() string {
  58575. return awsutil.Prettify(s)
  58576. }
  58577. // GoString returns the string representation
  58578. func (s VolumeStatusInfo) GoString() string {
  58579. return s.String()
  58580. }
  58581. // SetDetails sets the Details field's value.
  58582. func (s *VolumeStatusInfo) SetDetails(v []*VolumeStatusDetails) *VolumeStatusInfo {
  58583. s.Details = v
  58584. return s
  58585. }
  58586. // SetStatus sets the Status field's value.
  58587. func (s *VolumeStatusInfo) SetStatus(v string) *VolumeStatusInfo {
  58588. s.Status = &v
  58589. return s
  58590. }
  58591. // Describes the volume status.
  58592. type VolumeStatusItem struct {
  58593. _ struct{} `type:"structure"`
  58594. // The details of the operation.
  58595. Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
  58596. // The Availability Zone of the volume.
  58597. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  58598. // A list of events associated with the volume.
  58599. Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  58600. // The volume ID.
  58601. VolumeId *string `locationName:"volumeId" type:"string"`
  58602. // The volume status.
  58603. VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
  58604. }
  58605. // String returns the string representation
  58606. func (s VolumeStatusItem) String() string {
  58607. return awsutil.Prettify(s)
  58608. }
  58609. // GoString returns the string representation
  58610. func (s VolumeStatusItem) GoString() string {
  58611. return s.String()
  58612. }
  58613. // SetActions sets the Actions field's value.
  58614. func (s *VolumeStatusItem) SetActions(v []*VolumeStatusAction) *VolumeStatusItem {
  58615. s.Actions = v
  58616. return s
  58617. }
  58618. // SetAvailabilityZone sets the AvailabilityZone field's value.
  58619. func (s *VolumeStatusItem) SetAvailabilityZone(v string) *VolumeStatusItem {
  58620. s.AvailabilityZone = &v
  58621. return s
  58622. }
  58623. // SetEvents sets the Events field's value.
  58624. func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
  58625. s.Events = v
  58626. return s
  58627. }
  58628. // SetVolumeId sets the VolumeId field's value.
  58629. func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
  58630. s.VolumeId = &v
  58631. return s
  58632. }
  58633. // SetVolumeStatus sets the VolumeStatus field's value.
  58634. func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusItem {
  58635. s.VolumeStatus = v
  58636. return s
  58637. }
  58638. // Describes a VPC.
  58639. type Vpc struct {
  58640. _ struct{} `type:"structure"`
  58641. // The primary IPv4 CIDR block for the VPC.
  58642. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  58643. // Information about the IPv4 CIDR blocks associated with the VPC.
  58644. CidrBlockAssociationSet []*VpcCidrBlockAssociation `locationName:"cidrBlockAssociationSet" locationNameList:"item" type:"list"`
  58645. // The ID of the set of DHCP options you've associated with the VPC (or default
  58646. // if the default options are associated with the VPC).
  58647. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  58648. // The allowed tenancy of instances launched into the VPC.
  58649. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  58650. // Information about the IPv6 CIDR blocks associated with the VPC.
  58651. Ipv6CidrBlockAssociationSet []*VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
  58652. // Indicates whether the VPC is the default VPC.
  58653. IsDefault *bool `locationName:"isDefault" type:"boolean"`
  58654. // The current state of the VPC.
  58655. State *string `locationName:"state" type:"string" enum:"VpcState"`
  58656. // Any tags assigned to the VPC.
  58657. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  58658. // The ID of the VPC.
  58659. VpcId *string `locationName:"vpcId" type:"string"`
  58660. }
  58661. // String returns the string representation
  58662. func (s Vpc) String() string {
  58663. return awsutil.Prettify(s)
  58664. }
  58665. // GoString returns the string representation
  58666. func (s Vpc) GoString() string {
  58667. return s.String()
  58668. }
  58669. // SetCidrBlock sets the CidrBlock field's value.
  58670. func (s *Vpc) SetCidrBlock(v string) *Vpc {
  58671. s.CidrBlock = &v
  58672. return s
  58673. }
  58674. // SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
  58675. func (s *Vpc) SetCidrBlockAssociationSet(v []*VpcCidrBlockAssociation) *Vpc {
  58676. s.CidrBlockAssociationSet = v
  58677. return s
  58678. }
  58679. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  58680. func (s *Vpc) SetDhcpOptionsId(v string) *Vpc {
  58681. s.DhcpOptionsId = &v
  58682. return s
  58683. }
  58684. // SetInstanceTenancy sets the InstanceTenancy field's value.
  58685. func (s *Vpc) SetInstanceTenancy(v string) *Vpc {
  58686. s.InstanceTenancy = &v
  58687. return s
  58688. }
  58689. // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
  58690. func (s *Vpc) SetIpv6CidrBlockAssociationSet(v []*VpcIpv6CidrBlockAssociation) *Vpc {
  58691. s.Ipv6CidrBlockAssociationSet = v
  58692. return s
  58693. }
  58694. // SetIsDefault sets the IsDefault field's value.
  58695. func (s *Vpc) SetIsDefault(v bool) *Vpc {
  58696. s.IsDefault = &v
  58697. return s
  58698. }
  58699. // SetState sets the State field's value.
  58700. func (s *Vpc) SetState(v string) *Vpc {
  58701. s.State = &v
  58702. return s
  58703. }
  58704. // SetTags sets the Tags field's value.
  58705. func (s *Vpc) SetTags(v []*Tag) *Vpc {
  58706. s.Tags = v
  58707. return s
  58708. }
  58709. // SetVpcId sets the VpcId field's value.
  58710. func (s *Vpc) SetVpcId(v string) *Vpc {
  58711. s.VpcId = &v
  58712. return s
  58713. }
  58714. // Describes an attachment between a virtual private gateway and a VPC.
  58715. type VpcAttachment struct {
  58716. _ struct{} `type:"structure"`
  58717. // The current state of the attachment.
  58718. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  58719. // The ID of the VPC.
  58720. VpcId *string `locationName:"vpcId" type:"string"`
  58721. }
  58722. // String returns the string representation
  58723. func (s VpcAttachment) String() string {
  58724. return awsutil.Prettify(s)
  58725. }
  58726. // GoString returns the string representation
  58727. func (s VpcAttachment) GoString() string {
  58728. return s.String()
  58729. }
  58730. // SetState sets the State field's value.
  58731. func (s *VpcAttachment) SetState(v string) *VpcAttachment {
  58732. s.State = &v
  58733. return s
  58734. }
  58735. // SetVpcId sets the VpcId field's value.
  58736. func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment {
  58737. s.VpcId = &v
  58738. return s
  58739. }
  58740. // Describes an IPv4 CIDR block associated with a VPC.
  58741. type VpcCidrBlockAssociation struct {
  58742. _ struct{} `type:"structure"`
  58743. // The association ID for the IPv4 CIDR block.
  58744. AssociationId *string `locationName:"associationId" type:"string"`
  58745. // The IPv4 CIDR block.
  58746. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  58747. // Information about the state of the CIDR block.
  58748. CidrBlockState *VpcCidrBlockState `locationName:"cidrBlockState" type:"structure"`
  58749. }
  58750. // String returns the string representation
  58751. func (s VpcCidrBlockAssociation) String() string {
  58752. return awsutil.Prettify(s)
  58753. }
  58754. // GoString returns the string representation
  58755. func (s VpcCidrBlockAssociation) GoString() string {
  58756. return s.String()
  58757. }
  58758. // SetAssociationId sets the AssociationId field's value.
  58759. func (s *VpcCidrBlockAssociation) SetAssociationId(v string) *VpcCidrBlockAssociation {
  58760. s.AssociationId = &v
  58761. return s
  58762. }
  58763. // SetCidrBlock sets the CidrBlock field's value.
  58764. func (s *VpcCidrBlockAssociation) SetCidrBlock(v string) *VpcCidrBlockAssociation {
  58765. s.CidrBlock = &v
  58766. return s
  58767. }
  58768. // SetCidrBlockState sets the CidrBlockState field's value.
  58769. func (s *VpcCidrBlockAssociation) SetCidrBlockState(v *VpcCidrBlockState) *VpcCidrBlockAssociation {
  58770. s.CidrBlockState = v
  58771. return s
  58772. }
  58773. // Describes the state of a CIDR block.
  58774. type VpcCidrBlockState struct {
  58775. _ struct{} `type:"structure"`
  58776. // The state of the CIDR block.
  58777. State *string `locationName:"state" type:"string" enum:"VpcCidrBlockStateCode"`
  58778. // A message about the status of the CIDR block, if applicable.
  58779. StatusMessage *string `locationName:"statusMessage" type:"string"`
  58780. }
  58781. // String returns the string representation
  58782. func (s VpcCidrBlockState) String() string {
  58783. return awsutil.Prettify(s)
  58784. }
  58785. // GoString returns the string representation
  58786. func (s VpcCidrBlockState) GoString() string {
  58787. return s.String()
  58788. }
  58789. // SetState sets the State field's value.
  58790. func (s *VpcCidrBlockState) SetState(v string) *VpcCidrBlockState {
  58791. s.State = &v
  58792. return s
  58793. }
  58794. // SetStatusMessage sets the StatusMessage field's value.
  58795. func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState {
  58796. s.StatusMessage = &v
  58797. return s
  58798. }
  58799. // Describes whether a VPC is enabled for ClassicLink.
  58800. type VpcClassicLink struct {
  58801. _ struct{} `type:"structure"`
  58802. // Indicates whether the VPC is enabled for ClassicLink.
  58803. ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
  58804. // Any tags assigned to the VPC.
  58805. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  58806. // The ID of the VPC.
  58807. VpcId *string `locationName:"vpcId" type:"string"`
  58808. }
  58809. // String returns the string representation
  58810. func (s VpcClassicLink) String() string {
  58811. return awsutil.Prettify(s)
  58812. }
  58813. // GoString returns the string representation
  58814. func (s VpcClassicLink) GoString() string {
  58815. return s.String()
  58816. }
  58817. // SetClassicLinkEnabled sets the ClassicLinkEnabled field's value.
  58818. func (s *VpcClassicLink) SetClassicLinkEnabled(v bool) *VpcClassicLink {
  58819. s.ClassicLinkEnabled = &v
  58820. return s
  58821. }
  58822. // SetTags sets the Tags field's value.
  58823. func (s *VpcClassicLink) SetTags(v []*Tag) *VpcClassicLink {
  58824. s.Tags = v
  58825. return s
  58826. }
  58827. // SetVpcId sets the VpcId field's value.
  58828. func (s *VpcClassicLink) SetVpcId(v string) *VpcClassicLink {
  58829. s.VpcId = &v
  58830. return s
  58831. }
  58832. // Describes a VPC endpoint.
  58833. type VpcEndpoint struct {
  58834. _ struct{} `type:"structure"`
  58835. // The date and time the VPC endpoint was created.
  58836. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" timestampFormat:"iso8601"`
  58837. // (Interface endpoint) The DNS entries for the endpoint.
  58838. DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
  58839. // (Interface endpoint) Information about the security groups associated with
  58840. // the network interface.
  58841. Groups []*SecurityGroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  58842. // (Interface endpoint) One or more network interfaces for the endpoint.
  58843. NetworkInterfaceIds []*string `locationName:"networkInterfaceIdSet" locationNameList:"item" type:"list"`
  58844. // The policy document associated with the endpoint, if applicable.
  58845. PolicyDocument *string `locationName:"policyDocument" type:"string"`
  58846. // (Interface endpoint) Indicates whether the VPC is associated with a private
  58847. // hosted zone.
  58848. PrivateDnsEnabled *bool `locationName:"privateDnsEnabled" type:"boolean"`
  58849. // (Gateway endpoint) One or more route tables associated with the endpoint.
  58850. RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
  58851. // The name of the service to which the endpoint is associated.
  58852. ServiceName *string `locationName:"serviceName" type:"string"`
  58853. // The state of the VPC endpoint.
  58854. State *string `locationName:"state" type:"string" enum:"State"`
  58855. // (Interface endpoint) One or more subnets in which the endpoint is located.
  58856. SubnetIds []*string `locationName:"subnetIdSet" locationNameList:"item" type:"list"`
  58857. // The ID of the VPC endpoint.
  58858. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  58859. // The type of endpoint.
  58860. VpcEndpointType *string `locationName:"vpcEndpointType" type:"string" enum:"VpcEndpointType"`
  58861. // The ID of the VPC to which the endpoint is associated.
  58862. VpcId *string `locationName:"vpcId" type:"string"`
  58863. }
  58864. // String returns the string representation
  58865. func (s VpcEndpoint) String() string {
  58866. return awsutil.Prettify(s)
  58867. }
  58868. // GoString returns the string representation
  58869. func (s VpcEndpoint) GoString() string {
  58870. return s.String()
  58871. }
  58872. // SetCreationTimestamp sets the CreationTimestamp field's value.
  58873. func (s *VpcEndpoint) SetCreationTimestamp(v time.Time) *VpcEndpoint {
  58874. s.CreationTimestamp = &v
  58875. return s
  58876. }
  58877. // SetDnsEntries sets the DnsEntries field's value.
  58878. func (s *VpcEndpoint) SetDnsEntries(v []*DnsEntry) *VpcEndpoint {
  58879. s.DnsEntries = v
  58880. return s
  58881. }
  58882. // SetGroups sets the Groups field's value.
  58883. func (s *VpcEndpoint) SetGroups(v []*SecurityGroupIdentifier) *VpcEndpoint {
  58884. s.Groups = v
  58885. return s
  58886. }
  58887. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  58888. func (s *VpcEndpoint) SetNetworkInterfaceIds(v []*string) *VpcEndpoint {
  58889. s.NetworkInterfaceIds = v
  58890. return s
  58891. }
  58892. // SetPolicyDocument sets the PolicyDocument field's value.
  58893. func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint {
  58894. s.PolicyDocument = &v
  58895. return s
  58896. }
  58897. // SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
  58898. func (s *VpcEndpoint) SetPrivateDnsEnabled(v bool) *VpcEndpoint {
  58899. s.PrivateDnsEnabled = &v
  58900. return s
  58901. }
  58902. // SetRouteTableIds sets the RouteTableIds field's value.
  58903. func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint {
  58904. s.RouteTableIds = v
  58905. return s
  58906. }
  58907. // SetServiceName sets the ServiceName field's value.
  58908. func (s *VpcEndpoint) SetServiceName(v string) *VpcEndpoint {
  58909. s.ServiceName = &v
  58910. return s
  58911. }
  58912. // SetState sets the State field's value.
  58913. func (s *VpcEndpoint) SetState(v string) *VpcEndpoint {
  58914. s.State = &v
  58915. return s
  58916. }
  58917. // SetSubnetIds sets the SubnetIds field's value.
  58918. func (s *VpcEndpoint) SetSubnetIds(v []*string) *VpcEndpoint {
  58919. s.SubnetIds = v
  58920. return s
  58921. }
  58922. // SetVpcEndpointId sets the VpcEndpointId field's value.
  58923. func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint {
  58924. s.VpcEndpointId = &v
  58925. return s
  58926. }
  58927. // SetVpcEndpointType sets the VpcEndpointType field's value.
  58928. func (s *VpcEndpoint) SetVpcEndpointType(v string) *VpcEndpoint {
  58929. s.VpcEndpointType = &v
  58930. return s
  58931. }
  58932. // SetVpcId sets the VpcId field's value.
  58933. func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint {
  58934. s.VpcId = &v
  58935. return s
  58936. }
  58937. // Describes a VPC endpoint connection to a service.
  58938. type VpcEndpointConnection struct {
  58939. _ struct{} `type:"structure"`
  58940. // The date and time the VPC endpoint was created.
  58941. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" timestampFormat:"iso8601"`
  58942. // The ID of the service to which the endpoint is connected.
  58943. ServiceId *string `locationName:"serviceId" type:"string"`
  58944. // The ID of the VPC endpoint.
  58945. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  58946. // The AWS account ID of the owner of the VPC endpoint.
  58947. VpcEndpointOwner *string `locationName:"vpcEndpointOwner" type:"string"`
  58948. // The state of the VPC endpoint.
  58949. VpcEndpointState *string `locationName:"vpcEndpointState" type:"string" enum:"State"`
  58950. }
  58951. // String returns the string representation
  58952. func (s VpcEndpointConnection) String() string {
  58953. return awsutil.Prettify(s)
  58954. }
  58955. // GoString returns the string representation
  58956. func (s VpcEndpointConnection) GoString() string {
  58957. return s.String()
  58958. }
  58959. // SetCreationTimestamp sets the CreationTimestamp field's value.
  58960. func (s *VpcEndpointConnection) SetCreationTimestamp(v time.Time) *VpcEndpointConnection {
  58961. s.CreationTimestamp = &v
  58962. return s
  58963. }
  58964. // SetServiceId sets the ServiceId field's value.
  58965. func (s *VpcEndpointConnection) SetServiceId(v string) *VpcEndpointConnection {
  58966. s.ServiceId = &v
  58967. return s
  58968. }
  58969. // SetVpcEndpointId sets the VpcEndpointId field's value.
  58970. func (s *VpcEndpointConnection) SetVpcEndpointId(v string) *VpcEndpointConnection {
  58971. s.VpcEndpointId = &v
  58972. return s
  58973. }
  58974. // SetVpcEndpointOwner sets the VpcEndpointOwner field's value.
  58975. func (s *VpcEndpointConnection) SetVpcEndpointOwner(v string) *VpcEndpointConnection {
  58976. s.VpcEndpointOwner = &v
  58977. return s
  58978. }
  58979. // SetVpcEndpointState sets the VpcEndpointState field's value.
  58980. func (s *VpcEndpointConnection) SetVpcEndpointState(v string) *VpcEndpointConnection {
  58981. s.VpcEndpointState = &v
  58982. return s
  58983. }
  58984. // Describes an IPv6 CIDR block associated with a VPC.
  58985. type VpcIpv6CidrBlockAssociation struct {
  58986. _ struct{} `type:"structure"`
  58987. // The association ID for the IPv6 CIDR block.
  58988. AssociationId *string `locationName:"associationId" type:"string"`
  58989. // The IPv6 CIDR block.
  58990. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  58991. // Information about the state of the CIDR block.
  58992. Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
  58993. }
  58994. // String returns the string representation
  58995. func (s VpcIpv6CidrBlockAssociation) String() string {
  58996. return awsutil.Prettify(s)
  58997. }
  58998. // GoString returns the string representation
  58999. func (s VpcIpv6CidrBlockAssociation) GoString() string {
  59000. return s.String()
  59001. }
  59002. // SetAssociationId sets the AssociationId field's value.
  59003. func (s *VpcIpv6CidrBlockAssociation) SetAssociationId(v string) *VpcIpv6CidrBlockAssociation {
  59004. s.AssociationId = &v
  59005. return s
  59006. }
  59007. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  59008. func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *VpcIpv6CidrBlockAssociation {
  59009. s.Ipv6CidrBlock = &v
  59010. return s
  59011. }
  59012. // SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
  59013. func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState) *VpcIpv6CidrBlockAssociation {
  59014. s.Ipv6CidrBlockState = v
  59015. return s
  59016. }
  59017. // Describes a VPC peering connection.
  59018. type VpcPeeringConnection struct {
  59019. _ struct{} `type:"structure"`
  59020. // Information about the accepter VPC. CIDR block information is only returned
  59021. // when describing an active VPC peering connection.
  59022. AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
  59023. // The time that an unaccepted VPC peering connection will expire.
  59024. ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp" timestampFormat:"iso8601"`
  59025. // Information about the requester VPC. CIDR block information is only returned
  59026. // when describing an active VPC peering connection.
  59027. RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
  59028. // The status of the VPC peering connection.
  59029. Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
  59030. // Any tags assigned to the resource.
  59031. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  59032. // The ID of the VPC peering connection.
  59033. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  59034. }
  59035. // String returns the string representation
  59036. func (s VpcPeeringConnection) String() string {
  59037. return awsutil.Prettify(s)
  59038. }
  59039. // GoString returns the string representation
  59040. func (s VpcPeeringConnection) GoString() string {
  59041. return s.String()
  59042. }
  59043. // SetAccepterVpcInfo sets the AccepterVpcInfo field's value.
  59044. func (s *VpcPeeringConnection) SetAccepterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  59045. s.AccepterVpcInfo = v
  59046. return s
  59047. }
  59048. // SetExpirationTime sets the ExpirationTime field's value.
  59049. func (s *VpcPeeringConnection) SetExpirationTime(v time.Time) *VpcPeeringConnection {
  59050. s.ExpirationTime = &v
  59051. return s
  59052. }
  59053. // SetRequesterVpcInfo sets the RequesterVpcInfo field's value.
  59054. func (s *VpcPeeringConnection) SetRequesterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  59055. s.RequesterVpcInfo = v
  59056. return s
  59057. }
  59058. // SetStatus sets the Status field's value.
  59059. func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStateReason) *VpcPeeringConnection {
  59060. s.Status = v
  59061. return s
  59062. }
  59063. // SetTags sets the Tags field's value.
  59064. func (s *VpcPeeringConnection) SetTags(v []*Tag) *VpcPeeringConnection {
  59065. s.Tags = v
  59066. return s
  59067. }
  59068. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  59069. func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
  59070. s.VpcPeeringConnectionId = &v
  59071. return s
  59072. }
  59073. // Describes the VPC peering connection options.
  59074. type VpcPeeringConnectionOptionsDescription struct {
  59075. _ struct{} `type:"structure"`
  59076. // Indicates whether a local VPC can resolve public DNS hostnames to private
  59077. // IP addresses when queried from instances in a peer VPC.
  59078. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  59079. // Indicates whether a local ClassicLink connection can communicate with the
  59080. // peer VPC over the VPC peering connection.
  59081. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  59082. // Indicates whether a local VPC can communicate with a ClassicLink connection
  59083. // in the peer VPC over the VPC peering connection.
  59084. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  59085. }
  59086. // String returns the string representation
  59087. func (s VpcPeeringConnectionOptionsDescription) String() string {
  59088. return awsutil.Prettify(s)
  59089. }
  59090. // GoString returns the string representation
  59091. func (s VpcPeeringConnectionOptionsDescription) GoString() string {
  59092. return s.String()
  59093. }
  59094. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  59095. func (s *VpcPeeringConnectionOptionsDescription) SetAllowDnsResolutionFromRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  59096. s.AllowDnsResolutionFromRemoteVpc = &v
  59097. return s
  59098. }
  59099. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  59100. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  59101. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  59102. return s
  59103. }
  59104. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  59105. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *VpcPeeringConnectionOptionsDescription {
  59106. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  59107. return s
  59108. }
  59109. // Describes the status of a VPC peering connection.
  59110. type VpcPeeringConnectionStateReason struct {
  59111. _ struct{} `type:"structure"`
  59112. // The status of the VPC peering connection.
  59113. Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
  59114. // A message that provides more information about the status, if applicable.
  59115. Message *string `locationName:"message" type:"string"`
  59116. }
  59117. // String returns the string representation
  59118. func (s VpcPeeringConnectionStateReason) String() string {
  59119. return awsutil.Prettify(s)
  59120. }
  59121. // GoString returns the string representation
  59122. func (s VpcPeeringConnectionStateReason) GoString() string {
  59123. return s.String()
  59124. }
  59125. // SetCode sets the Code field's value.
  59126. func (s *VpcPeeringConnectionStateReason) SetCode(v string) *VpcPeeringConnectionStateReason {
  59127. s.Code = &v
  59128. return s
  59129. }
  59130. // SetMessage sets the Message field's value.
  59131. func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnectionStateReason {
  59132. s.Message = &v
  59133. return s
  59134. }
  59135. // Describes a VPC in a VPC peering connection.
  59136. type VpcPeeringConnectionVpcInfo struct {
  59137. _ struct{} `type:"structure"`
  59138. // The IPv4 CIDR block for the VPC.
  59139. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  59140. // Information about the IPv4 CIDR blocks for the VPC.
  59141. CidrBlockSet []*CidrBlock `locationName:"cidrBlockSet" locationNameList:"item" type:"list"`
  59142. // The IPv6 CIDR block for the VPC.
  59143. Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"`
  59144. // The AWS account ID of the VPC owner.
  59145. OwnerId *string `locationName:"ownerId" type:"string"`
  59146. // Information about the VPC peering connection options for the accepter or
  59147. // requester VPC.
  59148. PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
  59149. // The region in which the VPC is located.
  59150. Region *string `locationName:"region" type:"string"`
  59151. // The ID of the VPC.
  59152. VpcId *string `locationName:"vpcId" type:"string"`
  59153. }
  59154. // String returns the string representation
  59155. func (s VpcPeeringConnectionVpcInfo) String() string {
  59156. return awsutil.Prettify(s)
  59157. }
  59158. // GoString returns the string representation
  59159. func (s VpcPeeringConnectionVpcInfo) GoString() string {
  59160. return s.String()
  59161. }
  59162. // SetCidrBlock sets the CidrBlock field's value.
  59163. func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnectionVpcInfo {
  59164. s.CidrBlock = &v
  59165. return s
  59166. }
  59167. // SetCidrBlockSet sets the CidrBlockSet field's value.
  59168. func (s *VpcPeeringConnectionVpcInfo) SetCidrBlockSet(v []*CidrBlock) *VpcPeeringConnectionVpcInfo {
  59169. s.CidrBlockSet = v
  59170. return s
  59171. }
  59172. // SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value.
  59173. func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo {
  59174. s.Ipv6CidrBlockSet = v
  59175. return s
  59176. }
  59177. // SetOwnerId sets the OwnerId field's value.
  59178. func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo {
  59179. s.OwnerId = &v
  59180. return s
  59181. }
  59182. // SetPeeringOptions sets the PeeringOptions field's value.
  59183. func (s *VpcPeeringConnectionVpcInfo) SetPeeringOptions(v *VpcPeeringConnectionOptionsDescription) *VpcPeeringConnectionVpcInfo {
  59184. s.PeeringOptions = v
  59185. return s
  59186. }
  59187. // SetRegion sets the Region field's value.
  59188. func (s *VpcPeeringConnectionVpcInfo) SetRegion(v string) *VpcPeeringConnectionVpcInfo {
  59189. s.Region = &v
  59190. return s
  59191. }
  59192. // SetVpcId sets the VpcId field's value.
  59193. func (s *VpcPeeringConnectionVpcInfo) SetVpcId(v string) *VpcPeeringConnectionVpcInfo {
  59194. s.VpcId = &v
  59195. return s
  59196. }
  59197. // Describes a VPN connection.
  59198. type VpnConnection struct {
  59199. _ struct{} `type:"structure"`
  59200. // The category of the VPN connection. A value of VPN indicates an AWS VPN connection.
  59201. // A value of VPN-Classic indicates an AWS Classic VPN connection. For more
  59202. // information, see AWS Managed VPN Categories (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html#vpn-categories)
  59203. // in the Amazon Virtual Private Cloud User Guide.
  59204. Category *string `locationName:"category" type:"string"`
  59205. // The configuration information for the VPN connection's customer gateway (in
  59206. // the native XML format). This element is always present in the CreateVpnConnection
  59207. // response; however, it's present in the DescribeVpnConnections response only
  59208. // if the VPN connection is in the pending or available state.
  59209. CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
  59210. // The ID of the customer gateway at your end of the VPN connection.
  59211. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  59212. // The VPN connection options.
  59213. Options *VpnConnectionOptions `locationName:"options" type:"structure"`
  59214. // The static routes associated with the VPN connection.
  59215. Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
  59216. // The current state of the VPN connection.
  59217. State *string `locationName:"state" type:"string" enum:"VpnState"`
  59218. // Any tags assigned to the VPN connection.
  59219. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  59220. // The type of VPN connection.
  59221. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  59222. // Information about the VPN tunnel.
  59223. VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
  59224. // The ID of the VPN connection.
  59225. VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
  59226. // The ID of the virtual private gateway at the AWS side of the VPN connection.
  59227. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  59228. }
  59229. // String returns the string representation
  59230. func (s VpnConnection) String() string {
  59231. return awsutil.Prettify(s)
  59232. }
  59233. // GoString returns the string representation
  59234. func (s VpnConnection) GoString() string {
  59235. return s.String()
  59236. }
  59237. // SetCategory sets the Category field's value.
  59238. func (s *VpnConnection) SetCategory(v string) *VpnConnection {
  59239. s.Category = &v
  59240. return s
  59241. }
  59242. // SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
  59243. func (s *VpnConnection) SetCustomerGatewayConfiguration(v string) *VpnConnection {
  59244. s.CustomerGatewayConfiguration = &v
  59245. return s
  59246. }
  59247. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  59248. func (s *VpnConnection) SetCustomerGatewayId(v string) *VpnConnection {
  59249. s.CustomerGatewayId = &v
  59250. return s
  59251. }
  59252. // SetOptions sets the Options field's value.
  59253. func (s *VpnConnection) SetOptions(v *VpnConnectionOptions) *VpnConnection {
  59254. s.Options = v
  59255. return s
  59256. }
  59257. // SetRoutes sets the Routes field's value.
  59258. func (s *VpnConnection) SetRoutes(v []*VpnStaticRoute) *VpnConnection {
  59259. s.Routes = v
  59260. return s
  59261. }
  59262. // SetState sets the State field's value.
  59263. func (s *VpnConnection) SetState(v string) *VpnConnection {
  59264. s.State = &v
  59265. return s
  59266. }
  59267. // SetTags sets the Tags field's value.
  59268. func (s *VpnConnection) SetTags(v []*Tag) *VpnConnection {
  59269. s.Tags = v
  59270. return s
  59271. }
  59272. // SetType sets the Type field's value.
  59273. func (s *VpnConnection) SetType(v string) *VpnConnection {
  59274. s.Type = &v
  59275. return s
  59276. }
  59277. // SetVgwTelemetry sets the VgwTelemetry field's value.
  59278. func (s *VpnConnection) SetVgwTelemetry(v []*VgwTelemetry) *VpnConnection {
  59279. s.VgwTelemetry = v
  59280. return s
  59281. }
  59282. // SetVpnConnectionId sets the VpnConnectionId field's value.
  59283. func (s *VpnConnection) SetVpnConnectionId(v string) *VpnConnection {
  59284. s.VpnConnectionId = &v
  59285. return s
  59286. }
  59287. // SetVpnGatewayId sets the VpnGatewayId field's value.
  59288. func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
  59289. s.VpnGatewayId = &v
  59290. return s
  59291. }
  59292. // Describes VPN connection options.
  59293. type VpnConnectionOptions struct {
  59294. _ struct{} `type:"structure"`
  59295. // Indicates whether the VPN connection uses static routes only. Static routes
  59296. // must be used for devices that don't support BGP.
  59297. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  59298. }
  59299. // String returns the string representation
  59300. func (s VpnConnectionOptions) String() string {
  59301. return awsutil.Prettify(s)
  59302. }
  59303. // GoString returns the string representation
  59304. func (s VpnConnectionOptions) GoString() string {
  59305. return s.String()
  59306. }
  59307. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  59308. func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
  59309. s.StaticRoutesOnly = &v
  59310. return s
  59311. }
  59312. // Describes VPN connection options.
  59313. type VpnConnectionOptionsSpecification struct {
  59314. _ struct{} `type:"structure"`
  59315. // Indicate whether the VPN connection uses static routes only. If you are creating
  59316. // a VPN connection for a device that does not support BGP, you must specify
  59317. // true. Use CreateVpnConnectionRoute to create a static route.
  59318. //
  59319. // Default: false
  59320. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  59321. // The tunnel options for the VPN connection.
  59322. TunnelOptions []*VpnTunnelOptionsSpecification `locationNameList:"item" type:"list"`
  59323. }
  59324. // String returns the string representation
  59325. func (s VpnConnectionOptionsSpecification) String() string {
  59326. return awsutil.Prettify(s)
  59327. }
  59328. // GoString returns the string representation
  59329. func (s VpnConnectionOptionsSpecification) GoString() string {
  59330. return s.String()
  59331. }
  59332. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  59333. func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
  59334. s.StaticRoutesOnly = &v
  59335. return s
  59336. }
  59337. // SetTunnelOptions sets the TunnelOptions field's value.
  59338. func (s *VpnConnectionOptionsSpecification) SetTunnelOptions(v []*VpnTunnelOptionsSpecification) *VpnConnectionOptionsSpecification {
  59339. s.TunnelOptions = v
  59340. return s
  59341. }
  59342. // Describes a virtual private gateway.
  59343. type VpnGateway struct {
  59344. _ struct{} `type:"structure"`
  59345. // The private Autonomous System Number (ASN) for the Amazon side of a BGP session.
  59346. AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
  59347. // The Availability Zone where the virtual private gateway was created, if applicable.
  59348. // This field may be empty or not returned.
  59349. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  59350. // The current state of the virtual private gateway.
  59351. State *string `locationName:"state" type:"string" enum:"VpnState"`
  59352. // Any tags assigned to the virtual private gateway.
  59353. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  59354. // The type of VPN connection the virtual private gateway supports.
  59355. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  59356. // Any VPCs attached to the virtual private gateway.
  59357. VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
  59358. // The ID of the virtual private gateway.
  59359. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  59360. }
  59361. // String returns the string representation
  59362. func (s VpnGateway) String() string {
  59363. return awsutil.Prettify(s)
  59364. }
  59365. // GoString returns the string representation
  59366. func (s VpnGateway) GoString() string {
  59367. return s.String()
  59368. }
  59369. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  59370. func (s *VpnGateway) SetAmazonSideAsn(v int64) *VpnGateway {
  59371. s.AmazonSideAsn = &v
  59372. return s
  59373. }
  59374. // SetAvailabilityZone sets the AvailabilityZone field's value.
  59375. func (s *VpnGateway) SetAvailabilityZone(v string) *VpnGateway {
  59376. s.AvailabilityZone = &v
  59377. return s
  59378. }
  59379. // SetState sets the State field's value.
  59380. func (s *VpnGateway) SetState(v string) *VpnGateway {
  59381. s.State = &v
  59382. return s
  59383. }
  59384. // SetTags sets the Tags field's value.
  59385. func (s *VpnGateway) SetTags(v []*Tag) *VpnGateway {
  59386. s.Tags = v
  59387. return s
  59388. }
  59389. // SetType sets the Type field's value.
  59390. func (s *VpnGateway) SetType(v string) *VpnGateway {
  59391. s.Type = &v
  59392. return s
  59393. }
  59394. // SetVpcAttachments sets the VpcAttachments field's value.
  59395. func (s *VpnGateway) SetVpcAttachments(v []*VpcAttachment) *VpnGateway {
  59396. s.VpcAttachments = v
  59397. return s
  59398. }
  59399. // SetVpnGatewayId sets the VpnGatewayId field's value.
  59400. func (s *VpnGateway) SetVpnGatewayId(v string) *VpnGateway {
  59401. s.VpnGatewayId = &v
  59402. return s
  59403. }
  59404. // Describes a static route for a VPN connection.
  59405. type VpnStaticRoute struct {
  59406. _ struct{} `type:"structure"`
  59407. // The CIDR block associated with the local subnet of the customer data center.
  59408. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  59409. // Indicates how the routes were provided.
  59410. Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
  59411. // The current state of the static route.
  59412. State *string `locationName:"state" type:"string" enum:"VpnState"`
  59413. }
  59414. // String returns the string representation
  59415. func (s VpnStaticRoute) String() string {
  59416. return awsutil.Prettify(s)
  59417. }
  59418. // GoString returns the string representation
  59419. func (s VpnStaticRoute) GoString() string {
  59420. return s.String()
  59421. }
  59422. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  59423. func (s *VpnStaticRoute) SetDestinationCidrBlock(v string) *VpnStaticRoute {
  59424. s.DestinationCidrBlock = &v
  59425. return s
  59426. }
  59427. // SetSource sets the Source field's value.
  59428. func (s *VpnStaticRoute) SetSource(v string) *VpnStaticRoute {
  59429. s.Source = &v
  59430. return s
  59431. }
  59432. // SetState sets the State field's value.
  59433. func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute {
  59434. s.State = &v
  59435. return s
  59436. }
  59437. // The tunnel options for a VPN connection.
  59438. type VpnTunnelOptionsSpecification struct {
  59439. _ struct{} `type:"structure"`
  59440. // The pre-shared key (PSK) to establish initial authentication between the
  59441. // virtual private gateway and customer gateway.
  59442. //
  59443. // Constraints: Allowed characters are alphanumeric characters and ._. Must
  59444. // be between 8 and 64 characters in length and cannot start with zero (0).
  59445. PreSharedKey *string `type:"string"`
  59446. // The range of inside IP addresses for the tunnel. Any specified CIDR blocks
  59447. // must be unique across all VPN connections that use the same virtual private
  59448. // gateway.
  59449. //
  59450. // Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
  59451. // CIDR blocks are reserved and cannot be used:
  59452. //
  59453. // * 169.254.0.0/30
  59454. //
  59455. // * 169.254.1.0/30
  59456. //
  59457. // * 169.254.2.0/30
  59458. //
  59459. // * 169.254.3.0/30
  59460. //
  59461. // * 169.254.4.0/30
  59462. //
  59463. // * 169.254.5.0/30
  59464. //
  59465. // * 169.254.169.252/30
  59466. TunnelInsideCidr *string `type:"string"`
  59467. }
  59468. // String returns the string representation
  59469. func (s VpnTunnelOptionsSpecification) String() string {
  59470. return awsutil.Prettify(s)
  59471. }
  59472. // GoString returns the string representation
  59473. func (s VpnTunnelOptionsSpecification) GoString() string {
  59474. return s.String()
  59475. }
  59476. // SetPreSharedKey sets the PreSharedKey field's value.
  59477. func (s *VpnTunnelOptionsSpecification) SetPreSharedKey(v string) *VpnTunnelOptionsSpecification {
  59478. s.PreSharedKey = &v
  59479. return s
  59480. }
  59481. // SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
  59482. func (s *VpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *VpnTunnelOptionsSpecification {
  59483. s.TunnelInsideCidr = &v
  59484. return s
  59485. }
  59486. const (
  59487. // AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
  59488. AccountAttributeNameSupportedPlatforms = "supported-platforms"
  59489. // AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
  59490. AccountAttributeNameDefaultVpc = "default-vpc"
  59491. )
  59492. const (
  59493. // ActivityStatusError is a ActivityStatus enum value
  59494. ActivityStatusError = "error"
  59495. // ActivityStatusPendingFulfillment is a ActivityStatus enum value
  59496. ActivityStatusPendingFulfillment = "pending_fulfillment"
  59497. // ActivityStatusPendingTermination is a ActivityStatus enum value
  59498. ActivityStatusPendingTermination = "pending_termination"
  59499. // ActivityStatusFulfilled is a ActivityStatus enum value
  59500. ActivityStatusFulfilled = "fulfilled"
  59501. )
  59502. const (
  59503. // AffinityDefault is a Affinity enum value
  59504. AffinityDefault = "default"
  59505. // AffinityHost is a Affinity enum value
  59506. AffinityHost = "host"
  59507. )
  59508. const (
  59509. // AllocationStateAvailable is a AllocationState enum value
  59510. AllocationStateAvailable = "available"
  59511. // AllocationStateUnderAssessment is a AllocationState enum value
  59512. AllocationStateUnderAssessment = "under-assessment"
  59513. // AllocationStatePermanentFailure is a AllocationState enum value
  59514. AllocationStatePermanentFailure = "permanent-failure"
  59515. // AllocationStateReleased is a AllocationState enum value
  59516. AllocationStateReleased = "released"
  59517. // AllocationStateReleasedPermanentFailure is a AllocationState enum value
  59518. AllocationStateReleasedPermanentFailure = "released-permanent-failure"
  59519. )
  59520. const (
  59521. // AllocationStrategyLowestPrice is a AllocationStrategy enum value
  59522. AllocationStrategyLowestPrice = "lowestPrice"
  59523. // AllocationStrategyDiversified is a AllocationStrategy enum value
  59524. AllocationStrategyDiversified = "diversified"
  59525. )
  59526. const (
  59527. // ArchitectureValuesI386 is a ArchitectureValues enum value
  59528. ArchitectureValuesI386 = "i386"
  59529. // ArchitectureValuesX8664 is a ArchitectureValues enum value
  59530. ArchitectureValuesX8664 = "x86_64"
  59531. )
  59532. const (
  59533. // AttachmentStatusAttaching is a AttachmentStatus enum value
  59534. AttachmentStatusAttaching = "attaching"
  59535. // AttachmentStatusAttached is a AttachmentStatus enum value
  59536. AttachmentStatusAttached = "attached"
  59537. // AttachmentStatusDetaching is a AttachmentStatus enum value
  59538. AttachmentStatusDetaching = "detaching"
  59539. // AttachmentStatusDetached is a AttachmentStatus enum value
  59540. AttachmentStatusDetached = "detached"
  59541. )
  59542. const (
  59543. // AutoPlacementOn is a AutoPlacement enum value
  59544. AutoPlacementOn = "on"
  59545. // AutoPlacementOff is a AutoPlacement enum value
  59546. AutoPlacementOff = "off"
  59547. )
  59548. const (
  59549. // AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
  59550. AvailabilityZoneStateAvailable = "available"
  59551. // AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
  59552. AvailabilityZoneStateInformation = "information"
  59553. // AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
  59554. AvailabilityZoneStateImpaired = "impaired"
  59555. // AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
  59556. AvailabilityZoneStateUnavailable = "unavailable"
  59557. )
  59558. const (
  59559. // BatchStateSubmitted is a BatchState enum value
  59560. BatchStateSubmitted = "submitted"
  59561. // BatchStateActive is a BatchState enum value
  59562. BatchStateActive = "active"
  59563. // BatchStateCancelled is a BatchState enum value
  59564. BatchStateCancelled = "cancelled"
  59565. // BatchStateFailed is a BatchState enum value
  59566. BatchStateFailed = "failed"
  59567. // BatchStateCancelledRunning is a BatchState enum value
  59568. BatchStateCancelledRunning = "cancelled_running"
  59569. // BatchStateCancelledTerminating is a BatchState enum value
  59570. BatchStateCancelledTerminating = "cancelled_terminating"
  59571. // BatchStateModifying is a BatchState enum value
  59572. BatchStateModifying = "modifying"
  59573. )
  59574. const (
  59575. // BundleTaskStatePending is a BundleTaskState enum value
  59576. BundleTaskStatePending = "pending"
  59577. // BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
  59578. BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
  59579. // BundleTaskStateBundling is a BundleTaskState enum value
  59580. BundleTaskStateBundling = "bundling"
  59581. // BundleTaskStateStoring is a BundleTaskState enum value
  59582. BundleTaskStateStoring = "storing"
  59583. // BundleTaskStateCancelling is a BundleTaskState enum value
  59584. BundleTaskStateCancelling = "cancelling"
  59585. // BundleTaskStateComplete is a BundleTaskState enum value
  59586. BundleTaskStateComplete = "complete"
  59587. // BundleTaskStateFailed is a BundleTaskState enum value
  59588. BundleTaskStateFailed = "failed"
  59589. )
  59590. const (
  59591. // CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
  59592. CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
  59593. // CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
  59594. CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
  59595. // CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
  59596. CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
  59597. // CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
  59598. CancelBatchErrorCodeUnexpectedError = "unexpectedError"
  59599. )
  59600. const (
  59601. // CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
  59602. CancelSpotInstanceRequestStateActive = "active"
  59603. // CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
  59604. CancelSpotInstanceRequestStateOpen = "open"
  59605. // CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
  59606. CancelSpotInstanceRequestStateClosed = "closed"
  59607. // CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
  59608. CancelSpotInstanceRequestStateCancelled = "cancelled"
  59609. // CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
  59610. CancelSpotInstanceRequestStateCompleted = "completed"
  59611. )
  59612. const (
  59613. // ConnectionNotificationStateEnabled is a ConnectionNotificationState enum value
  59614. ConnectionNotificationStateEnabled = "Enabled"
  59615. // ConnectionNotificationStateDisabled is a ConnectionNotificationState enum value
  59616. ConnectionNotificationStateDisabled = "Disabled"
  59617. )
  59618. const (
  59619. // ConnectionNotificationTypeTopic is a ConnectionNotificationType enum value
  59620. ConnectionNotificationTypeTopic = "Topic"
  59621. )
  59622. const (
  59623. // ContainerFormatOva is a ContainerFormat enum value
  59624. ContainerFormatOva = "ova"
  59625. )
  59626. const (
  59627. // ConversionTaskStateActive is a ConversionTaskState enum value
  59628. ConversionTaskStateActive = "active"
  59629. // ConversionTaskStateCancelling is a ConversionTaskState enum value
  59630. ConversionTaskStateCancelling = "cancelling"
  59631. // ConversionTaskStateCancelled is a ConversionTaskState enum value
  59632. ConversionTaskStateCancelled = "cancelled"
  59633. // ConversionTaskStateCompleted is a ConversionTaskState enum value
  59634. ConversionTaskStateCompleted = "completed"
  59635. )
  59636. const (
  59637. // CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
  59638. CurrencyCodeValuesUsd = "USD"
  59639. )
  59640. const (
  59641. // DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
  59642. DatafeedSubscriptionStateActive = "Active"
  59643. // DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
  59644. DatafeedSubscriptionStateInactive = "Inactive"
  59645. )
  59646. const (
  59647. // DefaultTargetCapacityTypeSpot is a DefaultTargetCapacityType enum value
  59648. DefaultTargetCapacityTypeSpot = "spot"
  59649. // DefaultTargetCapacityTypeOnDemand is a DefaultTargetCapacityType enum value
  59650. DefaultTargetCapacityTypeOnDemand = "on-demand"
  59651. )
  59652. const (
  59653. // DeleteFleetErrorCodeFleetIdDoesNotExist is a DeleteFleetErrorCode enum value
  59654. DeleteFleetErrorCodeFleetIdDoesNotExist = "fleetIdDoesNotExist"
  59655. // DeleteFleetErrorCodeFleetIdMalformed is a DeleteFleetErrorCode enum value
  59656. DeleteFleetErrorCodeFleetIdMalformed = "fleetIdMalformed"
  59657. // DeleteFleetErrorCodeFleetNotInDeletableState is a DeleteFleetErrorCode enum value
  59658. DeleteFleetErrorCodeFleetNotInDeletableState = "fleetNotInDeletableState"
  59659. // DeleteFleetErrorCodeUnexpectedError is a DeleteFleetErrorCode enum value
  59660. DeleteFleetErrorCodeUnexpectedError = "unexpectedError"
  59661. )
  59662. const (
  59663. // DeviceTypeEbs is a DeviceType enum value
  59664. DeviceTypeEbs = "ebs"
  59665. // DeviceTypeInstanceStore is a DeviceType enum value
  59666. DeviceTypeInstanceStore = "instance-store"
  59667. )
  59668. const (
  59669. // DiskImageFormatVmdk is a DiskImageFormat enum value
  59670. DiskImageFormatVmdk = "VMDK"
  59671. // DiskImageFormatRaw is a DiskImageFormat enum value
  59672. DiskImageFormatRaw = "RAW"
  59673. // DiskImageFormatVhd is a DiskImageFormat enum value
  59674. DiskImageFormatVhd = "VHD"
  59675. )
  59676. const (
  59677. // DomainTypeVpc is a DomainType enum value
  59678. DomainTypeVpc = "vpc"
  59679. // DomainTypeStandard is a DomainType enum value
  59680. DomainTypeStandard = "standard"
  59681. )
  59682. const (
  59683. // ElasticGpuStateAttached is a ElasticGpuState enum value
  59684. ElasticGpuStateAttached = "ATTACHED"
  59685. )
  59686. const (
  59687. // ElasticGpuStatusOk is a ElasticGpuStatus enum value
  59688. ElasticGpuStatusOk = "OK"
  59689. // ElasticGpuStatusImpaired is a ElasticGpuStatus enum value
  59690. ElasticGpuStatusImpaired = "IMPAIRED"
  59691. )
  59692. const (
  59693. // EventCodeInstanceReboot is a EventCode enum value
  59694. EventCodeInstanceReboot = "instance-reboot"
  59695. // EventCodeSystemReboot is a EventCode enum value
  59696. EventCodeSystemReboot = "system-reboot"
  59697. // EventCodeSystemMaintenance is a EventCode enum value
  59698. EventCodeSystemMaintenance = "system-maintenance"
  59699. // EventCodeInstanceRetirement is a EventCode enum value
  59700. EventCodeInstanceRetirement = "instance-retirement"
  59701. // EventCodeInstanceStop is a EventCode enum value
  59702. EventCodeInstanceStop = "instance-stop"
  59703. )
  59704. const (
  59705. // EventTypeInstanceChange is a EventType enum value
  59706. EventTypeInstanceChange = "instanceChange"
  59707. // EventTypeFleetRequestChange is a EventType enum value
  59708. EventTypeFleetRequestChange = "fleetRequestChange"
  59709. // EventTypeError is a EventType enum value
  59710. EventTypeError = "error"
  59711. )
  59712. const (
  59713. // ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
  59714. ExcessCapacityTerminationPolicyNoTermination = "noTermination"
  59715. // ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
  59716. ExcessCapacityTerminationPolicyDefault = "default"
  59717. )
  59718. const (
  59719. // ExportEnvironmentCitrix is a ExportEnvironment enum value
  59720. ExportEnvironmentCitrix = "citrix"
  59721. // ExportEnvironmentVmware is a ExportEnvironment enum value
  59722. ExportEnvironmentVmware = "vmware"
  59723. // ExportEnvironmentMicrosoft is a ExportEnvironment enum value
  59724. ExportEnvironmentMicrosoft = "microsoft"
  59725. )
  59726. const (
  59727. // ExportTaskStateActive is a ExportTaskState enum value
  59728. ExportTaskStateActive = "active"
  59729. // ExportTaskStateCancelling is a ExportTaskState enum value
  59730. ExportTaskStateCancelling = "cancelling"
  59731. // ExportTaskStateCancelled is a ExportTaskState enum value
  59732. ExportTaskStateCancelled = "cancelled"
  59733. // ExportTaskStateCompleted is a ExportTaskState enum value
  59734. ExportTaskStateCompleted = "completed"
  59735. )
  59736. const (
  59737. // FleetActivityStatusError is a FleetActivityStatus enum value
  59738. FleetActivityStatusError = "error"
  59739. // FleetActivityStatusPendingFulfillment is a FleetActivityStatus enum value
  59740. FleetActivityStatusPendingFulfillment = "pending-fulfillment"
  59741. // FleetActivityStatusPendingTermination is a FleetActivityStatus enum value
  59742. FleetActivityStatusPendingTermination = "pending-termination"
  59743. // FleetActivityStatusFulfilled is a FleetActivityStatus enum value
  59744. FleetActivityStatusFulfilled = "fulfilled"
  59745. )
  59746. const (
  59747. // FleetEventTypeInstanceChange is a FleetEventType enum value
  59748. FleetEventTypeInstanceChange = "instance-change"
  59749. // FleetEventTypeFleetChange is a FleetEventType enum value
  59750. FleetEventTypeFleetChange = "fleet-change"
  59751. // FleetEventTypeServiceError is a FleetEventType enum value
  59752. FleetEventTypeServiceError = "service-error"
  59753. )
  59754. const (
  59755. // FleetExcessCapacityTerminationPolicyNoTermination is a FleetExcessCapacityTerminationPolicy enum value
  59756. FleetExcessCapacityTerminationPolicyNoTermination = "no-termination"
  59757. // FleetExcessCapacityTerminationPolicyTermination is a FleetExcessCapacityTerminationPolicy enum value
  59758. FleetExcessCapacityTerminationPolicyTermination = "termination"
  59759. )
  59760. const (
  59761. // FleetStateCodeSubmitted is a FleetStateCode enum value
  59762. FleetStateCodeSubmitted = "submitted"
  59763. // FleetStateCodeActive is a FleetStateCode enum value
  59764. FleetStateCodeActive = "active"
  59765. // FleetStateCodeDeleted is a FleetStateCode enum value
  59766. FleetStateCodeDeleted = "deleted"
  59767. // FleetStateCodeFailed is a FleetStateCode enum value
  59768. FleetStateCodeFailed = "failed"
  59769. // FleetStateCodeDeletedRunning is a FleetStateCode enum value
  59770. FleetStateCodeDeletedRunning = "deleted-running"
  59771. // FleetStateCodeDeletedTerminating is a FleetStateCode enum value
  59772. FleetStateCodeDeletedTerminating = "deleted-terminating"
  59773. // FleetStateCodeModifying is a FleetStateCode enum value
  59774. FleetStateCodeModifying = "modifying"
  59775. )
  59776. const (
  59777. // FleetTypeRequest is a FleetType enum value
  59778. FleetTypeRequest = "request"
  59779. // FleetTypeMaintain is a FleetType enum value
  59780. FleetTypeMaintain = "maintain"
  59781. )
  59782. const (
  59783. // FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
  59784. FlowLogsResourceTypeVpc = "VPC"
  59785. // FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
  59786. FlowLogsResourceTypeSubnet = "Subnet"
  59787. // FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
  59788. FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
  59789. )
  59790. const (
  59791. // FpgaImageAttributeNameDescription is a FpgaImageAttributeName enum value
  59792. FpgaImageAttributeNameDescription = "description"
  59793. // FpgaImageAttributeNameName is a FpgaImageAttributeName enum value
  59794. FpgaImageAttributeNameName = "name"
  59795. // FpgaImageAttributeNameLoadPermission is a FpgaImageAttributeName enum value
  59796. FpgaImageAttributeNameLoadPermission = "loadPermission"
  59797. // FpgaImageAttributeNameProductCodes is a FpgaImageAttributeName enum value
  59798. FpgaImageAttributeNameProductCodes = "productCodes"
  59799. )
  59800. const (
  59801. // FpgaImageStateCodePending is a FpgaImageStateCode enum value
  59802. FpgaImageStateCodePending = "pending"
  59803. // FpgaImageStateCodeFailed is a FpgaImageStateCode enum value
  59804. FpgaImageStateCodeFailed = "failed"
  59805. // FpgaImageStateCodeAvailable is a FpgaImageStateCode enum value
  59806. FpgaImageStateCodeAvailable = "available"
  59807. // FpgaImageStateCodeUnavailable is a FpgaImageStateCode enum value
  59808. FpgaImageStateCodeUnavailable = "unavailable"
  59809. )
  59810. const (
  59811. // GatewayTypeIpsec1 is a GatewayType enum value
  59812. GatewayTypeIpsec1 = "ipsec.1"
  59813. )
  59814. const (
  59815. // HostTenancyDedicated is a HostTenancy enum value
  59816. HostTenancyDedicated = "dedicated"
  59817. // HostTenancyHost is a HostTenancy enum value
  59818. HostTenancyHost = "host"
  59819. )
  59820. const (
  59821. // HypervisorTypeOvm is a HypervisorType enum value
  59822. HypervisorTypeOvm = "ovm"
  59823. // HypervisorTypeXen is a HypervisorType enum value
  59824. HypervisorTypeXen = "xen"
  59825. )
  59826. const (
  59827. // IamInstanceProfileAssociationStateAssociating is a IamInstanceProfileAssociationState enum value
  59828. IamInstanceProfileAssociationStateAssociating = "associating"
  59829. // IamInstanceProfileAssociationStateAssociated is a IamInstanceProfileAssociationState enum value
  59830. IamInstanceProfileAssociationStateAssociated = "associated"
  59831. // IamInstanceProfileAssociationStateDisassociating is a IamInstanceProfileAssociationState enum value
  59832. IamInstanceProfileAssociationStateDisassociating = "disassociating"
  59833. // IamInstanceProfileAssociationStateDisassociated is a IamInstanceProfileAssociationState enum value
  59834. IamInstanceProfileAssociationStateDisassociated = "disassociated"
  59835. )
  59836. const (
  59837. // ImageAttributeNameDescription is a ImageAttributeName enum value
  59838. ImageAttributeNameDescription = "description"
  59839. // ImageAttributeNameKernel is a ImageAttributeName enum value
  59840. ImageAttributeNameKernel = "kernel"
  59841. // ImageAttributeNameRamdisk is a ImageAttributeName enum value
  59842. ImageAttributeNameRamdisk = "ramdisk"
  59843. // ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
  59844. ImageAttributeNameLaunchPermission = "launchPermission"
  59845. // ImageAttributeNameProductCodes is a ImageAttributeName enum value
  59846. ImageAttributeNameProductCodes = "productCodes"
  59847. // ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
  59848. ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  59849. // ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
  59850. ImageAttributeNameSriovNetSupport = "sriovNetSupport"
  59851. )
  59852. const (
  59853. // ImageStatePending is a ImageState enum value
  59854. ImageStatePending = "pending"
  59855. // ImageStateAvailable is a ImageState enum value
  59856. ImageStateAvailable = "available"
  59857. // ImageStateInvalid is a ImageState enum value
  59858. ImageStateInvalid = "invalid"
  59859. // ImageStateDeregistered is a ImageState enum value
  59860. ImageStateDeregistered = "deregistered"
  59861. // ImageStateTransient is a ImageState enum value
  59862. ImageStateTransient = "transient"
  59863. // ImageStateFailed is a ImageState enum value
  59864. ImageStateFailed = "failed"
  59865. // ImageStateError is a ImageState enum value
  59866. ImageStateError = "error"
  59867. )
  59868. const (
  59869. // ImageTypeValuesMachine is a ImageTypeValues enum value
  59870. ImageTypeValuesMachine = "machine"
  59871. // ImageTypeValuesKernel is a ImageTypeValues enum value
  59872. ImageTypeValuesKernel = "kernel"
  59873. // ImageTypeValuesRamdisk is a ImageTypeValues enum value
  59874. ImageTypeValuesRamdisk = "ramdisk"
  59875. )
  59876. const (
  59877. // InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
  59878. InstanceAttributeNameInstanceType = "instanceType"
  59879. // InstanceAttributeNameKernel is a InstanceAttributeName enum value
  59880. InstanceAttributeNameKernel = "kernel"
  59881. // InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
  59882. InstanceAttributeNameRamdisk = "ramdisk"
  59883. // InstanceAttributeNameUserData is a InstanceAttributeName enum value
  59884. InstanceAttributeNameUserData = "userData"
  59885. // InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
  59886. InstanceAttributeNameDisableApiTermination = "disableApiTermination"
  59887. // InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
  59888. InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
  59889. // InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
  59890. InstanceAttributeNameRootDeviceName = "rootDeviceName"
  59891. // InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
  59892. InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  59893. // InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
  59894. InstanceAttributeNameProductCodes = "productCodes"
  59895. // InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
  59896. InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
  59897. // InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
  59898. InstanceAttributeNameGroupSet = "groupSet"
  59899. // InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
  59900. InstanceAttributeNameEbsOptimized = "ebsOptimized"
  59901. // InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
  59902. InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
  59903. // InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
  59904. InstanceAttributeNameEnaSupport = "enaSupport"
  59905. )
  59906. const (
  59907. // InstanceHealthStatusHealthy is a InstanceHealthStatus enum value
  59908. InstanceHealthStatusHealthy = "healthy"
  59909. // InstanceHealthStatusUnhealthy is a InstanceHealthStatus enum value
  59910. InstanceHealthStatusUnhealthy = "unhealthy"
  59911. )
  59912. const (
  59913. // InstanceInterruptionBehaviorHibernate is a InstanceInterruptionBehavior enum value
  59914. InstanceInterruptionBehaviorHibernate = "hibernate"
  59915. // InstanceInterruptionBehaviorStop is a InstanceInterruptionBehavior enum value
  59916. InstanceInterruptionBehaviorStop = "stop"
  59917. // InstanceInterruptionBehaviorTerminate is a InstanceInterruptionBehavior enum value
  59918. InstanceInterruptionBehaviorTerminate = "terminate"
  59919. )
  59920. const (
  59921. // InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
  59922. InstanceLifecycleTypeSpot = "spot"
  59923. // InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
  59924. InstanceLifecycleTypeScheduled = "scheduled"
  59925. )
  59926. const (
  59927. // InstanceStateNamePending is a InstanceStateName enum value
  59928. InstanceStateNamePending = "pending"
  59929. // InstanceStateNameRunning is a InstanceStateName enum value
  59930. InstanceStateNameRunning = "running"
  59931. // InstanceStateNameShuttingDown is a InstanceStateName enum value
  59932. InstanceStateNameShuttingDown = "shutting-down"
  59933. // InstanceStateNameTerminated is a InstanceStateName enum value
  59934. InstanceStateNameTerminated = "terminated"
  59935. // InstanceStateNameStopping is a InstanceStateName enum value
  59936. InstanceStateNameStopping = "stopping"
  59937. // InstanceStateNameStopped is a InstanceStateName enum value
  59938. InstanceStateNameStopped = "stopped"
  59939. )
  59940. const (
  59941. // InstanceTypeT1Micro is a InstanceType enum value
  59942. InstanceTypeT1Micro = "t1.micro"
  59943. // InstanceTypeT2Nano is a InstanceType enum value
  59944. InstanceTypeT2Nano = "t2.nano"
  59945. // InstanceTypeT2Micro is a InstanceType enum value
  59946. InstanceTypeT2Micro = "t2.micro"
  59947. // InstanceTypeT2Small is a InstanceType enum value
  59948. InstanceTypeT2Small = "t2.small"
  59949. // InstanceTypeT2Medium is a InstanceType enum value
  59950. InstanceTypeT2Medium = "t2.medium"
  59951. // InstanceTypeT2Large is a InstanceType enum value
  59952. InstanceTypeT2Large = "t2.large"
  59953. // InstanceTypeT2Xlarge is a InstanceType enum value
  59954. InstanceTypeT2Xlarge = "t2.xlarge"
  59955. // InstanceTypeT22xlarge is a InstanceType enum value
  59956. InstanceTypeT22xlarge = "t2.2xlarge"
  59957. // InstanceTypeM1Small is a InstanceType enum value
  59958. InstanceTypeM1Small = "m1.small"
  59959. // InstanceTypeM1Medium is a InstanceType enum value
  59960. InstanceTypeM1Medium = "m1.medium"
  59961. // InstanceTypeM1Large is a InstanceType enum value
  59962. InstanceTypeM1Large = "m1.large"
  59963. // InstanceTypeM1Xlarge is a InstanceType enum value
  59964. InstanceTypeM1Xlarge = "m1.xlarge"
  59965. // InstanceTypeM3Medium is a InstanceType enum value
  59966. InstanceTypeM3Medium = "m3.medium"
  59967. // InstanceTypeM3Large is a InstanceType enum value
  59968. InstanceTypeM3Large = "m3.large"
  59969. // InstanceTypeM3Xlarge is a InstanceType enum value
  59970. InstanceTypeM3Xlarge = "m3.xlarge"
  59971. // InstanceTypeM32xlarge is a InstanceType enum value
  59972. InstanceTypeM32xlarge = "m3.2xlarge"
  59973. // InstanceTypeM4Large is a InstanceType enum value
  59974. InstanceTypeM4Large = "m4.large"
  59975. // InstanceTypeM4Xlarge is a InstanceType enum value
  59976. InstanceTypeM4Xlarge = "m4.xlarge"
  59977. // InstanceTypeM42xlarge is a InstanceType enum value
  59978. InstanceTypeM42xlarge = "m4.2xlarge"
  59979. // InstanceTypeM44xlarge is a InstanceType enum value
  59980. InstanceTypeM44xlarge = "m4.4xlarge"
  59981. // InstanceTypeM410xlarge is a InstanceType enum value
  59982. InstanceTypeM410xlarge = "m4.10xlarge"
  59983. // InstanceTypeM416xlarge is a InstanceType enum value
  59984. InstanceTypeM416xlarge = "m4.16xlarge"
  59985. // InstanceTypeM2Xlarge is a InstanceType enum value
  59986. InstanceTypeM2Xlarge = "m2.xlarge"
  59987. // InstanceTypeM22xlarge is a InstanceType enum value
  59988. InstanceTypeM22xlarge = "m2.2xlarge"
  59989. // InstanceTypeM24xlarge is a InstanceType enum value
  59990. InstanceTypeM24xlarge = "m2.4xlarge"
  59991. // InstanceTypeCr18xlarge is a InstanceType enum value
  59992. InstanceTypeCr18xlarge = "cr1.8xlarge"
  59993. // InstanceTypeR3Large is a InstanceType enum value
  59994. InstanceTypeR3Large = "r3.large"
  59995. // InstanceTypeR3Xlarge is a InstanceType enum value
  59996. InstanceTypeR3Xlarge = "r3.xlarge"
  59997. // InstanceTypeR32xlarge is a InstanceType enum value
  59998. InstanceTypeR32xlarge = "r3.2xlarge"
  59999. // InstanceTypeR34xlarge is a InstanceType enum value
  60000. InstanceTypeR34xlarge = "r3.4xlarge"
  60001. // InstanceTypeR38xlarge is a InstanceType enum value
  60002. InstanceTypeR38xlarge = "r3.8xlarge"
  60003. // InstanceTypeR4Large is a InstanceType enum value
  60004. InstanceTypeR4Large = "r4.large"
  60005. // InstanceTypeR4Xlarge is a InstanceType enum value
  60006. InstanceTypeR4Xlarge = "r4.xlarge"
  60007. // InstanceTypeR42xlarge is a InstanceType enum value
  60008. InstanceTypeR42xlarge = "r4.2xlarge"
  60009. // InstanceTypeR44xlarge is a InstanceType enum value
  60010. InstanceTypeR44xlarge = "r4.4xlarge"
  60011. // InstanceTypeR48xlarge is a InstanceType enum value
  60012. InstanceTypeR48xlarge = "r4.8xlarge"
  60013. // InstanceTypeR416xlarge is a InstanceType enum value
  60014. InstanceTypeR416xlarge = "r4.16xlarge"
  60015. // InstanceTypeX116xlarge is a InstanceType enum value
  60016. InstanceTypeX116xlarge = "x1.16xlarge"
  60017. // InstanceTypeX132xlarge is a InstanceType enum value
  60018. InstanceTypeX132xlarge = "x1.32xlarge"
  60019. // InstanceTypeX1eXlarge is a InstanceType enum value
  60020. InstanceTypeX1eXlarge = "x1e.xlarge"
  60021. // InstanceTypeX1e2xlarge is a InstanceType enum value
  60022. InstanceTypeX1e2xlarge = "x1e.2xlarge"
  60023. // InstanceTypeX1e4xlarge is a InstanceType enum value
  60024. InstanceTypeX1e4xlarge = "x1e.4xlarge"
  60025. // InstanceTypeX1e8xlarge is a InstanceType enum value
  60026. InstanceTypeX1e8xlarge = "x1e.8xlarge"
  60027. // InstanceTypeX1e16xlarge is a InstanceType enum value
  60028. InstanceTypeX1e16xlarge = "x1e.16xlarge"
  60029. // InstanceTypeX1e32xlarge is a InstanceType enum value
  60030. InstanceTypeX1e32xlarge = "x1e.32xlarge"
  60031. // InstanceTypeI2Xlarge is a InstanceType enum value
  60032. InstanceTypeI2Xlarge = "i2.xlarge"
  60033. // InstanceTypeI22xlarge is a InstanceType enum value
  60034. InstanceTypeI22xlarge = "i2.2xlarge"
  60035. // InstanceTypeI24xlarge is a InstanceType enum value
  60036. InstanceTypeI24xlarge = "i2.4xlarge"
  60037. // InstanceTypeI28xlarge is a InstanceType enum value
  60038. InstanceTypeI28xlarge = "i2.8xlarge"
  60039. // InstanceTypeI3Large is a InstanceType enum value
  60040. InstanceTypeI3Large = "i3.large"
  60041. // InstanceTypeI3Xlarge is a InstanceType enum value
  60042. InstanceTypeI3Xlarge = "i3.xlarge"
  60043. // InstanceTypeI32xlarge is a InstanceType enum value
  60044. InstanceTypeI32xlarge = "i3.2xlarge"
  60045. // InstanceTypeI34xlarge is a InstanceType enum value
  60046. InstanceTypeI34xlarge = "i3.4xlarge"
  60047. // InstanceTypeI38xlarge is a InstanceType enum value
  60048. InstanceTypeI38xlarge = "i3.8xlarge"
  60049. // InstanceTypeI316xlarge is a InstanceType enum value
  60050. InstanceTypeI316xlarge = "i3.16xlarge"
  60051. // InstanceTypeHi14xlarge is a InstanceType enum value
  60052. InstanceTypeHi14xlarge = "hi1.4xlarge"
  60053. // InstanceTypeHs18xlarge is a InstanceType enum value
  60054. InstanceTypeHs18xlarge = "hs1.8xlarge"
  60055. // InstanceTypeC1Medium is a InstanceType enum value
  60056. InstanceTypeC1Medium = "c1.medium"
  60057. // InstanceTypeC1Xlarge is a InstanceType enum value
  60058. InstanceTypeC1Xlarge = "c1.xlarge"
  60059. // InstanceTypeC3Large is a InstanceType enum value
  60060. InstanceTypeC3Large = "c3.large"
  60061. // InstanceTypeC3Xlarge is a InstanceType enum value
  60062. InstanceTypeC3Xlarge = "c3.xlarge"
  60063. // InstanceTypeC32xlarge is a InstanceType enum value
  60064. InstanceTypeC32xlarge = "c3.2xlarge"
  60065. // InstanceTypeC34xlarge is a InstanceType enum value
  60066. InstanceTypeC34xlarge = "c3.4xlarge"
  60067. // InstanceTypeC38xlarge is a InstanceType enum value
  60068. InstanceTypeC38xlarge = "c3.8xlarge"
  60069. // InstanceTypeC4Large is a InstanceType enum value
  60070. InstanceTypeC4Large = "c4.large"
  60071. // InstanceTypeC4Xlarge is a InstanceType enum value
  60072. InstanceTypeC4Xlarge = "c4.xlarge"
  60073. // InstanceTypeC42xlarge is a InstanceType enum value
  60074. InstanceTypeC42xlarge = "c4.2xlarge"
  60075. // InstanceTypeC44xlarge is a InstanceType enum value
  60076. InstanceTypeC44xlarge = "c4.4xlarge"
  60077. // InstanceTypeC48xlarge is a InstanceType enum value
  60078. InstanceTypeC48xlarge = "c4.8xlarge"
  60079. // InstanceTypeC5Large is a InstanceType enum value
  60080. InstanceTypeC5Large = "c5.large"
  60081. // InstanceTypeC5Xlarge is a InstanceType enum value
  60082. InstanceTypeC5Xlarge = "c5.xlarge"
  60083. // InstanceTypeC52xlarge is a InstanceType enum value
  60084. InstanceTypeC52xlarge = "c5.2xlarge"
  60085. // InstanceTypeC54xlarge is a InstanceType enum value
  60086. InstanceTypeC54xlarge = "c5.4xlarge"
  60087. // InstanceTypeC59xlarge is a InstanceType enum value
  60088. InstanceTypeC59xlarge = "c5.9xlarge"
  60089. // InstanceTypeC518xlarge is a InstanceType enum value
  60090. InstanceTypeC518xlarge = "c5.18xlarge"
  60091. // InstanceTypeCc14xlarge is a InstanceType enum value
  60092. InstanceTypeCc14xlarge = "cc1.4xlarge"
  60093. // InstanceTypeCc28xlarge is a InstanceType enum value
  60094. InstanceTypeCc28xlarge = "cc2.8xlarge"
  60095. // InstanceTypeG22xlarge is a InstanceType enum value
  60096. InstanceTypeG22xlarge = "g2.2xlarge"
  60097. // InstanceTypeG28xlarge is a InstanceType enum value
  60098. InstanceTypeG28xlarge = "g2.8xlarge"
  60099. // InstanceTypeG34xlarge is a InstanceType enum value
  60100. InstanceTypeG34xlarge = "g3.4xlarge"
  60101. // InstanceTypeG38xlarge is a InstanceType enum value
  60102. InstanceTypeG38xlarge = "g3.8xlarge"
  60103. // InstanceTypeG316xlarge is a InstanceType enum value
  60104. InstanceTypeG316xlarge = "g3.16xlarge"
  60105. // InstanceTypeCg14xlarge is a InstanceType enum value
  60106. InstanceTypeCg14xlarge = "cg1.4xlarge"
  60107. // InstanceTypeP2Xlarge is a InstanceType enum value
  60108. InstanceTypeP2Xlarge = "p2.xlarge"
  60109. // InstanceTypeP28xlarge is a InstanceType enum value
  60110. InstanceTypeP28xlarge = "p2.8xlarge"
  60111. // InstanceTypeP216xlarge is a InstanceType enum value
  60112. InstanceTypeP216xlarge = "p2.16xlarge"
  60113. // InstanceTypeP32xlarge is a InstanceType enum value
  60114. InstanceTypeP32xlarge = "p3.2xlarge"
  60115. // InstanceTypeP38xlarge is a InstanceType enum value
  60116. InstanceTypeP38xlarge = "p3.8xlarge"
  60117. // InstanceTypeP316xlarge is a InstanceType enum value
  60118. InstanceTypeP316xlarge = "p3.16xlarge"
  60119. // InstanceTypeD2Xlarge is a InstanceType enum value
  60120. InstanceTypeD2Xlarge = "d2.xlarge"
  60121. // InstanceTypeD22xlarge is a InstanceType enum value
  60122. InstanceTypeD22xlarge = "d2.2xlarge"
  60123. // InstanceTypeD24xlarge is a InstanceType enum value
  60124. InstanceTypeD24xlarge = "d2.4xlarge"
  60125. // InstanceTypeD28xlarge is a InstanceType enum value
  60126. InstanceTypeD28xlarge = "d2.8xlarge"
  60127. // InstanceTypeF12xlarge is a InstanceType enum value
  60128. InstanceTypeF12xlarge = "f1.2xlarge"
  60129. // InstanceTypeF116xlarge is a InstanceType enum value
  60130. InstanceTypeF116xlarge = "f1.16xlarge"
  60131. // InstanceTypeM5Large is a InstanceType enum value
  60132. InstanceTypeM5Large = "m5.large"
  60133. // InstanceTypeM5Xlarge is a InstanceType enum value
  60134. InstanceTypeM5Xlarge = "m5.xlarge"
  60135. // InstanceTypeM52xlarge is a InstanceType enum value
  60136. InstanceTypeM52xlarge = "m5.2xlarge"
  60137. // InstanceTypeM54xlarge is a InstanceType enum value
  60138. InstanceTypeM54xlarge = "m5.4xlarge"
  60139. // InstanceTypeM512xlarge is a InstanceType enum value
  60140. InstanceTypeM512xlarge = "m5.12xlarge"
  60141. // InstanceTypeM524xlarge is a InstanceType enum value
  60142. InstanceTypeM524xlarge = "m5.24xlarge"
  60143. // InstanceTypeH12xlarge is a InstanceType enum value
  60144. InstanceTypeH12xlarge = "h1.2xlarge"
  60145. // InstanceTypeH14xlarge is a InstanceType enum value
  60146. InstanceTypeH14xlarge = "h1.4xlarge"
  60147. // InstanceTypeH18xlarge is a InstanceType enum value
  60148. InstanceTypeH18xlarge = "h1.8xlarge"
  60149. // InstanceTypeH116xlarge is a InstanceType enum value
  60150. InstanceTypeH116xlarge = "h1.16xlarge"
  60151. )
  60152. const (
  60153. // InterfacePermissionTypeInstanceAttach is a InterfacePermissionType enum value
  60154. InterfacePermissionTypeInstanceAttach = "INSTANCE-ATTACH"
  60155. // InterfacePermissionTypeEipAssociate is a InterfacePermissionType enum value
  60156. InterfacePermissionTypeEipAssociate = "EIP-ASSOCIATE"
  60157. )
  60158. const (
  60159. // LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist is a LaunchTemplateErrorCode enum value
  60160. LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist = "launchTemplateIdDoesNotExist"
  60161. // LaunchTemplateErrorCodeLaunchTemplateIdMalformed is a LaunchTemplateErrorCode enum value
  60162. LaunchTemplateErrorCodeLaunchTemplateIdMalformed = "launchTemplateIdMalformed"
  60163. // LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist is a LaunchTemplateErrorCode enum value
  60164. LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist = "launchTemplateNameDoesNotExist"
  60165. // LaunchTemplateErrorCodeLaunchTemplateNameMalformed is a LaunchTemplateErrorCode enum value
  60166. LaunchTemplateErrorCodeLaunchTemplateNameMalformed = "launchTemplateNameMalformed"
  60167. // LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist is a LaunchTemplateErrorCode enum value
  60168. LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist = "launchTemplateVersionDoesNotExist"
  60169. // LaunchTemplateErrorCodeUnexpectedError is a LaunchTemplateErrorCode enum value
  60170. LaunchTemplateErrorCodeUnexpectedError = "unexpectedError"
  60171. )
  60172. const (
  60173. // ListingStateAvailable is a ListingState enum value
  60174. ListingStateAvailable = "available"
  60175. // ListingStateSold is a ListingState enum value
  60176. ListingStateSold = "sold"
  60177. // ListingStateCancelled is a ListingState enum value
  60178. ListingStateCancelled = "cancelled"
  60179. // ListingStatePending is a ListingState enum value
  60180. ListingStatePending = "pending"
  60181. )
  60182. const (
  60183. // ListingStatusActive is a ListingStatus enum value
  60184. ListingStatusActive = "active"
  60185. // ListingStatusPending is a ListingStatus enum value
  60186. ListingStatusPending = "pending"
  60187. // ListingStatusCancelled is a ListingStatus enum value
  60188. ListingStatusCancelled = "cancelled"
  60189. // ListingStatusClosed is a ListingStatus enum value
  60190. ListingStatusClosed = "closed"
  60191. )
  60192. const (
  60193. // MarketTypeSpot is a MarketType enum value
  60194. MarketTypeSpot = "spot"
  60195. )
  60196. const (
  60197. // MonitoringStateDisabled is a MonitoringState enum value
  60198. MonitoringStateDisabled = "disabled"
  60199. // MonitoringStateDisabling is a MonitoringState enum value
  60200. MonitoringStateDisabling = "disabling"
  60201. // MonitoringStateEnabled is a MonitoringState enum value
  60202. MonitoringStateEnabled = "enabled"
  60203. // MonitoringStatePending is a MonitoringState enum value
  60204. MonitoringStatePending = "pending"
  60205. )
  60206. const (
  60207. // MoveStatusMovingToVpc is a MoveStatus enum value
  60208. MoveStatusMovingToVpc = "movingToVpc"
  60209. // MoveStatusRestoringToClassic is a MoveStatus enum value
  60210. MoveStatusRestoringToClassic = "restoringToClassic"
  60211. )
  60212. const (
  60213. // NatGatewayStatePending is a NatGatewayState enum value
  60214. NatGatewayStatePending = "pending"
  60215. // NatGatewayStateFailed is a NatGatewayState enum value
  60216. NatGatewayStateFailed = "failed"
  60217. // NatGatewayStateAvailable is a NatGatewayState enum value
  60218. NatGatewayStateAvailable = "available"
  60219. // NatGatewayStateDeleting is a NatGatewayState enum value
  60220. NatGatewayStateDeleting = "deleting"
  60221. // NatGatewayStateDeleted is a NatGatewayState enum value
  60222. NatGatewayStateDeleted = "deleted"
  60223. )
  60224. const (
  60225. // NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
  60226. NetworkInterfaceAttributeDescription = "description"
  60227. // NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
  60228. NetworkInterfaceAttributeGroupSet = "groupSet"
  60229. // NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
  60230. NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
  60231. // NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
  60232. NetworkInterfaceAttributeAttachment = "attachment"
  60233. )
  60234. const (
  60235. // NetworkInterfacePermissionStateCodePending is a NetworkInterfacePermissionStateCode enum value
  60236. NetworkInterfacePermissionStateCodePending = "pending"
  60237. // NetworkInterfacePermissionStateCodeGranted is a NetworkInterfacePermissionStateCode enum value
  60238. NetworkInterfacePermissionStateCodeGranted = "granted"
  60239. // NetworkInterfacePermissionStateCodeRevoking is a NetworkInterfacePermissionStateCode enum value
  60240. NetworkInterfacePermissionStateCodeRevoking = "revoking"
  60241. // NetworkInterfacePermissionStateCodeRevoked is a NetworkInterfacePermissionStateCode enum value
  60242. NetworkInterfacePermissionStateCodeRevoked = "revoked"
  60243. )
  60244. const (
  60245. // NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
  60246. NetworkInterfaceStatusAvailable = "available"
  60247. // NetworkInterfaceStatusAssociated is a NetworkInterfaceStatus enum value
  60248. NetworkInterfaceStatusAssociated = "associated"
  60249. // NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
  60250. NetworkInterfaceStatusAttaching = "attaching"
  60251. // NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
  60252. NetworkInterfaceStatusInUse = "in-use"
  60253. // NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
  60254. NetworkInterfaceStatusDetaching = "detaching"
  60255. )
  60256. const (
  60257. // NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
  60258. NetworkInterfaceTypeInterface = "interface"
  60259. // NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
  60260. NetworkInterfaceTypeNatGateway = "natGateway"
  60261. )
  60262. const (
  60263. // OfferingClassTypeStandard is a OfferingClassType enum value
  60264. OfferingClassTypeStandard = "standard"
  60265. // OfferingClassTypeConvertible is a OfferingClassType enum value
  60266. OfferingClassTypeConvertible = "convertible"
  60267. )
  60268. const (
  60269. // OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
  60270. OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
  60271. // OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
  60272. OfferingTypeValuesMediumUtilization = "Medium Utilization"
  60273. // OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
  60274. OfferingTypeValuesLightUtilization = "Light Utilization"
  60275. // OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
  60276. OfferingTypeValuesNoUpfront = "No Upfront"
  60277. // OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
  60278. OfferingTypeValuesPartialUpfront = "Partial Upfront"
  60279. // OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
  60280. OfferingTypeValuesAllUpfront = "All Upfront"
  60281. )
  60282. const (
  60283. // OperationTypeAdd is a OperationType enum value
  60284. OperationTypeAdd = "add"
  60285. // OperationTypeRemove is a OperationType enum value
  60286. OperationTypeRemove = "remove"
  60287. )
  60288. const (
  60289. // PaymentOptionAllUpfront is a PaymentOption enum value
  60290. PaymentOptionAllUpfront = "AllUpfront"
  60291. // PaymentOptionPartialUpfront is a PaymentOption enum value
  60292. PaymentOptionPartialUpfront = "PartialUpfront"
  60293. // PaymentOptionNoUpfront is a PaymentOption enum value
  60294. PaymentOptionNoUpfront = "NoUpfront"
  60295. )
  60296. const (
  60297. // PermissionGroupAll is a PermissionGroup enum value
  60298. PermissionGroupAll = "all"
  60299. )
  60300. const (
  60301. // PlacementGroupStatePending is a PlacementGroupState enum value
  60302. PlacementGroupStatePending = "pending"
  60303. // PlacementGroupStateAvailable is a PlacementGroupState enum value
  60304. PlacementGroupStateAvailable = "available"
  60305. // PlacementGroupStateDeleting is a PlacementGroupState enum value
  60306. PlacementGroupStateDeleting = "deleting"
  60307. // PlacementGroupStateDeleted is a PlacementGroupState enum value
  60308. PlacementGroupStateDeleted = "deleted"
  60309. )
  60310. const (
  60311. // PlacementStrategyCluster is a PlacementStrategy enum value
  60312. PlacementStrategyCluster = "cluster"
  60313. // PlacementStrategySpread is a PlacementStrategy enum value
  60314. PlacementStrategySpread = "spread"
  60315. )
  60316. const (
  60317. // PlatformValuesWindows is a PlatformValues enum value
  60318. PlatformValuesWindows = "Windows"
  60319. )
  60320. const (
  60321. // PrincipalTypeAll is a PrincipalType enum value
  60322. PrincipalTypeAll = "All"
  60323. // PrincipalTypeService is a PrincipalType enum value
  60324. PrincipalTypeService = "Service"
  60325. // PrincipalTypeOrganizationUnit is a PrincipalType enum value
  60326. PrincipalTypeOrganizationUnit = "OrganizationUnit"
  60327. // PrincipalTypeAccount is a PrincipalType enum value
  60328. PrincipalTypeAccount = "Account"
  60329. // PrincipalTypeUser is a PrincipalType enum value
  60330. PrincipalTypeUser = "User"
  60331. // PrincipalTypeRole is a PrincipalType enum value
  60332. PrincipalTypeRole = "Role"
  60333. )
  60334. const (
  60335. // ProductCodeValuesDevpay is a ProductCodeValues enum value
  60336. ProductCodeValuesDevpay = "devpay"
  60337. // ProductCodeValuesMarketplace is a ProductCodeValues enum value
  60338. ProductCodeValuesMarketplace = "marketplace"
  60339. )
  60340. const (
  60341. // RIProductDescriptionLinuxUnix is a RIProductDescription enum value
  60342. RIProductDescriptionLinuxUnix = "Linux/UNIX"
  60343. // RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
  60344. RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
  60345. // RIProductDescriptionWindows is a RIProductDescription enum value
  60346. RIProductDescriptionWindows = "Windows"
  60347. // RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
  60348. RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
  60349. )
  60350. const (
  60351. // RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
  60352. RecurringChargeFrequencyHourly = "Hourly"
  60353. )
  60354. const (
  60355. // ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
  60356. ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
  60357. // ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
  60358. ReportInstanceReasonCodesUnresponsive = "unresponsive"
  60359. // ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
  60360. ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
  60361. // ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
  60362. ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
  60363. // ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
  60364. ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
  60365. // ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
  60366. ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
  60367. // ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
  60368. ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
  60369. // ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
  60370. ReportInstanceReasonCodesPerformanceOther = "performance-other"
  60371. // ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
  60372. ReportInstanceReasonCodesOther = "other"
  60373. )
  60374. const (
  60375. // ReportStatusTypeOk is a ReportStatusType enum value
  60376. ReportStatusTypeOk = "ok"
  60377. // ReportStatusTypeImpaired is a ReportStatusType enum value
  60378. ReportStatusTypeImpaired = "impaired"
  60379. )
  60380. const (
  60381. // ReservationStatePaymentPending is a ReservationState enum value
  60382. ReservationStatePaymentPending = "payment-pending"
  60383. // ReservationStatePaymentFailed is a ReservationState enum value
  60384. ReservationStatePaymentFailed = "payment-failed"
  60385. // ReservationStateActive is a ReservationState enum value
  60386. ReservationStateActive = "active"
  60387. // ReservationStateRetired is a ReservationState enum value
  60388. ReservationStateRetired = "retired"
  60389. )
  60390. const (
  60391. // ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
  60392. ReservedInstanceStatePaymentPending = "payment-pending"
  60393. // ReservedInstanceStateActive is a ReservedInstanceState enum value
  60394. ReservedInstanceStateActive = "active"
  60395. // ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
  60396. ReservedInstanceStatePaymentFailed = "payment-failed"
  60397. // ReservedInstanceStateRetired is a ReservedInstanceState enum value
  60398. ReservedInstanceStateRetired = "retired"
  60399. )
  60400. const (
  60401. // ResetFpgaImageAttributeNameLoadPermission is a ResetFpgaImageAttributeName enum value
  60402. ResetFpgaImageAttributeNameLoadPermission = "loadPermission"
  60403. )
  60404. const (
  60405. // ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
  60406. ResetImageAttributeNameLaunchPermission = "launchPermission"
  60407. )
  60408. const (
  60409. // ResourceTypeCustomerGateway is a ResourceType enum value
  60410. ResourceTypeCustomerGateway = "customer-gateway"
  60411. // ResourceTypeDhcpOptions is a ResourceType enum value
  60412. ResourceTypeDhcpOptions = "dhcp-options"
  60413. // ResourceTypeImage is a ResourceType enum value
  60414. ResourceTypeImage = "image"
  60415. // ResourceTypeInstance is a ResourceType enum value
  60416. ResourceTypeInstance = "instance"
  60417. // ResourceTypeInternetGateway is a ResourceType enum value
  60418. ResourceTypeInternetGateway = "internet-gateway"
  60419. // ResourceTypeNetworkAcl is a ResourceType enum value
  60420. ResourceTypeNetworkAcl = "network-acl"
  60421. // ResourceTypeNetworkInterface is a ResourceType enum value
  60422. ResourceTypeNetworkInterface = "network-interface"
  60423. // ResourceTypeReservedInstances is a ResourceType enum value
  60424. ResourceTypeReservedInstances = "reserved-instances"
  60425. // ResourceTypeRouteTable is a ResourceType enum value
  60426. ResourceTypeRouteTable = "route-table"
  60427. // ResourceTypeSnapshot is a ResourceType enum value
  60428. ResourceTypeSnapshot = "snapshot"
  60429. // ResourceTypeSpotInstancesRequest is a ResourceType enum value
  60430. ResourceTypeSpotInstancesRequest = "spot-instances-request"
  60431. // ResourceTypeSubnet is a ResourceType enum value
  60432. ResourceTypeSubnet = "subnet"
  60433. // ResourceTypeSecurityGroup is a ResourceType enum value
  60434. ResourceTypeSecurityGroup = "security-group"
  60435. // ResourceTypeVolume is a ResourceType enum value
  60436. ResourceTypeVolume = "volume"
  60437. // ResourceTypeVpc is a ResourceType enum value
  60438. ResourceTypeVpc = "vpc"
  60439. // ResourceTypeVpnConnection is a ResourceType enum value
  60440. ResourceTypeVpnConnection = "vpn-connection"
  60441. // ResourceTypeVpnGateway is a ResourceType enum value
  60442. ResourceTypeVpnGateway = "vpn-gateway"
  60443. )
  60444. const (
  60445. // RouteOriginCreateRouteTable is a RouteOrigin enum value
  60446. RouteOriginCreateRouteTable = "CreateRouteTable"
  60447. // RouteOriginCreateRoute is a RouteOrigin enum value
  60448. RouteOriginCreateRoute = "CreateRoute"
  60449. // RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
  60450. RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  60451. )
  60452. const (
  60453. // RouteStateActive is a RouteState enum value
  60454. RouteStateActive = "active"
  60455. // RouteStateBlackhole is a RouteState enum value
  60456. RouteStateBlackhole = "blackhole"
  60457. )
  60458. const (
  60459. // RuleActionAllow is a RuleAction enum value
  60460. RuleActionAllow = "allow"
  60461. // RuleActionDeny is a RuleAction enum value
  60462. RuleActionDeny = "deny"
  60463. )
  60464. const (
  60465. // ServiceStatePending is a ServiceState enum value
  60466. ServiceStatePending = "Pending"
  60467. // ServiceStateAvailable is a ServiceState enum value
  60468. ServiceStateAvailable = "Available"
  60469. // ServiceStateDeleting is a ServiceState enum value
  60470. ServiceStateDeleting = "Deleting"
  60471. // ServiceStateDeleted is a ServiceState enum value
  60472. ServiceStateDeleted = "Deleted"
  60473. // ServiceStateFailed is a ServiceState enum value
  60474. ServiceStateFailed = "Failed"
  60475. )
  60476. const (
  60477. // ServiceTypeInterface is a ServiceType enum value
  60478. ServiceTypeInterface = "Interface"
  60479. // ServiceTypeGateway is a ServiceType enum value
  60480. ServiceTypeGateway = "Gateway"
  60481. )
  60482. const (
  60483. // ShutdownBehaviorStop is a ShutdownBehavior enum value
  60484. ShutdownBehaviorStop = "stop"
  60485. // ShutdownBehaviorTerminate is a ShutdownBehavior enum value
  60486. ShutdownBehaviorTerminate = "terminate"
  60487. )
  60488. const (
  60489. // SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
  60490. SnapshotAttributeNameProductCodes = "productCodes"
  60491. // SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
  60492. SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
  60493. )
  60494. const (
  60495. // SnapshotStatePending is a SnapshotState enum value
  60496. SnapshotStatePending = "pending"
  60497. // SnapshotStateCompleted is a SnapshotState enum value
  60498. SnapshotStateCompleted = "completed"
  60499. // SnapshotStateError is a SnapshotState enum value
  60500. SnapshotStateError = "error"
  60501. )
  60502. const (
  60503. // SpotAllocationStrategyLowestPrice is a SpotAllocationStrategy enum value
  60504. SpotAllocationStrategyLowestPrice = "lowest-price"
  60505. // SpotAllocationStrategyDiversified is a SpotAllocationStrategy enum value
  60506. SpotAllocationStrategyDiversified = "diversified"
  60507. )
  60508. const (
  60509. // SpotInstanceInterruptionBehaviorHibernate is a SpotInstanceInterruptionBehavior enum value
  60510. SpotInstanceInterruptionBehaviorHibernate = "hibernate"
  60511. // SpotInstanceInterruptionBehaviorStop is a SpotInstanceInterruptionBehavior enum value
  60512. SpotInstanceInterruptionBehaviorStop = "stop"
  60513. // SpotInstanceInterruptionBehaviorTerminate is a SpotInstanceInterruptionBehavior enum value
  60514. SpotInstanceInterruptionBehaviorTerminate = "terminate"
  60515. )
  60516. const (
  60517. // SpotInstanceStateOpen is a SpotInstanceState enum value
  60518. SpotInstanceStateOpen = "open"
  60519. // SpotInstanceStateActive is a SpotInstanceState enum value
  60520. SpotInstanceStateActive = "active"
  60521. // SpotInstanceStateClosed is a SpotInstanceState enum value
  60522. SpotInstanceStateClosed = "closed"
  60523. // SpotInstanceStateCancelled is a SpotInstanceState enum value
  60524. SpotInstanceStateCancelled = "cancelled"
  60525. // SpotInstanceStateFailed is a SpotInstanceState enum value
  60526. SpotInstanceStateFailed = "failed"
  60527. )
  60528. const (
  60529. // SpotInstanceTypeOneTime is a SpotInstanceType enum value
  60530. SpotInstanceTypeOneTime = "one-time"
  60531. // SpotInstanceTypePersistent is a SpotInstanceType enum value
  60532. SpotInstanceTypePersistent = "persistent"
  60533. )
  60534. const (
  60535. // StatePendingAcceptance is a State enum value
  60536. StatePendingAcceptance = "PendingAcceptance"
  60537. // StatePending is a State enum value
  60538. StatePending = "Pending"
  60539. // StateAvailable is a State enum value
  60540. StateAvailable = "Available"
  60541. // StateDeleting is a State enum value
  60542. StateDeleting = "Deleting"
  60543. // StateDeleted is a State enum value
  60544. StateDeleted = "Deleted"
  60545. // StateRejected is a State enum value
  60546. StateRejected = "Rejected"
  60547. // StateFailed is a State enum value
  60548. StateFailed = "Failed"
  60549. // StateExpired is a State enum value
  60550. StateExpired = "Expired"
  60551. )
  60552. const (
  60553. // StatusMoveInProgress is a Status enum value
  60554. StatusMoveInProgress = "MoveInProgress"
  60555. // StatusInVpc is a Status enum value
  60556. StatusInVpc = "InVpc"
  60557. // StatusInClassic is a Status enum value
  60558. StatusInClassic = "InClassic"
  60559. )
  60560. const (
  60561. // StatusNameReachability is a StatusName enum value
  60562. StatusNameReachability = "reachability"
  60563. )
  60564. const (
  60565. // StatusTypePassed is a StatusType enum value
  60566. StatusTypePassed = "passed"
  60567. // StatusTypeFailed is a StatusType enum value
  60568. StatusTypeFailed = "failed"
  60569. // StatusTypeInsufficientData is a StatusType enum value
  60570. StatusTypeInsufficientData = "insufficient-data"
  60571. // StatusTypeInitializing is a StatusType enum value
  60572. StatusTypeInitializing = "initializing"
  60573. )
  60574. const (
  60575. // SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value
  60576. SubnetCidrBlockStateCodeAssociating = "associating"
  60577. // SubnetCidrBlockStateCodeAssociated is a SubnetCidrBlockStateCode enum value
  60578. SubnetCidrBlockStateCodeAssociated = "associated"
  60579. // SubnetCidrBlockStateCodeDisassociating is a SubnetCidrBlockStateCode enum value
  60580. SubnetCidrBlockStateCodeDisassociating = "disassociating"
  60581. // SubnetCidrBlockStateCodeDisassociated is a SubnetCidrBlockStateCode enum value
  60582. SubnetCidrBlockStateCodeDisassociated = "disassociated"
  60583. // SubnetCidrBlockStateCodeFailing is a SubnetCidrBlockStateCode enum value
  60584. SubnetCidrBlockStateCodeFailing = "failing"
  60585. // SubnetCidrBlockStateCodeFailed is a SubnetCidrBlockStateCode enum value
  60586. SubnetCidrBlockStateCodeFailed = "failed"
  60587. )
  60588. const (
  60589. // SubnetStatePending is a SubnetState enum value
  60590. SubnetStatePending = "pending"
  60591. // SubnetStateAvailable is a SubnetState enum value
  60592. SubnetStateAvailable = "available"
  60593. )
  60594. const (
  60595. // SummaryStatusOk is a SummaryStatus enum value
  60596. SummaryStatusOk = "ok"
  60597. // SummaryStatusImpaired is a SummaryStatus enum value
  60598. SummaryStatusImpaired = "impaired"
  60599. // SummaryStatusInsufficientData is a SummaryStatus enum value
  60600. SummaryStatusInsufficientData = "insufficient-data"
  60601. // SummaryStatusNotApplicable is a SummaryStatus enum value
  60602. SummaryStatusNotApplicable = "not-applicable"
  60603. // SummaryStatusInitializing is a SummaryStatus enum value
  60604. SummaryStatusInitializing = "initializing"
  60605. )
  60606. const (
  60607. // TelemetryStatusUp is a TelemetryStatus enum value
  60608. TelemetryStatusUp = "UP"
  60609. // TelemetryStatusDown is a TelemetryStatus enum value
  60610. TelemetryStatusDown = "DOWN"
  60611. )
  60612. const (
  60613. // TenancyDefault is a Tenancy enum value
  60614. TenancyDefault = "default"
  60615. // TenancyDedicated is a Tenancy enum value
  60616. TenancyDedicated = "dedicated"
  60617. // TenancyHost is a Tenancy enum value
  60618. TenancyHost = "host"
  60619. )
  60620. const (
  60621. // TrafficTypeAccept is a TrafficType enum value
  60622. TrafficTypeAccept = "ACCEPT"
  60623. // TrafficTypeReject is a TrafficType enum value
  60624. TrafficTypeReject = "REJECT"
  60625. // TrafficTypeAll is a TrafficType enum value
  60626. TrafficTypeAll = "ALL"
  60627. )
  60628. const (
  60629. // UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  60630. UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed"
  60631. // UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  60632. UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound = "InvalidInstanceID.NotFound"
  60633. // UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  60634. UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState = "IncorrectInstanceState"
  60635. // UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  60636. UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported = "InstanceCreditSpecification.NotSupported"
  60637. )
  60638. const (
  60639. // VirtualizationTypeHvm is a VirtualizationType enum value
  60640. VirtualizationTypeHvm = "hvm"
  60641. // VirtualizationTypeParavirtual is a VirtualizationType enum value
  60642. VirtualizationTypeParavirtual = "paravirtual"
  60643. )
  60644. const (
  60645. // VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
  60646. VolumeAttachmentStateAttaching = "attaching"
  60647. // VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
  60648. VolumeAttachmentStateAttached = "attached"
  60649. // VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
  60650. VolumeAttachmentStateDetaching = "detaching"
  60651. // VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
  60652. VolumeAttachmentStateDetached = "detached"
  60653. // VolumeAttachmentStateBusy is a VolumeAttachmentState enum value
  60654. VolumeAttachmentStateBusy = "busy"
  60655. )
  60656. const (
  60657. // VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
  60658. VolumeAttributeNameAutoEnableIo = "autoEnableIO"
  60659. // VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
  60660. VolumeAttributeNameProductCodes = "productCodes"
  60661. )
  60662. const (
  60663. // VolumeModificationStateModifying is a VolumeModificationState enum value
  60664. VolumeModificationStateModifying = "modifying"
  60665. // VolumeModificationStateOptimizing is a VolumeModificationState enum value
  60666. VolumeModificationStateOptimizing = "optimizing"
  60667. // VolumeModificationStateCompleted is a VolumeModificationState enum value
  60668. VolumeModificationStateCompleted = "completed"
  60669. // VolumeModificationStateFailed is a VolumeModificationState enum value
  60670. VolumeModificationStateFailed = "failed"
  60671. )
  60672. const (
  60673. // VolumeStateCreating is a VolumeState enum value
  60674. VolumeStateCreating = "creating"
  60675. // VolumeStateAvailable is a VolumeState enum value
  60676. VolumeStateAvailable = "available"
  60677. // VolumeStateInUse is a VolumeState enum value
  60678. VolumeStateInUse = "in-use"
  60679. // VolumeStateDeleting is a VolumeState enum value
  60680. VolumeStateDeleting = "deleting"
  60681. // VolumeStateDeleted is a VolumeState enum value
  60682. VolumeStateDeleted = "deleted"
  60683. // VolumeStateError is a VolumeState enum value
  60684. VolumeStateError = "error"
  60685. )
  60686. const (
  60687. // VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
  60688. VolumeStatusInfoStatusOk = "ok"
  60689. // VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
  60690. VolumeStatusInfoStatusImpaired = "impaired"
  60691. // VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
  60692. VolumeStatusInfoStatusInsufficientData = "insufficient-data"
  60693. )
  60694. const (
  60695. // VolumeStatusNameIoEnabled is a VolumeStatusName enum value
  60696. VolumeStatusNameIoEnabled = "io-enabled"
  60697. // VolumeStatusNameIoPerformance is a VolumeStatusName enum value
  60698. VolumeStatusNameIoPerformance = "io-performance"
  60699. )
  60700. const (
  60701. // VolumeTypeStandard is a VolumeType enum value
  60702. VolumeTypeStandard = "standard"
  60703. // VolumeTypeIo1 is a VolumeType enum value
  60704. VolumeTypeIo1 = "io1"
  60705. // VolumeTypeGp2 is a VolumeType enum value
  60706. VolumeTypeGp2 = "gp2"
  60707. // VolumeTypeSc1 is a VolumeType enum value
  60708. VolumeTypeSc1 = "sc1"
  60709. // VolumeTypeSt1 is a VolumeType enum value
  60710. VolumeTypeSt1 = "st1"
  60711. )
  60712. const (
  60713. // VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
  60714. VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
  60715. // VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
  60716. VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
  60717. )
  60718. const (
  60719. // VpcCidrBlockStateCodeAssociating is a VpcCidrBlockStateCode enum value
  60720. VpcCidrBlockStateCodeAssociating = "associating"
  60721. // VpcCidrBlockStateCodeAssociated is a VpcCidrBlockStateCode enum value
  60722. VpcCidrBlockStateCodeAssociated = "associated"
  60723. // VpcCidrBlockStateCodeDisassociating is a VpcCidrBlockStateCode enum value
  60724. VpcCidrBlockStateCodeDisassociating = "disassociating"
  60725. // VpcCidrBlockStateCodeDisassociated is a VpcCidrBlockStateCode enum value
  60726. VpcCidrBlockStateCodeDisassociated = "disassociated"
  60727. // VpcCidrBlockStateCodeFailing is a VpcCidrBlockStateCode enum value
  60728. VpcCidrBlockStateCodeFailing = "failing"
  60729. // VpcCidrBlockStateCodeFailed is a VpcCidrBlockStateCode enum value
  60730. VpcCidrBlockStateCodeFailed = "failed"
  60731. )
  60732. const (
  60733. // VpcEndpointTypeInterface is a VpcEndpointType enum value
  60734. VpcEndpointTypeInterface = "Interface"
  60735. // VpcEndpointTypeGateway is a VpcEndpointType enum value
  60736. VpcEndpointTypeGateway = "Gateway"
  60737. )
  60738. const (
  60739. // VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
  60740. VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
  60741. // VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
  60742. VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
  60743. // VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
  60744. VpcPeeringConnectionStateReasonCodeActive = "active"
  60745. // VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
  60746. VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
  60747. // VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
  60748. VpcPeeringConnectionStateReasonCodeRejected = "rejected"
  60749. // VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
  60750. VpcPeeringConnectionStateReasonCodeFailed = "failed"
  60751. // VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
  60752. VpcPeeringConnectionStateReasonCodeExpired = "expired"
  60753. // VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
  60754. VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
  60755. // VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
  60756. VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
  60757. )
  60758. const (
  60759. // VpcStatePending is a VpcState enum value
  60760. VpcStatePending = "pending"
  60761. // VpcStateAvailable is a VpcState enum value
  60762. VpcStateAvailable = "available"
  60763. )
  60764. const (
  60765. // VpcTenancyDefault is a VpcTenancy enum value
  60766. VpcTenancyDefault = "default"
  60767. )
  60768. const (
  60769. // VpnStatePending is a VpnState enum value
  60770. VpnStatePending = "pending"
  60771. // VpnStateAvailable is a VpnState enum value
  60772. VpnStateAvailable = "available"
  60773. // VpnStateDeleting is a VpnState enum value
  60774. VpnStateDeleting = "deleting"
  60775. // VpnStateDeleted is a VpnState enum value
  60776. VpnStateDeleted = "deleted"
  60777. )
  60778. const (
  60779. // VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
  60780. VpnStaticRouteSourceStatic = "Static"
  60781. )
  60782. const (
  60783. // ScopeAvailabilityZone is a scope enum value
  60784. ScopeAvailabilityZone = "Availability Zone"
  60785. // ScopeRegion is a scope enum value
  60786. ScopeRegion = "Region"
  60787. )