| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807 |
- // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
- package ecs
- import (
- "fmt"
- "time"
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/awsutil"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/private/protocol"
- "github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
- )
- const opCreateCluster = "CreateCluster"
- // CreateClusterRequest generates a "aws/request.Request" representing the
- // client's request for the CreateCluster operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See CreateCluster for more information on using the CreateCluster
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the CreateClusterRequest method.
- // req, resp := client.CreateClusterRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster
- func (c *ECS) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) {
- op := &request.Operation{
- Name: opCreateCluster,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateClusterInput{}
- }
- output = &CreateClusterOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // CreateCluster API operation for Amazon EC2 Container Service.
- //
- // Creates a new Amazon ECS cluster. By default, your account receives a default
- // cluster when you launch your first container instance. However, you can create
- // your own cluster with a unique name with the CreateCluster action.
- //
- // When you call the CreateCluster API operation, Amazon ECS attempts to create
- // the service-linked role for your account so that required resources in other
- // AWS services can be managed on your behalf. However, if the IAM user that
- // makes the call does not have permissions to create the service-linked role,
- // it is not created. For more information, see Using Service-Linked Roles for
- // Amazon ECS (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation CreateCluster for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster
- func (c *ECS) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) {
- req, out := c.CreateClusterRequest(input)
- return out, req.Send()
- }
- // CreateClusterWithContext is the same as CreateCluster with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CreateCluster for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) {
- req, out := c.CreateClusterRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCreateService = "CreateService"
- // CreateServiceRequest generates a "aws/request.Request" representing the
- // client's request for the CreateService operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See CreateService for more information on using the CreateService
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the CreateServiceRequest method.
- // req, resp := client.CreateServiceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService
- func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Request, output *CreateServiceOutput) {
- op := &request.Operation{
- Name: opCreateService,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateServiceInput{}
- }
- output = &CreateServiceOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // CreateService API operation for Amazon EC2 Container Service.
- //
- // Runs and maintains a desired number of tasks from a specified task definition.
- // If the number of tasks running in a service drops below desiredCount, Amazon
- // ECS spawns another copy of the task in the specified cluster. To update an
- // existing service, see UpdateService.
- //
- // In addition to maintaining the desired count of tasks in your service, you
- // can optionally run your service behind a load balancer. The load balancer
- // distributes traffic across the tasks that are associated with the service.
- // For more information, see Service Load Balancing (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // You can optionally specify a deployment configuration for your service. The
- // deployment is triggered by changing properties, such as the task definition
- // or the desired count of a service, with an UpdateService operation.
- //
- // If a service is using the ECS deployment controller, the minimum healthy
- // percent represents a lower limit on the number of tasks in a service that
- // must remain in the RUNNING state during a deployment, as a percentage of
- // the desired number of tasks (rounded up to the nearest integer), and while
- // any container instances are in the DRAINING state if the service contains
- // tasks using the EC2 launch type. This parameter enables you to deploy without
- // using additional cluster capacity. For example, if your service has a desired
- // number of four tasks and a minimum healthy percent of 50%, the scheduler
- // may stop two existing tasks to free up cluster capacity before starting two
- // new tasks. Tasks for services that do not use a load balancer are considered
- // healthy if they are in the RUNNING state; tasks for services that do use
- // a load balancer are considered healthy if they are in the RUNNING state and
- // they are reported as healthy by the load balancer. The default value for
- // minimum healthy percent is 100%.
- //
- // If a service is using the ECS deployment controller, the maximum percent
- // parameter represents an upper limit on the number of tasks in a service that
- // are allowed in the RUNNING or PENDING state during a deployment, as a percentage
- // of the desired number of tasks (rounded down to the nearest integer), and
- // while any container instances are in the DRAINING state if the service contains
- // tasks using the EC2 launch type. This parameter enables you to define the
- // deployment batch size. For example, if your service has a desired number
- // of four tasks and a maximum percent value of 200%, the scheduler may start
- // four new tasks before stopping the four older tasks (provided that the cluster
- // resources required to do this are available). The default value for maximum
- // percent is 200%.
- //
- // If a service is using the CODE_DEPLOY deployment controller and tasks that
- // use the EC2 launch type, the minimum healthy percent and maximum percent
- // values are only used to define the lower and upper limit on the number of
- // the tasks in the service that remain in the RUNNING state while the container
- // instances are in the DRAINING state. If the tasks in the service use the
- // Fargate launch type, the minimum healthy percent and maximum percent values
- // are not used, although they are currently visible when describing your service.
- //
- // Tasks for services that do not use a load balancer are considered healthy
- // if they are in the RUNNING state. Tasks for services that do use a load balancer
- // are considered healthy if they are in the RUNNING state and the container
- // instance they are hosted on is reported as healthy by the load balancer.
- // The default value for a replica service for minimumHealthyPercent is 100%.
- // The default value for a daemon service for minimumHealthyPercent is 0%.
- //
- // When the service scheduler launches new tasks, it determines task placement
- // in your cluster using the following logic:
- //
- // * Determine which of the container instances in your cluster can support
- // your service's task definition (for example, they have the required CPU,
- // memory, ports, and container instance attributes).
- //
- // * By default, the service scheduler attempts to balance tasks across Availability
- // Zones in this manner (although you can choose a different placement strategy)
- // with the placementStrategy parameter):
- //
- // Sort the valid container instances, giving priority to instances that have
- // the fewest number of running tasks for this service in their respective
- // Availability Zone. For example, if zone A has one running service task
- // and zones B and C each have zero, valid container instances in either
- // zone B or C are considered optimal for placement.
- //
- // Place the new service task on a valid container instance in an optimal Availability
- // Zone (based on the previous steps), favoring container instances with
- // the fewest number of running tasks for this service.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation CreateService for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException"
- // The specified task is not supported in this Region.
- //
- // * ErrCodePlatformUnknownException "PlatformUnknownException"
- // The specified platform version does not exist.
- //
- // * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException"
- // The specified platform version does not satisfy the task definition's required
- // capabilities.
- //
- // * ErrCodeAccessDeniedException "AccessDeniedException"
- // You do not have authorization to perform the requested action.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService
- func (c *ECS) CreateService(input *CreateServiceInput) (*CreateServiceOutput, error) {
- req, out := c.CreateServiceRequest(input)
- return out, req.Send()
- }
- // CreateServiceWithContext is the same as CreateService with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CreateService for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) CreateServiceWithContext(ctx aws.Context, input *CreateServiceInput, opts ...request.Option) (*CreateServiceOutput, error) {
- req, out := c.CreateServiceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeleteAccountSetting = "DeleteAccountSetting"
- // DeleteAccountSettingRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteAccountSetting operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DeleteAccountSetting for more information on using the DeleteAccountSetting
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DeleteAccountSettingRequest method.
- // req, resp := client.DeleteAccountSettingRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting
- func (c *ECS) DeleteAccountSettingRequest(input *DeleteAccountSettingInput) (req *request.Request, output *DeleteAccountSettingOutput) {
- op := &request.Operation{
- Name: opDeleteAccountSetting,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteAccountSettingInput{}
- }
- output = &DeleteAccountSettingOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DeleteAccountSetting API operation for Amazon EC2 Container Service.
- //
- // Modifies the ARN and resource ID format of a resource for a specified IAM
- // user, IAM role, or the root user for an account. You can specify whether
- // the new ARN and resource ID format are disabled for new resources that are
- // created.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation DeleteAccountSetting for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting
- func (c *ECS) DeleteAccountSetting(input *DeleteAccountSettingInput) (*DeleteAccountSettingOutput, error) {
- req, out := c.DeleteAccountSettingRequest(input)
- return out, req.Send()
- }
- // DeleteAccountSettingWithContext is the same as DeleteAccountSetting with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeleteAccountSetting for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) DeleteAccountSettingWithContext(ctx aws.Context, input *DeleteAccountSettingInput, opts ...request.Option) (*DeleteAccountSettingOutput, error) {
- req, out := c.DeleteAccountSettingRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeleteAttributes = "DeleteAttributes"
- // DeleteAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteAttributes operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DeleteAttributes for more information on using the DeleteAttributes
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DeleteAttributesRequest method.
- // req, resp := client.DeleteAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes
- func (c *ECS) DeleteAttributesRequest(input *DeleteAttributesInput) (req *request.Request, output *DeleteAttributesOutput) {
- op := &request.Operation{
- Name: opDeleteAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteAttributesInput{}
- }
- output = &DeleteAttributesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DeleteAttributes API operation for Amazon EC2 Container Service.
- //
- // Deletes one or more custom attributes from an Amazon ECS resource.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation DeleteAttributes for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // * ErrCodeTargetNotFoundException "TargetNotFoundException"
- // The specified target could not be found. You can view your available container
- // instances with ListContainerInstances. Amazon ECS container instances are
- // cluster-specific and Region-specific.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes
- func (c *ECS) DeleteAttributes(input *DeleteAttributesInput) (*DeleteAttributesOutput, error) {
- req, out := c.DeleteAttributesRequest(input)
- return out, req.Send()
- }
- // DeleteAttributesWithContext is the same as DeleteAttributes with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeleteAttributes for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) DeleteAttributesWithContext(ctx aws.Context, input *DeleteAttributesInput, opts ...request.Option) (*DeleteAttributesOutput, error) {
- req, out := c.DeleteAttributesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeleteCluster = "DeleteCluster"
- // DeleteClusterRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteCluster operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DeleteCluster for more information on using the DeleteCluster
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DeleteClusterRequest method.
- // req, resp := client.DeleteClusterRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster
- func (c *ECS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) {
- op := &request.Operation{
- Name: opDeleteCluster,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteClusterInput{}
- }
- output = &DeleteClusterOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DeleteCluster API operation for Amazon EC2 Container Service.
- //
- // Deletes the specified cluster. You must deregister all container instances
- // from this cluster before you may delete it. You can list the container instances
- // in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation DeleteCluster for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // * ErrCodeClusterContainsContainerInstancesException "ClusterContainsContainerInstancesException"
- // You cannot delete a cluster that has registered container instances. First,
- // deregister the container instances before you can delete the cluster. For
- // more information, see DeregisterContainerInstance.
- //
- // * ErrCodeClusterContainsServicesException "ClusterContainsServicesException"
- // You cannot delete a cluster that contains services. First, update the service
- // to reduce its desired task count to 0 and then delete the service. For more
- // information, see UpdateService and DeleteService.
- //
- // * ErrCodeClusterContainsTasksException "ClusterContainsTasksException"
- // You cannot delete a cluster that has active tasks.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster
- func (c *ECS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) {
- req, out := c.DeleteClusterRequest(input)
- return out, req.Send()
- }
- // DeleteClusterWithContext is the same as DeleteCluster with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeleteCluster for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) {
- req, out := c.DeleteClusterRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeleteService = "DeleteService"
- // DeleteServiceRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteService operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DeleteService for more information on using the DeleteService
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DeleteServiceRequest method.
- // req, resp := client.DeleteServiceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService
- func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Request, output *DeleteServiceOutput) {
- op := &request.Operation{
- Name: opDeleteService,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteServiceInput{}
- }
- output = &DeleteServiceOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DeleteService API operation for Amazon EC2 Container Service.
- //
- // Deletes a specified service within a cluster. You can delete a service if
- // you have no running tasks in it and the desired task count is zero. If the
- // service is actively maintaining tasks, you cannot delete it, and you must
- // update the service to a desired task count of zero. For more information,
- // see UpdateService.
- //
- // When you delete a service, if there are still running tasks that require
- // cleanup, the service status moves from ACTIVE to DRAINING, and the service
- // is no longer visible in the console or in the ListServices API operation.
- // After the tasks have stopped, then the service status moves from DRAINING
- // to INACTIVE. Services in the DRAINING or INACTIVE status can still be viewed
- // with the DescribeServices API operation. However, in the future, INACTIVE
- // services may be cleaned up and purged from Amazon ECS record keeping, and
- // DescribeServices calls on those services return a ServiceNotFoundException
- // error.
- //
- // If you attempt to create a new service with the same name as an existing
- // service in either ACTIVE or DRAINING status, you receive an error.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation DeleteService for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // * ErrCodeServiceNotFoundException "ServiceNotFoundException"
- // The specified service could not be found. You can view your available services
- // with ListServices. Amazon ECS services are cluster-specific and Region-specific.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService
- func (c *ECS) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, error) {
- req, out := c.DeleteServiceRequest(input)
- return out, req.Send()
- }
- // DeleteServiceWithContext is the same as DeleteService with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeleteService for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) DeleteServiceWithContext(ctx aws.Context, input *DeleteServiceInput, opts ...request.Option) (*DeleteServiceOutput, error) {
- req, out := c.DeleteServiceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeregisterContainerInstance = "DeregisterContainerInstance"
- // DeregisterContainerInstanceRequest generates a "aws/request.Request" representing the
- // client's request for the DeregisterContainerInstance operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DeregisterContainerInstance for more information on using the DeregisterContainerInstance
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DeregisterContainerInstanceRequest method.
- // req, resp := client.DeregisterContainerInstanceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance
- func (c *ECS) DeregisterContainerInstanceRequest(input *DeregisterContainerInstanceInput) (req *request.Request, output *DeregisterContainerInstanceOutput) {
- op := &request.Operation{
- Name: opDeregisterContainerInstance,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeregisterContainerInstanceInput{}
- }
- output = &DeregisterContainerInstanceOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DeregisterContainerInstance API operation for Amazon EC2 Container Service.
- //
- // Deregisters an Amazon ECS container instance from the specified cluster.
- // This instance is no longer available to run tasks.
- //
- // If you intend to use the container instance for some other purpose after
- // deregistration, you should stop all of the tasks running on the container
- // instance before deregistration. That prevents any orphaned tasks from consuming
- // resources.
- //
- // Deregistering a container instance removes the instance from a cluster, but
- // it does not terminate the EC2 instance. If you are finished using the instance,
- // be sure to terminate it in the Amazon EC2 console to stop billing.
- //
- // If you terminate a running container instance, Amazon ECS automatically deregisters
- // the instance from your cluster (stopped container instances or instances
- // with disconnected agents are not automatically deregistered when terminated).
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation DeregisterContainerInstance for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance
- func (c *ECS) DeregisterContainerInstance(input *DeregisterContainerInstanceInput) (*DeregisterContainerInstanceOutput, error) {
- req, out := c.DeregisterContainerInstanceRequest(input)
- return out, req.Send()
- }
- // DeregisterContainerInstanceWithContext is the same as DeregisterContainerInstance with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeregisterContainerInstance for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) DeregisterContainerInstanceWithContext(ctx aws.Context, input *DeregisterContainerInstanceInput, opts ...request.Option) (*DeregisterContainerInstanceOutput, error) {
- req, out := c.DeregisterContainerInstanceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeregisterTaskDefinition = "DeregisterTaskDefinition"
- // DeregisterTaskDefinitionRequest generates a "aws/request.Request" representing the
- // client's request for the DeregisterTaskDefinition operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DeregisterTaskDefinition for more information on using the DeregisterTaskDefinition
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DeregisterTaskDefinitionRequest method.
- // req, resp := client.DeregisterTaskDefinitionRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition
- func (c *ECS) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInput) (req *request.Request, output *DeregisterTaskDefinitionOutput) {
- op := &request.Operation{
- Name: opDeregisterTaskDefinition,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeregisterTaskDefinitionInput{}
- }
- output = &DeregisterTaskDefinitionOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DeregisterTaskDefinition API operation for Amazon EC2 Container Service.
- //
- // Deregisters the specified task definition by family and revision. Upon deregistration,
- // the task definition is marked as INACTIVE. Existing tasks and services that
- // reference an INACTIVE task definition continue to run without disruption.
- // Existing services that reference an INACTIVE task definition can still scale
- // up or down by modifying the service's desired count.
- //
- // You cannot use an INACTIVE task definition to run new tasks or create new
- // services, and you cannot update an existing service to reference an INACTIVE
- // task definition. However, there may be up to a 10-minute window following
- // deregistration where these restrictions have not yet taken effect.
- //
- // At this time, INACTIVE task definitions remain discoverable in your account
- // indefinitely. However, this behavior is subject to change in the future,
- // so you should not rely on INACTIVE task definitions persisting beyond the
- // lifecycle of any associated tasks and services.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation DeregisterTaskDefinition for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition
- func (c *ECS) DeregisterTaskDefinition(input *DeregisterTaskDefinitionInput) (*DeregisterTaskDefinitionOutput, error) {
- req, out := c.DeregisterTaskDefinitionRequest(input)
- return out, req.Send()
- }
- // DeregisterTaskDefinitionWithContext is the same as DeregisterTaskDefinition with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeregisterTaskDefinition for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) DeregisterTaskDefinitionWithContext(ctx aws.Context, input *DeregisterTaskDefinitionInput, opts ...request.Option) (*DeregisterTaskDefinitionOutput, error) {
- req, out := c.DeregisterTaskDefinitionRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeClusters = "DescribeClusters"
- // DescribeClustersRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeClusters operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeClusters for more information on using the DescribeClusters
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeClustersRequest method.
- // req, resp := client.DescribeClustersRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters
- func (c *ECS) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) {
- op := &request.Operation{
- Name: opDescribeClusters,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeClustersInput{}
- }
- output = &DescribeClustersOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeClusters API operation for Amazon EC2 Container Service.
- //
- // Describes one or more of your clusters.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation DescribeClusters for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters
- func (c *ECS) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) {
- req, out := c.DescribeClustersRequest(input)
- return out, req.Send()
- }
- // DescribeClustersWithContext is the same as DescribeClusters with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeClusters for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) {
- req, out := c.DescribeClustersRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeContainerInstances = "DescribeContainerInstances"
- // DescribeContainerInstancesRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeContainerInstances operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeContainerInstances for more information on using the DescribeContainerInstances
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeContainerInstancesRequest method.
- // req, resp := client.DescribeContainerInstancesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances
- func (c *ECS) DescribeContainerInstancesRequest(input *DescribeContainerInstancesInput) (req *request.Request, output *DescribeContainerInstancesOutput) {
- op := &request.Operation{
- Name: opDescribeContainerInstances,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeContainerInstancesInput{}
- }
- output = &DescribeContainerInstancesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeContainerInstances API operation for Amazon EC2 Container Service.
- //
- // Describes Amazon Elastic Container Service container instances. Returns metadata
- // about registered and remaining resources on each container instance requested.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation DescribeContainerInstances for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances
- func (c *ECS) DescribeContainerInstances(input *DescribeContainerInstancesInput) (*DescribeContainerInstancesOutput, error) {
- req, out := c.DescribeContainerInstancesRequest(input)
- return out, req.Send()
- }
- // DescribeContainerInstancesWithContext is the same as DescribeContainerInstances with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeContainerInstances for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) DescribeContainerInstancesWithContext(ctx aws.Context, input *DescribeContainerInstancesInput, opts ...request.Option) (*DescribeContainerInstancesOutput, error) {
- req, out := c.DescribeContainerInstancesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeServices = "DescribeServices"
- // DescribeServicesRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeServices operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeServices for more information on using the DescribeServices
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeServicesRequest method.
- // req, resp := client.DescribeServicesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices
- func (c *ECS) DescribeServicesRequest(input *DescribeServicesInput) (req *request.Request, output *DescribeServicesOutput) {
- op := &request.Operation{
- Name: opDescribeServices,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeServicesInput{}
- }
- output = &DescribeServicesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeServices API operation for Amazon EC2 Container Service.
- //
- // Describes the specified services running in your cluster.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation DescribeServices for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices
- func (c *ECS) DescribeServices(input *DescribeServicesInput) (*DescribeServicesOutput, error) {
- req, out := c.DescribeServicesRequest(input)
- return out, req.Send()
- }
- // DescribeServicesWithContext is the same as DescribeServices with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeServices for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) DescribeServicesWithContext(ctx aws.Context, input *DescribeServicesInput, opts ...request.Option) (*DescribeServicesOutput, error) {
- req, out := c.DescribeServicesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeTaskDefinition = "DescribeTaskDefinition"
- // DescribeTaskDefinitionRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeTaskDefinition operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeTaskDefinition for more information on using the DescribeTaskDefinition
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeTaskDefinitionRequest method.
- // req, resp := client.DescribeTaskDefinitionRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition
- func (c *ECS) DescribeTaskDefinitionRequest(input *DescribeTaskDefinitionInput) (req *request.Request, output *DescribeTaskDefinitionOutput) {
- op := &request.Operation{
- Name: opDescribeTaskDefinition,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeTaskDefinitionInput{}
- }
- output = &DescribeTaskDefinitionOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeTaskDefinition API operation for Amazon EC2 Container Service.
- //
- // Describes a task definition. You can specify a family and revision to find
- // information about a specific task definition, or you can simply specify the
- // family to find the latest ACTIVE revision in that family.
- //
- // You can only describe INACTIVE task definitions while an active task or service
- // references them.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation DescribeTaskDefinition for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition
- func (c *ECS) DescribeTaskDefinition(input *DescribeTaskDefinitionInput) (*DescribeTaskDefinitionOutput, error) {
- req, out := c.DescribeTaskDefinitionRequest(input)
- return out, req.Send()
- }
- // DescribeTaskDefinitionWithContext is the same as DescribeTaskDefinition with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeTaskDefinition for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) DescribeTaskDefinitionWithContext(ctx aws.Context, input *DescribeTaskDefinitionInput, opts ...request.Option) (*DescribeTaskDefinitionOutput, error) {
- req, out := c.DescribeTaskDefinitionRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeTasks = "DescribeTasks"
- // DescribeTasksRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeTasks operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeTasks for more information on using the DescribeTasks
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeTasksRequest method.
- // req, resp := client.DescribeTasksRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks
- func (c *ECS) DescribeTasksRequest(input *DescribeTasksInput) (req *request.Request, output *DescribeTasksOutput) {
- op := &request.Operation{
- Name: opDescribeTasks,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeTasksInput{}
- }
- output = &DescribeTasksOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeTasks API operation for Amazon EC2 Container Service.
- //
- // Describes a specified task or tasks.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation DescribeTasks for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks
- func (c *ECS) DescribeTasks(input *DescribeTasksInput) (*DescribeTasksOutput, error) {
- req, out := c.DescribeTasksRequest(input)
- return out, req.Send()
- }
- // DescribeTasksWithContext is the same as DescribeTasks with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeTasks for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) DescribeTasksWithContext(ctx aws.Context, input *DescribeTasksInput, opts ...request.Option) (*DescribeTasksOutput, error) {
- req, out := c.DescribeTasksRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDiscoverPollEndpoint = "DiscoverPollEndpoint"
- // DiscoverPollEndpointRequest generates a "aws/request.Request" representing the
- // client's request for the DiscoverPollEndpoint operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DiscoverPollEndpoint for more information on using the DiscoverPollEndpoint
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DiscoverPollEndpointRequest method.
- // req, resp := client.DiscoverPollEndpointRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint
- func (c *ECS) DiscoverPollEndpointRequest(input *DiscoverPollEndpointInput) (req *request.Request, output *DiscoverPollEndpointOutput) {
- op := &request.Operation{
- Name: opDiscoverPollEndpoint,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DiscoverPollEndpointInput{}
- }
- output = &DiscoverPollEndpointOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DiscoverPollEndpoint API operation for Amazon EC2 Container Service.
- //
- // This action is only used by the Amazon ECS agent, and it is not intended
- // for use outside of the agent.
- //
- // Returns an endpoint for the Amazon ECS agent to poll for updates.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation DiscoverPollEndpoint for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint
- func (c *ECS) DiscoverPollEndpoint(input *DiscoverPollEndpointInput) (*DiscoverPollEndpointOutput, error) {
- req, out := c.DiscoverPollEndpointRequest(input)
- return out, req.Send()
- }
- // DiscoverPollEndpointWithContext is the same as DiscoverPollEndpoint with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DiscoverPollEndpoint for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) DiscoverPollEndpointWithContext(ctx aws.Context, input *DiscoverPollEndpointInput, opts ...request.Option) (*DiscoverPollEndpointOutput, error) {
- req, out := c.DiscoverPollEndpointRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opListAccountSettings = "ListAccountSettings"
- // ListAccountSettingsRequest generates a "aws/request.Request" representing the
- // client's request for the ListAccountSettings operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ListAccountSettings for more information on using the ListAccountSettings
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ListAccountSettingsRequest method.
- // req, resp := client.ListAccountSettingsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings
- func (c *ECS) ListAccountSettingsRequest(input *ListAccountSettingsInput) (req *request.Request, output *ListAccountSettingsOutput) {
- op := &request.Operation{
- Name: opListAccountSettings,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ListAccountSettingsInput{}
- }
- output = &ListAccountSettingsOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListAccountSettings API operation for Amazon EC2 Container Service.
- //
- // Lists the account settings for an Amazon ECS resource for a specified principal.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation ListAccountSettings for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings
- func (c *ECS) ListAccountSettings(input *ListAccountSettingsInput) (*ListAccountSettingsOutput, error) {
- req, out := c.ListAccountSettingsRequest(input)
- return out, req.Send()
- }
- // ListAccountSettingsWithContext is the same as ListAccountSettings with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListAccountSettings for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListAccountSettingsWithContext(ctx aws.Context, input *ListAccountSettingsInput, opts ...request.Option) (*ListAccountSettingsOutput, error) {
- req, out := c.ListAccountSettingsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opListAttributes = "ListAttributes"
- // ListAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the ListAttributes operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ListAttributes for more information on using the ListAttributes
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ListAttributesRequest method.
- // req, resp := client.ListAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes
- func (c *ECS) ListAttributesRequest(input *ListAttributesInput) (req *request.Request, output *ListAttributesOutput) {
- op := &request.Operation{
- Name: opListAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ListAttributesInput{}
- }
- output = &ListAttributesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListAttributes API operation for Amazon EC2 Container Service.
- //
- // Lists the attributes for Amazon ECS resources within a specified target type
- // and cluster. When you specify a target type and cluster, ListAttributes returns
- // a list of attribute objects, one for each attribute on each resource. You
- // can filter the list of results to a single attribute name to only return
- // results that have that name. You can also filter the results by attribute
- // name and value, for example, to see which container instances in a cluster
- // are running a Linux AMI (ecs.os-type=linux).
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation ListAttributes for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes
- func (c *ECS) ListAttributes(input *ListAttributesInput) (*ListAttributesOutput, error) {
- req, out := c.ListAttributesRequest(input)
- return out, req.Send()
- }
- // ListAttributesWithContext is the same as ListAttributes with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListAttributes for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListAttributesWithContext(ctx aws.Context, input *ListAttributesInput, opts ...request.Option) (*ListAttributesOutput, error) {
- req, out := c.ListAttributesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opListClusters = "ListClusters"
- // ListClustersRequest generates a "aws/request.Request" representing the
- // client's request for the ListClusters operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ListClusters for more information on using the ListClusters
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ListClustersRequest method.
- // req, resp := client.ListClustersRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters
- func (c *ECS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) {
- op := &request.Operation{
- Name: opListClusters,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"nextToken"},
- OutputTokens: []string{"nextToken"},
- LimitToken: "maxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListClustersInput{}
- }
- output = &ListClustersOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListClusters API operation for Amazon EC2 Container Service.
- //
- // Returns a list of existing clusters.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation ListClusters for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters
- func (c *ECS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) {
- req, out := c.ListClustersRequest(input)
- return out, req.Send()
- }
- // ListClustersWithContext is the same as ListClusters with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListClusters for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) {
- req, out := c.ListClustersRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListClustersPages iterates over the pages of a ListClusters operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListClusters method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListClusters operation.
- // pageNum := 0
- // err := client.ListClustersPages(params,
- // func(page *ListClustersOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *ECS) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error {
- return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListClustersPagesWithContext same as ListClustersPages except
- // it takes a Context and allows setting request options on the pages.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListClustersInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListClustersRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- cont := true
- for p.Next() && cont {
- cont = fn(p.Page().(*ListClustersOutput), !p.HasNextPage())
- }
- return p.Err()
- }
- const opListContainerInstances = "ListContainerInstances"
- // ListContainerInstancesRequest generates a "aws/request.Request" representing the
- // client's request for the ListContainerInstances operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ListContainerInstances for more information on using the ListContainerInstances
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ListContainerInstancesRequest method.
- // req, resp := client.ListContainerInstancesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances
- func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) (req *request.Request, output *ListContainerInstancesOutput) {
- op := &request.Operation{
- Name: opListContainerInstances,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"nextToken"},
- OutputTokens: []string{"nextToken"},
- LimitToken: "maxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListContainerInstancesInput{}
- }
- output = &ListContainerInstancesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListContainerInstances API operation for Amazon EC2 Container Service.
- //
- // Returns a list of container instances in a specified cluster. You can filter
- // the results of a ListContainerInstances operation with cluster query language
- // statements inside the filter parameter. For more information, see Cluster
- // Query Language (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation ListContainerInstances for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances
- func (c *ECS) ListContainerInstances(input *ListContainerInstancesInput) (*ListContainerInstancesOutput, error) {
- req, out := c.ListContainerInstancesRequest(input)
- return out, req.Send()
- }
- // ListContainerInstancesWithContext is the same as ListContainerInstances with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListContainerInstances for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListContainerInstancesWithContext(ctx aws.Context, input *ListContainerInstancesInput, opts ...request.Option) (*ListContainerInstancesOutput, error) {
- req, out := c.ListContainerInstancesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListContainerInstancesPages iterates over the pages of a ListContainerInstances operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListContainerInstances method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListContainerInstances operation.
- // pageNum := 0
- // err := client.ListContainerInstancesPages(params,
- // func(page *ListContainerInstancesOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *ECS) ListContainerInstancesPages(input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool) error {
- return c.ListContainerInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListContainerInstancesPagesWithContext same as ListContainerInstancesPages except
- // it takes a Context and allows setting request options on the pages.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListContainerInstancesPagesWithContext(ctx aws.Context, input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListContainerInstancesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListContainerInstancesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- cont := true
- for p.Next() && cont {
- cont = fn(p.Page().(*ListContainerInstancesOutput), !p.HasNextPage())
- }
- return p.Err()
- }
- const opListServices = "ListServices"
- // ListServicesRequest generates a "aws/request.Request" representing the
- // client's request for the ListServices operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ListServices for more information on using the ListServices
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ListServicesRequest method.
- // req, resp := client.ListServicesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices
- func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) {
- op := &request.Operation{
- Name: opListServices,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"nextToken"},
- OutputTokens: []string{"nextToken"},
- LimitToken: "maxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListServicesInput{}
- }
- output = &ListServicesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListServices API operation for Amazon EC2 Container Service.
- //
- // Lists the services that are running in a specified cluster.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation ListServices for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices
- func (c *ECS) ListServices(input *ListServicesInput) (*ListServicesOutput, error) {
- req, out := c.ListServicesRequest(input)
- return out, req.Send()
- }
- // ListServicesWithContext is the same as ListServices with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListServices for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListServicesWithContext(ctx aws.Context, input *ListServicesInput, opts ...request.Option) (*ListServicesOutput, error) {
- req, out := c.ListServicesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListServicesPages iterates over the pages of a ListServices operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListServices method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListServices operation.
- // pageNum := 0
- // err := client.ListServicesPages(params,
- // func(page *ListServicesOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *ECS) ListServicesPages(input *ListServicesInput, fn func(*ListServicesOutput, bool) bool) error {
- return c.ListServicesPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListServicesPagesWithContext same as ListServicesPages except
- // it takes a Context and allows setting request options on the pages.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListServicesPagesWithContext(ctx aws.Context, input *ListServicesInput, fn func(*ListServicesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListServicesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListServicesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- cont := true
- for p.Next() && cont {
- cont = fn(p.Page().(*ListServicesOutput), !p.HasNextPage())
- }
- return p.Err()
- }
- const opListTagsForResource = "ListTagsForResource"
- // ListTagsForResourceRequest generates a "aws/request.Request" representing the
- // client's request for the ListTagsForResource operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ListTagsForResource for more information on using the ListTagsForResource
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ListTagsForResourceRequest method.
- // req, resp := client.ListTagsForResourceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource
- func (c *ECS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
- op := &request.Operation{
- Name: opListTagsForResource,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ListTagsForResourceInput{}
- }
- output = &ListTagsForResourceOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListTagsForResource API operation for Amazon EC2 Container Service.
- //
- // List the tags for an Amazon ECS resource.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation ListTagsForResource for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource
- func (c *ECS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
- req, out := c.ListTagsForResourceRequest(input)
- return out, req.Send()
- }
- // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListTagsForResource for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
- req, out := c.ListTagsForResourceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies"
- // ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the
- // client's request for the ListTaskDefinitionFamilies operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ListTaskDefinitionFamilies for more information on using the ListTaskDefinitionFamilies
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ListTaskDefinitionFamiliesRequest method.
- // req, resp := client.ListTaskDefinitionFamiliesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies
- func (c *ECS) ListTaskDefinitionFamiliesRequest(input *ListTaskDefinitionFamiliesInput) (req *request.Request, output *ListTaskDefinitionFamiliesOutput) {
- op := &request.Operation{
- Name: opListTaskDefinitionFamilies,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"nextToken"},
- OutputTokens: []string{"nextToken"},
- LimitToken: "maxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListTaskDefinitionFamiliesInput{}
- }
- output = &ListTaskDefinitionFamiliesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListTaskDefinitionFamilies API operation for Amazon EC2 Container Service.
- //
- // Returns a list of task definition families that are registered to your account
- // (which may include task definition families that no longer have any ACTIVE
- // task definition revisions).
- //
- // You can filter out task definition families that do not contain any ACTIVE
- // task definition revisions by setting the status parameter to ACTIVE. You
- // can also filter the results with the familyPrefix parameter.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation ListTaskDefinitionFamilies for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies
- func (c *ECS) ListTaskDefinitionFamilies(input *ListTaskDefinitionFamiliesInput) (*ListTaskDefinitionFamiliesOutput, error) {
- req, out := c.ListTaskDefinitionFamiliesRequest(input)
- return out, req.Send()
- }
- // ListTaskDefinitionFamiliesWithContext is the same as ListTaskDefinitionFamilies with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListTaskDefinitionFamilies for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListTaskDefinitionFamiliesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, opts ...request.Option) (*ListTaskDefinitionFamiliesOutput, error) {
- req, out := c.ListTaskDefinitionFamiliesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListTaskDefinitionFamiliesPages iterates over the pages of a ListTaskDefinitionFamilies operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListTaskDefinitionFamilies method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListTaskDefinitionFamilies operation.
- // pageNum := 0
- // err := client.ListTaskDefinitionFamiliesPages(params,
- // func(page *ListTaskDefinitionFamiliesOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *ECS) ListTaskDefinitionFamiliesPages(input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool) error {
- return c.ListTaskDefinitionFamiliesPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListTaskDefinitionFamiliesPagesWithContext same as ListTaskDefinitionFamiliesPages except
- // it takes a Context and allows setting request options on the pages.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListTaskDefinitionFamiliesPagesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListTaskDefinitionFamiliesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListTaskDefinitionFamiliesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- cont := true
- for p.Next() && cont {
- cont = fn(p.Page().(*ListTaskDefinitionFamiliesOutput), !p.HasNextPage())
- }
- return p.Err()
- }
- const opListTaskDefinitions = "ListTaskDefinitions"
- // ListTaskDefinitionsRequest generates a "aws/request.Request" representing the
- // client's request for the ListTaskDefinitions operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ListTaskDefinitions for more information on using the ListTaskDefinitions
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ListTaskDefinitionsRequest method.
- // req, resp := client.ListTaskDefinitionsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions
- func (c *ECS) ListTaskDefinitionsRequest(input *ListTaskDefinitionsInput) (req *request.Request, output *ListTaskDefinitionsOutput) {
- op := &request.Operation{
- Name: opListTaskDefinitions,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"nextToken"},
- OutputTokens: []string{"nextToken"},
- LimitToken: "maxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListTaskDefinitionsInput{}
- }
- output = &ListTaskDefinitionsOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListTaskDefinitions API operation for Amazon EC2 Container Service.
- //
- // Returns a list of task definitions that are registered to your account. You
- // can filter the results by family name with the familyPrefix parameter or
- // by status with the status parameter.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation ListTaskDefinitions for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions
- func (c *ECS) ListTaskDefinitions(input *ListTaskDefinitionsInput) (*ListTaskDefinitionsOutput, error) {
- req, out := c.ListTaskDefinitionsRequest(input)
- return out, req.Send()
- }
- // ListTaskDefinitionsWithContext is the same as ListTaskDefinitions with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListTaskDefinitions for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListTaskDefinitionsWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, opts ...request.Option) (*ListTaskDefinitionsOutput, error) {
- req, out := c.ListTaskDefinitionsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListTaskDefinitionsPages iterates over the pages of a ListTaskDefinitions operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListTaskDefinitions method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListTaskDefinitions operation.
- // pageNum := 0
- // err := client.ListTaskDefinitionsPages(params,
- // func(page *ListTaskDefinitionsOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *ECS) ListTaskDefinitionsPages(input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool) error {
- return c.ListTaskDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListTaskDefinitionsPagesWithContext same as ListTaskDefinitionsPages except
- // it takes a Context and allows setting request options on the pages.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListTaskDefinitionsPagesWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListTaskDefinitionsInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListTaskDefinitionsRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- cont := true
- for p.Next() && cont {
- cont = fn(p.Page().(*ListTaskDefinitionsOutput), !p.HasNextPage())
- }
- return p.Err()
- }
- const opListTasks = "ListTasks"
- // ListTasksRequest generates a "aws/request.Request" representing the
- // client's request for the ListTasks operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ListTasks for more information on using the ListTasks
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ListTasksRequest method.
- // req, resp := client.ListTasksRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks
- func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) {
- op := &request.Operation{
- Name: opListTasks,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"nextToken"},
- OutputTokens: []string{"nextToken"},
- LimitToken: "maxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListTasksInput{}
- }
- output = &ListTasksOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListTasks API operation for Amazon EC2 Container Service.
- //
- // Returns a list of tasks for a specified cluster. You can filter the results
- // by family name, by a particular container instance, or by the desired status
- // of the task with the family, containerInstance, and desiredStatus parameters.
- //
- // Recently stopped tasks might appear in the returned results. Currently, stopped
- // tasks appear in the returned results for at least one hour.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation ListTasks for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // * ErrCodeServiceNotFoundException "ServiceNotFoundException"
- // The specified service could not be found. You can view your available services
- // with ListServices. Amazon ECS services are cluster-specific and Region-specific.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks
- func (c *ECS) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) {
- req, out := c.ListTasksRequest(input)
- return out, req.Send()
- }
- // ListTasksWithContext is the same as ListTasks with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListTasks for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) {
- req, out := c.ListTasksRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListTasksPages iterates over the pages of a ListTasks operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListTasks method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListTasks operation.
- // pageNum := 0
- // err := client.ListTasksPages(params,
- // func(page *ListTasksOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *ECS) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error {
- return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListTasksPagesWithContext same as ListTasksPages except
- // it takes a Context and allows setting request options on the pages.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListTasksInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListTasksRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- cont := true
- for p.Next() && cont {
- cont = fn(p.Page().(*ListTasksOutput), !p.HasNextPage())
- }
- return p.Err()
- }
- const opPutAccountSetting = "PutAccountSetting"
- // PutAccountSettingRequest generates a "aws/request.Request" representing the
- // client's request for the PutAccountSetting operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See PutAccountSetting for more information on using the PutAccountSetting
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the PutAccountSettingRequest method.
- // req, resp := client.PutAccountSettingRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting
- func (c *ECS) PutAccountSettingRequest(input *PutAccountSettingInput) (req *request.Request, output *PutAccountSettingOutput) {
- op := &request.Operation{
- Name: opPutAccountSetting,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &PutAccountSettingInput{}
- }
- output = &PutAccountSettingOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // PutAccountSetting API operation for Amazon EC2 Container Service.
- //
- // Modifies the ARN and resource ID format of a resource for a specified IAM
- // user, IAM role, or the root user for an account. You can specify whether
- // the new ARN and resource ID format are enabled for new resources that are
- // created. Enabling this setting is required to use new Amazon ECS features
- // such as resource tagging.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation PutAccountSetting for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting
- func (c *ECS) PutAccountSetting(input *PutAccountSettingInput) (*PutAccountSettingOutput, error) {
- req, out := c.PutAccountSettingRequest(input)
- return out, req.Send()
- }
- // PutAccountSettingWithContext is the same as PutAccountSetting with the addition of
- // the ability to pass a context and additional request options.
- //
- // See PutAccountSetting for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) PutAccountSettingWithContext(ctx aws.Context, input *PutAccountSettingInput, opts ...request.Option) (*PutAccountSettingOutput, error) {
- req, out := c.PutAccountSettingRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opPutAttributes = "PutAttributes"
- // PutAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the PutAttributes operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See PutAttributes for more information on using the PutAttributes
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the PutAttributesRequest method.
- // req, resp := client.PutAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes
- func (c *ECS) PutAttributesRequest(input *PutAttributesInput) (req *request.Request, output *PutAttributesOutput) {
- op := &request.Operation{
- Name: opPutAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &PutAttributesInput{}
- }
- output = &PutAttributesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // PutAttributes API operation for Amazon EC2 Container Service.
- //
- // Create or update an attribute on an Amazon ECS resource. If the attribute
- // does not exist, it is created. If the attribute exists, its value is replaced
- // with the specified value. To delete an attribute, use DeleteAttributes. For
- // more information, see Attributes (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation PutAttributes for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // * ErrCodeTargetNotFoundException "TargetNotFoundException"
- // The specified target could not be found. You can view your available container
- // instances with ListContainerInstances. Amazon ECS container instances are
- // cluster-specific and Region-specific.
- //
- // * ErrCodeAttributeLimitExceededException "AttributeLimitExceededException"
- // You can apply up to 10 custom attributes per resource. You can view the attributes
- // of a resource with ListAttributes. You can remove existing attributes on
- // a resource with DeleteAttributes.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes
- func (c *ECS) PutAttributes(input *PutAttributesInput) (*PutAttributesOutput, error) {
- req, out := c.PutAttributesRequest(input)
- return out, req.Send()
- }
- // PutAttributesWithContext is the same as PutAttributes with the addition of
- // the ability to pass a context and additional request options.
- //
- // See PutAttributes for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) PutAttributesWithContext(ctx aws.Context, input *PutAttributesInput, opts ...request.Option) (*PutAttributesOutput, error) {
- req, out := c.PutAttributesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opRegisterContainerInstance = "RegisterContainerInstance"
- // RegisterContainerInstanceRequest generates a "aws/request.Request" representing the
- // client's request for the RegisterContainerInstance operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See RegisterContainerInstance for more information on using the RegisterContainerInstance
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the RegisterContainerInstanceRequest method.
- // req, resp := client.RegisterContainerInstanceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance
- func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceInput) (req *request.Request, output *RegisterContainerInstanceOutput) {
- op := &request.Operation{
- Name: opRegisterContainerInstance,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &RegisterContainerInstanceInput{}
- }
- output = &RegisterContainerInstanceOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // RegisterContainerInstance API operation for Amazon EC2 Container Service.
- //
- // This action is only used by the Amazon ECS agent, and it is not intended
- // for use outside of the agent.
- //
- // Registers an EC2 instance into the specified cluster. This instance becomes
- // available to place containers on.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation RegisterContainerInstance for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance
- func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) (*RegisterContainerInstanceOutput, error) {
- req, out := c.RegisterContainerInstanceRequest(input)
- return out, req.Send()
- }
- // RegisterContainerInstanceWithContext is the same as RegisterContainerInstance with the addition of
- // the ability to pass a context and additional request options.
- //
- // See RegisterContainerInstance for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) RegisterContainerInstanceWithContext(ctx aws.Context, input *RegisterContainerInstanceInput, opts ...request.Option) (*RegisterContainerInstanceOutput, error) {
- req, out := c.RegisterContainerInstanceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opRegisterTaskDefinition = "RegisterTaskDefinition"
- // RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the
- // client's request for the RegisterTaskDefinition operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See RegisterTaskDefinition for more information on using the RegisterTaskDefinition
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the RegisterTaskDefinitionRequest method.
- // req, resp := client.RegisterTaskDefinitionRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition
- func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) (req *request.Request, output *RegisterTaskDefinitionOutput) {
- op := &request.Operation{
- Name: opRegisterTaskDefinition,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &RegisterTaskDefinitionInput{}
- }
- output = &RegisterTaskDefinitionOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // RegisterTaskDefinition API operation for Amazon EC2 Container Service.
- //
- // Registers a new task definition from the supplied family and containerDefinitions.
- // Optionally, you can add data volumes to your containers with the volumes
- // parameter. For more information about task definition parameters and defaults,
- // see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // You can specify an IAM role for your task with the taskRoleArn parameter.
- // When you specify an IAM role for a task, its containers can then use the
- // latest versions of the AWS CLI or SDKs to make API requests to the AWS services
- // that are specified in the IAM policy associated with the role. For more information,
- // see IAM Roles for Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // You can specify a Docker networking mode for the containers in your task
- // definition with the networkMode parameter. The available network modes correspond
- // to those described in Network settings (https://docs.docker.com/engine/reference/run/#/network-settings)
- // in the Docker run reference. If you specify the awsvpc network mode, the
- // task is allocated an elastic network interface, and you must specify a NetworkConfiguration
- // when you create a service or run a task with the task definition. For more
- // information, see Task Networking (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation RegisterTaskDefinition for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition
- func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*RegisterTaskDefinitionOutput, error) {
- req, out := c.RegisterTaskDefinitionRequest(input)
- return out, req.Send()
- }
- // RegisterTaskDefinitionWithContext is the same as RegisterTaskDefinition with the addition of
- // the ability to pass a context and additional request options.
- //
- // See RegisterTaskDefinition for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) RegisterTaskDefinitionWithContext(ctx aws.Context, input *RegisterTaskDefinitionInput, opts ...request.Option) (*RegisterTaskDefinitionOutput, error) {
- req, out := c.RegisterTaskDefinitionRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opRunTask = "RunTask"
- // RunTaskRequest generates a "aws/request.Request" representing the
- // client's request for the RunTask operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See RunTask for more information on using the RunTask
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the RunTaskRequest method.
- // req, resp := client.RunTaskRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask
- func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output *RunTaskOutput) {
- op := &request.Operation{
- Name: opRunTask,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &RunTaskInput{}
- }
- output = &RunTaskOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // RunTask API operation for Amazon EC2 Container Service.
- //
- // Starts a new task using the specified task definition.
- //
- // You can allow Amazon ECS to place tasks for you, or you can customize how
- // Amazon ECS places tasks using placement constraints and placement strategies.
- // For more information, see Scheduling Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // Alternatively, you can use StartTask to use your own scheduler or place tasks
- // manually on specific container instances.
- //
- // The Amazon ECS API follows an eventual consistency model, due to the distributed
- // nature of the system supporting the API. This means that the result of an
- // API command you run that affects your Amazon ECS resources might not be immediately
- // visible to all subsequent commands you run. Keep this in mind when you carry
- // out an API command that immediately follows a previous API command.
- //
- // To manage eventual consistency, you can do the following:
- //
- // * Confirm the state of the resource before you run a command to modify
- // it. Run the DescribeTasks command using an exponential backoff algorithm
- // to ensure that you allow enough time for the previous command to propagate
- // through the system. To do this, run the DescribeTasks command repeatedly,
- // starting with a couple of seconds of wait time and increasing gradually
- // up to five minutes of wait time.
- //
- // * Add wait time between subsequent commands, even if the DescribeTasks
- // command returns an accurate response. Apply an exponential backoff algorithm
- // starting with a couple of seconds of wait time, and increase gradually
- // up to about five minutes of wait time.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation RunTask for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException"
- // The specified task is not supported in this Region.
- //
- // * ErrCodePlatformUnknownException "PlatformUnknownException"
- // The specified platform version does not exist.
- //
- // * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException"
- // The specified platform version does not satisfy the task definition's required
- // capabilities.
- //
- // * ErrCodeAccessDeniedException "AccessDeniedException"
- // You do not have authorization to perform the requested action.
- //
- // * ErrCodeBlockedException "BlockedException"
- // Your AWS account has been blocked. For more information, contact AWS Support
- // (http://aws.amazon.com/contact-us/).
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask
- func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) {
- req, out := c.RunTaskRequest(input)
- return out, req.Send()
- }
- // RunTaskWithContext is the same as RunTask with the addition of
- // the ability to pass a context and additional request options.
- //
- // See RunTask for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) RunTaskWithContext(ctx aws.Context, input *RunTaskInput, opts ...request.Option) (*RunTaskOutput, error) {
- req, out := c.RunTaskRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opStartTask = "StartTask"
- // StartTaskRequest generates a "aws/request.Request" representing the
- // client's request for the StartTask operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See StartTask for more information on using the StartTask
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the StartTaskRequest method.
- // req, resp := client.StartTaskRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask
- func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, output *StartTaskOutput) {
- op := &request.Operation{
- Name: opStartTask,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &StartTaskInput{}
- }
- output = &StartTaskOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // StartTask API operation for Amazon EC2 Container Service.
- //
- // Starts a new task from the specified task definition on the specified container
- // instance or instances.
- //
- // Alternatively, you can use RunTask to place tasks for you. For more information,
- // see Scheduling Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation StartTask for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask
- func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) {
- req, out := c.StartTaskRequest(input)
- return out, req.Send()
- }
- // StartTaskWithContext is the same as StartTask with the addition of
- // the ability to pass a context and additional request options.
- //
- // See StartTask for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) StartTaskWithContext(ctx aws.Context, input *StartTaskInput, opts ...request.Option) (*StartTaskOutput, error) {
- req, out := c.StartTaskRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opStopTask = "StopTask"
- // StopTaskRequest generates a "aws/request.Request" representing the
- // client's request for the StopTask operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See StopTask for more information on using the StopTask
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the StopTaskRequest method.
- // req, resp := client.StopTaskRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask
- func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, output *StopTaskOutput) {
- op := &request.Operation{
- Name: opStopTask,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &StopTaskInput{}
- }
- output = &StopTaskOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // StopTask API operation for Amazon EC2 Container Service.
- //
- // Stops a running task. Any tags associated with the task will be deleted.
- //
- // When StopTask is called on a task, the equivalent of docker stop is issued
- // to the containers running in the task. This results in a SIGTERM value and
- // a default 30-second timeout, after which the SIGKILL value is sent and the
- // containers are forcibly stopped. If the container handles the SIGTERM value
- // gracefully and exits within 30 seconds from receiving it, no SIGKILL value
- // is sent.
- //
- // The default 30-second timeout can be configured on the Amazon ECS container
- // agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information,
- // see Amazon ECS Container Agent Configuration (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation StopTask for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask
- func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) {
- req, out := c.StopTaskRequest(input)
- return out, req.Send()
- }
- // StopTaskWithContext is the same as StopTask with the addition of
- // the ability to pass a context and additional request options.
- //
- // See StopTask for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) StopTaskWithContext(ctx aws.Context, input *StopTaskInput, opts ...request.Option) (*StopTaskOutput, error) {
- req, out := c.StopTaskRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opSubmitContainerStateChange = "SubmitContainerStateChange"
- // SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the
- // client's request for the SubmitContainerStateChange operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See SubmitContainerStateChange for more information on using the SubmitContainerStateChange
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the SubmitContainerStateChangeRequest method.
- // req, resp := client.SubmitContainerStateChangeRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange
- func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChangeInput) (req *request.Request, output *SubmitContainerStateChangeOutput) {
- op := &request.Operation{
- Name: opSubmitContainerStateChange,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &SubmitContainerStateChangeInput{}
- }
- output = &SubmitContainerStateChangeOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // SubmitContainerStateChange API operation for Amazon EC2 Container Service.
- //
- // This action is only used by the Amazon ECS agent, and it is not intended
- // for use outside of the agent.
- //
- // Sent to acknowledge that a container changed states.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation SubmitContainerStateChange for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeAccessDeniedException "AccessDeniedException"
- // You do not have authorization to perform the requested action.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange
- func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) (*SubmitContainerStateChangeOutput, error) {
- req, out := c.SubmitContainerStateChangeRequest(input)
- return out, req.Send()
- }
- // SubmitContainerStateChangeWithContext is the same as SubmitContainerStateChange with the addition of
- // the ability to pass a context and additional request options.
- //
- // See SubmitContainerStateChange for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) SubmitContainerStateChangeWithContext(ctx aws.Context, input *SubmitContainerStateChangeInput, opts ...request.Option) (*SubmitContainerStateChangeOutput, error) {
- req, out := c.SubmitContainerStateChangeRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opSubmitTaskStateChange = "SubmitTaskStateChange"
- // SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the
- // client's request for the SubmitTaskStateChange operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See SubmitTaskStateChange for more information on using the SubmitTaskStateChange
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the SubmitTaskStateChangeRequest method.
- // req, resp := client.SubmitTaskStateChangeRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange
- func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (req *request.Request, output *SubmitTaskStateChangeOutput) {
- op := &request.Operation{
- Name: opSubmitTaskStateChange,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &SubmitTaskStateChangeInput{}
- }
- output = &SubmitTaskStateChangeOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // SubmitTaskStateChange API operation for Amazon EC2 Container Service.
- //
- // This action is only used by the Amazon ECS agent, and it is not intended
- // for use outside of the agent.
- //
- // Sent to acknowledge that a task changed states.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation SubmitTaskStateChange for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeAccessDeniedException "AccessDeniedException"
- // You do not have authorization to perform the requested action.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange
- func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitTaskStateChangeOutput, error) {
- req, out := c.SubmitTaskStateChangeRequest(input)
- return out, req.Send()
- }
- // SubmitTaskStateChangeWithContext is the same as SubmitTaskStateChange with the addition of
- // the ability to pass a context and additional request options.
- //
- // See SubmitTaskStateChange for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) SubmitTaskStateChangeWithContext(ctx aws.Context, input *SubmitTaskStateChangeInput, opts ...request.Option) (*SubmitTaskStateChangeOutput, error) {
- req, out := c.SubmitTaskStateChangeRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opTagResource = "TagResource"
- // TagResourceRequest generates a "aws/request.Request" representing the
- // client's request for the TagResource operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See TagResource for more information on using the TagResource
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the TagResourceRequest method.
- // req, resp := client.TagResourceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource
- func (c *ECS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
- op := &request.Operation{
- Name: opTagResource,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &TagResourceInput{}
- }
- output = &TagResourceOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // TagResource API operation for Amazon EC2 Container Service.
- //
- // Associates the specified tags to a resource with the specified resourceArn.
- // If existing tags on a resource are not specified in the request parameters,
- // they are not changed. When a resource is deleted, the tags associated with
- // that resource are deleted as well.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation TagResource for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The specified resource could not be found.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource
- func (c *ECS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
- req, out := c.TagResourceRequest(input)
- return out, req.Send()
- }
- // TagResourceWithContext is the same as TagResource with the addition of
- // the ability to pass a context and additional request options.
- //
- // See TagResource for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
- req, out := c.TagResourceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opUntagResource = "UntagResource"
- // UntagResourceRequest generates a "aws/request.Request" representing the
- // client's request for the UntagResource operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See UntagResource for more information on using the UntagResource
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the UntagResourceRequest method.
- // req, resp := client.UntagResourceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource
- func (c *ECS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
- op := &request.Operation{
- Name: opUntagResource,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UntagResourceInput{}
- }
- output = &UntagResourceOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // UntagResource API operation for Amazon EC2 Container Service.
- //
- // Deletes specified tags from a resource.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation UntagResource for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The specified resource could not be found.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource
- func (c *ECS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
- req, out := c.UntagResourceRequest(input)
- return out, req.Send()
- }
- // UntagResourceWithContext is the same as UntagResource with the addition of
- // the ability to pass a context and additional request options.
- //
- // See UntagResource for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
- req, out := c.UntagResourceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opUpdateContainerAgent = "UpdateContainerAgent"
- // UpdateContainerAgentRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateContainerAgent operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See UpdateContainerAgent for more information on using the UpdateContainerAgent
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the UpdateContainerAgentRequest method.
- // req, resp := client.UpdateContainerAgentRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent
- func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) {
- op := &request.Operation{
- Name: opUpdateContainerAgent,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UpdateContainerAgentInput{}
- }
- output = &UpdateContainerAgentOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // UpdateContainerAgent API operation for Amazon EC2 Container Service.
- //
- // Updates the Amazon ECS container agent on a specified container instance.
- // Updating the Amazon ECS container agent does not interrupt running tasks
- // or services on the container instance. The process for updating the agent
- // differs depending on whether your container instance was launched with the
- // Amazon ECS-optimized AMI or another operating system.
- //
- // UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux
- // with the ecs-init service installed and running. For help updating the Amazon
- // ECS container agent on other operating systems, see Manually Updating the
- // Amazon ECS Container Agent (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation UpdateContainerAgent for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // * ErrCodeUpdateInProgressException "UpdateInProgressException"
- // There is already a current Amazon ECS container agent update in progress
- // on the specified container instance. If the container agent becomes disconnected
- // while it is in a transitional stage, such as PENDING or STAGING, the update
- // process can get stuck in that state. However, when the agent reconnects,
- // it resumes where it stopped previously.
- //
- // * ErrCodeNoUpdateAvailableException "NoUpdateAvailableException"
- // There is no update available for this Amazon ECS container agent. This could
- // be because the agent is already running the latest version, or it is so old
- // that there is no update path to the current version.
- //
- // * ErrCodeMissingVersionException "MissingVersionException"
- // Amazon ECS is unable to determine the current version of the Amazon ECS container
- // agent on the container instance and does not have enough information to proceed
- // with an update. This could be because the agent running on the container
- // instance is an older or custom version that does not use our version information.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent
- func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) {
- req, out := c.UpdateContainerAgentRequest(input)
- return out, req.Send()
- }
- // UpdateContainerAgentWithContext is the same as UpdateContainerAgent with the addition of
- // the ability to pass a context and additional request options.
- //
- // See UpdateContainerAgent for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) UpdateContainerAgentWithContext(ctx aws.Context, input *UpdateContainerAgentInput, opts ...request.Option) (*UpdateContainerAgentOutput, error) {
- req, out := c.UpdateContainerAgentRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opUpdateContainerInstancesState = "UpdateContainerInstancesState"
- // UpdateContainerInstancesStateRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateContainerInstancesState operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See UpdateContainerInstancesState for more information on using the UpdateContainerInstancesState
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the UpdateContainerInstancesStateRequest method.
- // req, resp := client.UpdateContainerInstancesStateRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState
- func (c *ECS) UpdateContainerInstancesStateRequest(input *UpdateContainerInstancesStateInput) (req *request.Request, output *UpdateContainerInstancesStateOutput) {
- op := &request.Operation{
- Name: opUpdateContainerInstancesState,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UpdateContainerInstancesStateInput{}
- }
- output = &UpdateContainerInstancesStateOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // UpdateContainerInstancesState API operation for Amazon EC2 Container Service.
- //
- // Modifies the status of an Amazon ECS container instance.
- //
- // You can change the status of a container instance to DRAINING to manually
- // remove an instance from a cluster, for example to perform system updates,
- // update the Docker daemon, or scale down the cluster size.
- //
- // When you set a container instance to DRAINING, Amazon ECS prevents new tasks
- // from being scheduled for placement on the container instance and replacement
- // service tasks are started on other container instances in the cluster if
- // the resources are available. Service tasks on the container instance that
- // are in the PENDING state are stopped immediately.
- //
- // Service tasks on the container instance that are in the RUNNING state are
- // stopped and replaced according to the service's deployment configuration
- // parameters, minimumHealthyPercent and maximumPercent. You can change the
- // deployment configuration of your service using UpdateService.
- //
- // * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount
- // temporarily during task replacement. For example, desiredCount is four
- // tasks, a minimum of 50% allows the scheduler to stop two existing tasks
- // before starting two new tasks. If the minimum is 100%, the service scheduler
- // can't remove existing tasks until the replacement tasks are considered
- // healthy. Tasks for services that do not use a load balancer are considered
- // healthy if they are in the RUNNING state. Tasks for services that use
- // a load balancer are considered healthy if they are in the RUNNING state
- // and the container instance they are hosted on is reported as healthy by
- // the load balancer.
- //
- // * The maximumPercent parameter represents an upper limit on the number
- // of running tasks during task replacement, which enables you to define
- // the replacement batch size. For example, if desiredCount is four tasks,
- // a maximum of 200% starts four new tasks before stopping the four tasks
- // to be drained, provided that the cluster resources required to do this
- // are available. If the maximum is 100%, then replacement tasks can't start
- // until the draining tasks have stopped.
- //
- // Any PENDING or RUNNING tasks that do not belong to a service are not affected.
- // You must wait for them to finish or stop them manually.
- //
- // A container instance has completed draining when it has no more RUNNING tasks.
- // You can verify this using ListTasks.
- //
- // When you set a container instance to ACTIVE, the Amazon ECS scheduler can
- // begin scheduling tasks on the instance again.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation UpdateContainerInstancesState for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState
- func (c *ECS) UpdateContainerInstancesState(input *UpdateContainerInstancesStateInput) (*UpdateContainerInstancesStateOutput, error) {
- req, out := c.UpdateContainerInstancesStateRequest(input)
- return out, req.Send()
- }
- // UpdateContainerInstancesStateWithContext is the same as UpdateContainerInstancesState with the addition of
- // the ability to pass a context and additional request options.
- //
- // See UpdateContainerInstancesState for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) UpdateContainerInstancesStateWithContext(ctx aws.Context, input *UpdateContainerInstancesStateInput, opts ...request.Option) (*UpdateContainerInstancesStateOutput, error) {
- req, out := c.UpdateContainerInstancesStateRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opUpdateService = "UpdateService"
- // UpdateServiceRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateService operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See UpdateService for more information on using the UpdateService
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the UpdateServiceRequest method.
- // req, resp := client.UpdateServiceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService
- func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) {
- op := &request.Operation{
- Name: opUpdateService,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UpdateServiceInput{}
- }
- output = &UpdateServiceOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // UpdateService API operation for Amazon EC2 Container Service.
- //
- // Modifies the parameters of a service.
- //
- // For services using the rolling update (ECS) deployment controller, the desired
- // count, deployment configuration, network configuration, or task definition
- // used can be updated.
- //
- // For services using the blue/green (CODE_DEPLOY) deployment controller, only
- // the desired count, deployment configuration, and health check grace period
- // can be updated using this API. If the network configuration, platform version,
- // or task definition need to be updated, a new AWS CodeDeploy deployment should
- // be created. For more information, see CreateDeployment (https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html)
- // in the AWS CodeDeploy API Reference.
- //
- // You can add to or subtract from the number of instantiations of a task definition
- // in a service by specifying the cluster that the service is running in and
- // a new desiredCount parameter.
- //
- // If you have updated the Docker image of your application, you can create
- // a new task definition with that image and deploy it to your service. The
- // service scheduler uses the minimum healthy percent and maximum percent parameters
- // (in the service's deployment configuration) to determine the deployment strategy.
- //
- // If your updated Docker image uses the same tag as what is in the existing
- // task definition for your service (for example, my_image:latest), you do not
- // need to create a new revision of your task definition. You can update the
- // service using the forceNewDeployment option. The new tasks launched by the
- // deployment pull the current image/tag combination from your repository when
- // they start.
- //
- // You can also update the deployment configuration of a service. When a deployment
- // is triggered by updating the task definition of a service, the service scheduler
- // uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent,
- // to determine the deployment strategy.
- //
- // * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount
- // temporarily during a deployment. For example, if desiredCount is four
- // tasks, a minimum of 50% allows the scheduler to stop two existing tasks
- // before starting two new tasks. Tasks for services that do not use a load
- // balancer are considered healthy if they are in the RUNNING state. Tasks
- // for services that use a load balancer are considered healthy if they are
- // in the RUNNING state and the container instance they are hosted on is
- // reported as healthy by the load balancer.
- //
- // * The maximumPercent parameter represents an upper limit on the number
- // of running tasks during a deployment, which enables you to define the
- // deployment batch size. For example, if desiredCount is four tasks, a maximum
- // of 200% starts four new tasks before stopping the four older tasks (provided
- // that the cluster resources required to do this are available).
- //
- // When UpdateService stops a task during a deployment, the equivalent of docker
- // stop is issued to the containers running in the task. This results in a SIGTERM
- // and a 30-second timeout, after which SIGKILL is sent and the containers are
- // forcibly stopped. If the container handles the SIGTERM gracefully and exits
- // within 30 seconds from receiving it, no SIGKILL is sent.
- //
- // When the service scheduler launches new tasks, it determines task placement
- // in your cluster with the following logic:
- //
- // * Determine which of the container instances in your cluster can support
- // your service's task definition (for example, they have the required CPU,
- // memory, ports, and container instance attributes).
- //
- // * By default, the service scheduler attempts to balance tasks across Availability
- // Zones in this manner (although you can choose a different placement strategy):
- //
- // Sort the valid container instances by the fewest number of running tasks
- // for this service in the same Availability Zone as the instance. For example,
- // if zone A has one running service task and zones B and C each have zero,
- // valid container instances in either zone B or C are considered optimal
- // for placement.
- //
- // Place the new service task on a valid container instance in an optimal Availability
- // Zone (based on the previous steps), favoring container instances with
- // the fewest number of running tasks for this service.
- //
- // When the service scheduler stops running tasks, it attempts to maintain balance
- // across the Availability Zones in your cluster using the following logic:
- //
- // * Sort the container instances by the largest number of running tasks
- // for this service in the same Availability Zone as the instance. For example,
- // if zone A has one running service task and zones B and C each have two,
- // container instances in either zone B or C are considered optimal for termination.
- //
- // * Stop the task on a container instance in an optimal Availability Zone
- // (based on the previous steps), favoring container instances with the largest
- // number of running tasks for this service.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon EC2 Container Service's
- // API operation UpdateService for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeServerException "ServerException"
- // These errors are usually caused by a server issue.
- //
- // * ErrCodeClientException "ClientException"
- // These errors are usually caused by a client action, such as using an action
- // or resource on behalf of a user that doesn't have permissions to use the
- // action or resource, or specifying an identifier that is not valid.
- //
- // * ErrCodeInvalidParameterException "InvalidParameterException"
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ErrCodeClusterNotFoundException "ClusterNotFoundException"
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are Region-specific.
- //
- // * ErrCodeServiceNotFoundException "ServiceNotFoundException"
- // The specified service could not be found. You can view your available services
- // with ListServices. Amazon ECS services are cluster-specific and Region-specific.
- //
- // * ErrCodeServiceNotActiveException "ServiceNotActiveException"
- // The specified service is not active. You can't update a service that is inactive.
- // If you have previously deleted a service, you can re-create it with CreateService.
- //
- // * ErrCodePlatformUnknownException "PlatformUnknownException"
- // The specified platform version does not exist.
- //
- // * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException"
- // The specified platform version does not satisfy the task definition's required
- // capabilities.
- //
- // * ErrCodeAccessDeniedException "AccessDeniedException"
- // You do not have authorization to perform the requested action.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService
- func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) {
- req, out := c.UpdateServiceRequest(input)
- return out, req.Send()
- }
- // UpdateServiceWithContext is the same as UpdateService with the addition of
- // the ability to pass a context and additional request options.
- //
- // See UpdateService for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ECS) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) {
- req, out := c.UpdateServiceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // An object representing a container instance or task attachment.
- type Attachment struct {
- _ struct{} `type:"structure"`
- // Details of the attachment. For elastic network interfaces, this includes
- // the network interface ID, the MAC address, the subnet ID, and the private
- // IPv4 address.
- Details []*KeyValuePair `locationName:"details" type:"list"`
- // The unique identifier for the attachment.
- Id *string `locationName:"id" type:"string"`
- // The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING,
- // ATTACHED, DETACHING, DETACHED, and DELETED.
- Status *string `locationName:"status" type:"string"`
- // The type of the attachment, such as ElasticNetworkInterface.
- Type *string `locationName:"type" type:"string"`
- }
- // String returns the string representation
- func (s Attachment) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Attachment) GoString() string {
- return s.String()
- }
- // SetDetails sets the Details field's value.
- func (s *Attachment) SetDetails(v []*KeyValuePair) *Attachment {
- s.Details = v
- return s
- }
- // SetId sets the Id field's value.
- func (s *Attachment) SetId(v string) *Attachment {
- s.Id = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *Attachment) SetStatus(v string) *Attachment {
- s.Status = &v
- return s
- }
- // SetType sets the Type field's value.
- func (s *Attachment) SetType(v string) *Attachment {
- s.Type = &v
- return s
- }
- // An object representing a change in state for a task attachment.
- type AttachmentStateChange struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the attachment.
- //
- // AttachmentArn is a required field
- AttachmentArn *string `locationName:"attachmentArn" type:"string" required:"true"`
- // The status of the attachment.
- //
- // Status is a required field
- Status *string `locationName:"status" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s AttachmentStateChange) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AttachmentStateChange) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *AttachmentStateChange) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AttachmentStateChange"}
- if s.AttachmentArn == nil {
- invalidParams.Add(request.NewErrParamRequired("AttachmentArn"))
- }
- if s.Status == nil {
- invalidParams.Add(request.NewErrParamRequired("Status"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttachmentArn sets the AttachmentArn field's value.
- func (s *AttachmentStateChange) SetAttachmentArn(v string) *AttachmentStateChange {
- s.AttachmentArn = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *AttachmentStateChange) SetStatus(v string) *AttachmentStateChange {
- s.Status = &v
- return s
- }
- // An attribute is a name-value pair associated with an Amazon ECS object. Attributes
- // enable you to extend the Amazon ECS data model by adding custom metadata
- // to your resources. For more information, see Attributes (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes)
- // in the Amazon Elastic Container Service Developer Guide.
- type Attribute struct {
- _ struct{} `type:"structure"`
- // The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers,
- // hyphens, underscores, and periods are allowed.
- //
- // Name is a required field
- Name *string `locationName:"name" type:"string" required:"true"`
- // The ID of the target. You can specify the short form ID for a resource or
- // the full Amazon Resource Name (ARN).
- TargetId *string `locationName:"targetId" type:"string"`
- // The type of the target with which to attach the attribute. This parameter
- // is required if you use the short form ID for a resource instead of the full
- // ARN.
- TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"`
- // The value of the attribute. Up to 128 letters (uppercase and lowercase),
- // numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons,
- // and spaces are allowed.
- Value *string `locationName:"value" type:"string"`
- }
- // String returns the string representation
- func (s Attribute) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Attribute) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Attribute) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Attribute"}
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetName sets the Name field's value.
- func (s *Attribute) SetName(v string) *Attribute {
- s.Name = &v
- return s
- }
- // SetTargetId sets the TargetId field's value.
- func (s *Attribute) SetTargetId(v string) *Attribute {
- s.TargetId = &v
- return s
- }
- // SetTargetType sets the TargetType field's value.
- func (s *Attribute) SetTargetType(v string) *Attribute {
- s.TargetType = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *Attribute) SetValue(v string) *Attribute {
- s.Value = &v
- return s
- }
- // An object representing the networking details for a task or service.
- type AwsVpcConfiguration struct {
- _ struct{} `type:"structure"`
- // Whether the task's elastic network interface receives a public IP address.
- // The default value is DISABLED.
- AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"`
- // The security groups associated with the task or service. If you do not specify
- // a security group, the default security group for the VPC is used. There is
- // a limit of five security groups able to be specified per AwsVpcConfiguration.
- //
- // All specified security groups must be from the same VPC.
- SecurityGroups []*string `locationName:"securityGroups" type:"list"`
- // The subnets associated with the task or service. There is a limit of 16 subnets
- // able to be specified per AwsVpcConfiguration.
- //
- // All specified subnets must be from the same VPC.
- //
- // Subnets is a required field
- Subnets []*string `locationName:"subnets" type:"list" required:"true"`
- }
- // String returns the string representation
- func (s AwsVpcConfiguration) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AwsVpcConfiguration) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *AwsVpcConfiguration) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AwsVpcConfiguration"}
- if s.Subnets == nil {
- invalidParams.Add(request.NewErrParamRequired("Subnets"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAssignPublicIp sets the AssignPublicIp field's value.
- func (s *AwsVpcConfiguration) SetAssignPublicIp(v string) *AwsVpcConfiguration {
- s.AssignPublicIp = &v
- return s
- }
- // SetSecurityGroups sets the SecurityGroups field's value.
- func (s *AwsVpcConfiguration) SetSecurityGroups(v []*string) *AwsVpcConfiguration {
- s.SecurityGroups = v
- return s
- }
- // SetSubnets sets the Subnets field's value.
- func (s *AwsVpcConfiguration) SetSubnets(v []*string) *AwsVpcConfiguration {
- s.Subnets = v
- return s
- }
- // A regional grouping of one or more container instances on which you can run
- // task requests. Each account receives a default cluster the first time you
- // use the Amazon ECS service, but you may also create other clusters. Clusters
- // may contain more than one instance type simultaneously.
- type Cluster struct {
- _ struct{} `type:"structure"`
- // The number of services that are running on the cluster in an ACTIVE state.
- // You can view these services with ListServices.
- ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"`
- // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains
- // the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS
- // account ID of the cluster owner, the cluster namespace, and then the cluster
- // name. For example, arn:aws:ecs:region:012345678910:cluster/test..
- ClusterArn *string `locationName:"clusterArn" type:"string"`
- // A user-generated string that you use to identify your cluster.
- ClusterName *string `locationName:"clusterName" type:"string"`
- // The number of tasks in the cluster that are in the PENDING state.
- PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"`
- // The number of container instances registered into the cluster. This includes
- // container instances in both ACTIVE and DRAINING status.
- RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"`
- // The number of tasks in the cluster that are in the RUNNING state.
- RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"`
- // Additional information about your clusters that are separated by launch type,
- // including:
- //
- // * runningEC2TasksCount
- //
- // * RunningFargateTasksCount
- //
- // * pendingEC2TasksCount
- //
- // * pendingFargateTasksCount
- //
- // * activeEC2ServiceCount
- //
- // * activeFargateServiceCount
- //
- // * drainingEC2ServiceCount
- //
- // * drainingFargateServiceCount
- Statistics []*KeyValuePair `locationName:"statistics" type:"list"`
- // The status of the cluster. The valid values are ACTIVE or INACTIVE. ACTIVE
- // indicates that you can register container instances with the cluster and
- // the associated instances can accept tasks.
- Status *string `locationName:"status" type:"string"`
- // The metadata that you apply to the cluster to help you categorize and organize
- // them. Each tag consists of a key and an optional value, both of which you
- // define. Tag keys can have a maximum character length of 128 characters, and
- // tag values can have a maximum length of 256 characters.
- Tags []*Tag `locationName:"tags" type:"list"`
- }
- // String returns the string representation
- func (s Cluster) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Cluster) GoString() string {
- return s.String()
- }
- // SetActiveServicesCount sets the ActiveServicesCount field's value.
- func (s *Cluster) SetActiveServicesCount(v int64) *Cluster {
- s.ActiveServicesCount = &v
- return s
- }
- // SetClusterArn sets the ClusterArn field's value.
- func (s *Cluster) SetClusterArn(v string) *Cluster {
- s.ClusterArn = &v
- return s
- }
- // SetClusterName sets the ClusterName field's value.
- func (s *Cluster) SetClusterName(v string) *Cluster {
- s.ClusterName = &v
- return s
- }
- // SetPendingTasksCount sets the PendingTasksCount field's value.
- func (s *Cluster) SetPendingTasksCount(v int64) *Cluster {
- s.PendingTasksCount = &v
- return s
- }
- // SetRegisteredContainerInstancesCount sets the RegisteredContainerInstancesCount field's value.
- func (s *Cluster) SetRegisteredContainerInstancesCount(v int64) *Cluster {
- s.RegisteredContainerInstancesCount = &v
- return s
- }
- // SetRunningTasksCount sets the RunningTasksCount field's value.
- func (s *Cluster) SetRunningTasksCount(v int64) *Cluster {
- s.RunningTasksCount = &v
- return s
- }
- // SetStatistics sets the Statistics field's value.
- func (s *Cluster) SetStatistics(v []*KeyValuePair) *Cluster {
- s.Statistics = v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *Cluster) SetStatus(v string) *Cluster {
- s.Status = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *Cluster) SetTags(v []*Tag) *Cluster {
- s.Tags = v
- return s
- }
- // A Docker container that is part of a task.
- type Container struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the container.
- ContainerArn *string `locationName:"containerArn" type:"string"`
- // The exit code returned from the container.
- ExitCode *int64 `locationName:"exitCode" type:"integer"`
- // The health status of the container. If health checks are not configured for
- // this container in its task definition, then it reports the health status
- // as UNKNOWN.
- HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"`
- // The last known status of the container.
- LastStatus *string `locationName:"lastStatus" type:"string"`
- // The name of the container.
- Name *string `locationName:"name" type:"string"`
- // The network bindings associated with the container.
- NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"`
- // The network interfaces associated with the container.
- NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"`
- // A short (255 max characters) human-readable string to provide additional
- // details about a running or stopped container.
- Reason *string `locationName:"reason" type:"string"`
- // The ARN of the task.
- TaskArn *string `locationName:"taskArn" type:"string"`
- }
- // String returns the string representation
- func (s Container) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Container) GoString() string {
- return s.String()
- }
- // SetContainerArn sets the ContainerArn field's value.
- func (s *Container) SetContainerArn(v string) *Container {
- s.ContainerArn = &v
- return s
- }
- // SetExitCode sets the ExitCode field's value.
- func (s *Container) SetExitCode(v int64) *Container {
- s.ExitCode = &v
- return s
- }
- // SetHealthStatus sets the HealthStatus field's value.
- func (s *Container) SetHealthStatus(v string) *Container {
- s.HealthStatus = &v
- return s
- }
- // SetLastStatus sets the LastStatus field's value.
- func (s *Container) SetLastStatus(v string) *Container {
- s.LastStatus = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *Container) SetName(v string) *Container {
- s.Name = &v
- return s
- }
- // SetNetworkBindings sets the NetworkBindings field's value.
- func (s *Container) SetNetworkBindings(v []*NetworkBinding) *Container {
- s.NetworkBindings = v
- return s
- }
- // SetNetworkInterfaces sets the NetworkInterfaces field's value.
- func (s *Container) SetNetworkInterfaces(v []*NetworkInterface) *Container {
- s.NetworkInterfaces = v
- return s
- }
- // SetReason sets the Reason field's value.
- func (s *Container) SetReason(v string) *Container {
- s.Reason = &v
- return s
- }
- // SetTaskArn sets the TaskArn field's value.
- func (s *Container) SetTaskArn(v string) *Container {
- s.TaskArn = &v
- return s
- }
- // Container definitions are used in task definitions to describe the different
- // containers that are launched as part of a task.
- type ContainerDefinition struct {
- _ struct{} `type:"structure"`
- // The command that is passed to the container. This parameter maps to Cmd in
- // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/).
- // For more information, see https://docs.docker.com/engine/reference/builder/#cmd
- // (https://docs.docker.com/engine/reference/builder/#cmd).
- Command []*string `locationName:"command" type:"list"`
- // The number of cpu units reserved for the container. This parameter maps to
- // CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // This field is optional for tasks using the Fargate launch type, and the only
- // requirement is that the total amount of CPU reserved for all containers within
- // a task be lower than the task-level cpu value.
- //
- // You can determine the number of CPU units that are available per EC2 instance
- // type by multiplying the vCPUs listed for that instance type on the Amazon
- // EC2 Instances (http://aws.amazon.com/ec2/instance-types/) detail page by
- // 1,024.
- //
- // For example, if you run a single-container task on a single-core instance
- // type with 512 CPU units specified for that container, and that is the only
- // task running on the container instance, that container could use the full
- // 1,024 CPU unit share at any given time. However, if you launched another
- // copy of the same task on that container instance, each task would be guaranteed
- // a minimum of 512 CPU units when needed, and each container could float to
- // higher CPU usage if the other container was not using it, but if both tasks
- // were 100% active all of the time, they would be limited to 512 CPU units.
- //
- // Linux containers share unallocated CPU units with other containers on the
- // container instance with the same ratio as their allocated amount. For example,
- // if you run a single-container task on a single-core instance type with 512
- // CPU units specified for that container, and that is the only task running
- // on the container instance, that container could use the full 1,024 CPU unit
- // share at any given time. However, if you launched another copy of the same
- // task on that container instance, each task would be guaranteed a minimum
- // of 512 CPU units when needed, and each container could float to higher CPU
- // usage if the other container was not using it, but if both tasks were 100%
- // active all of the time, they would be limited to 512 CPU units.
- //
- // On Linux container instances, the Docker daemon on the container instance
- // uses the CPU value to calculate the relative CPU share ratios for running
- // containers. For more information, see CPU share constraint (https://docs.docker.com/engine/reference/run/#cpu-share-constraint)
- // in the Docker documentation. The minimum valid CPU share value that the Linux
- // kernel allows is 2. However, the CPU parameter is not required, and you can
- // use CPU values below 2 in your container definitions. For CPU values below
- // 2 (including null), the behavior varies based on your Amazon ECS container
- // agent version:
- //
- // * Agent versions less than or equal to 1.1.0: Null and zero CPU values
- // are passed to Docker as 0, which Docker then converts to 1,024 CPU shares.
- // CPU values of 1 are passed to Docker as 1, which the Linux kernel converts
- // to two CPU shares.
- //
- // * Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values
- // of 1 are passed to Docker as 2.
- //
- // On Windows container instances, the CPU limit is enforced as an absolute
- // limit, or a quota. Windows containers only have access to the specified amount
- // of CPU that is described in the task definition.
- Cpu *int64 `locationName:"cpu" type:"integer"`
- // When this parameter is true, networking is disabled within the container.
- // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/).
- //
- // This parameter is not supported for Windows containers.
- DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"`
- // A list of DNS search domains that are presented to the container. This parameter
- // maps to DnsSearch in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --dns-search option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // This parameter is not supported for Windows containers.
- DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"`
- // A list of DNS servers that are presented to the container. This parameter
- // maps to Dns in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --dns option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // This parameter is not supported for Windows containers.
- DnsServers []*string `locationName:"dnsServers" type:"list"`
- // A key/value map of labels to add to the container. This parameter maps to
- // Labels in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --label option to docker run (https://docs.docker.com/engine/reference/run/).
- // This parameter requires version 1.18 of the Docker Remote API or greater
- // on your container instance. To check the Docker Remote API version on your
- // container instance, log in to your container instance and run the following
- // command: sudo docker version --format '{{.Server.APIVersion}}'
- DockerLabels map[string]*string `locationName:"dockerLabels" type:"map"`
- // A list of strings to provide custom labels for SELinux and AppArmor multi-level
- // security systems. This field is not valid for containers in tasks using the
- // Fargate launch type.
- //
- // This parameter maps to SecurityOpt in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --security-opt option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // The Amazon ECS container agent running on a container instance must register
- // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment
- // variables before containers placed on that instance can use these security
- // options. For more information, see Amazon ECS Container Agent Configuration
- // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // This parameter is not supported for Windows containers.
- DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"`
- // Early versions of the Amazon ECS container agent do not properly handle entryPoint
- // parameters. If you have problems using entryPoint, update your container
- // agent or enter your commands and arguments as command array items instead.
- //
- // The entry point that is passed to the container. This parameter maps to Entrypoint
- // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --entrypoint option to docker run (https://docs.docker.com/engine/reference/run/).
- // For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint
- // (https://docs.docker.com/engine/reference/builder/#entrypoint).
- EntryPoint []*string `locationName:"entryPoint" type:"list"`
- // The environment variables to pass to a container. This parameter maps to
- // Env in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --env option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // We do not recommend using plaintext environment variables for sensitive information,
- // such as credential data.
- Environment []*KeyValuePair `locationName:"environment" type:"list"`
- // If the essential parameter of a container is marked as true, and that container
- // fails or stops for any reason, all other containers that are part of the
- // task are stopped. If the essential parameter of a container is marked as
- // false, then its failure does not affect the rest of the containers in a task.
- // If this parameter is omitted, a container is assumed to be essential.
- //
- // All tasks must have at least one essential container. If you have an application
- // that is composed of multiple containers, you should group containers that
- // are used for a common purpose into components, and separate the different
- // components into multiple task definitions. For more information, see Application
- // Architecture (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html)
- // in the Amazon Elastic Container Service Developer Guide.
- Essential *bool `locationName:"essential" type:"boolean"`
- // A list of hostnames and IP address mappings to append to the /etc/hosts file
- // on the container. This parameter maps to ExtraHosts in the Create a container
- // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section
- // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and
- // the --add-host option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // This parameter is not supported for Windows containers or tasks that use
- // the awsvpc network mode.
- ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"`
- // The health check command and associated configuration parameters for the
- // container. This parameter maps to HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the HEALTHCHECK parameter of docker run (https://docs.docker.com/engine/reference/run/).
- HealthCheck *HealthCheck `locationName:"healthCheck" type:"structure"`
- // The hostname to use for your container. This parameter maps to Hostname in
- // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --hostname option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // The hostname parameter is not supported if you are using the awsvpc network
- // mode.
- Hostname *string `locationName:"hostname" type:"string"`
- // The image used to start a container. This string is passed directly to the
- // Docker daemon. Images in the Docker Hub registry are available by default.
- // Other repositories are specified with either repository-url/image:tag or
- // repository-url/image@digest. Up to 255 letters (uppercase and lowercase),
- // numbers, hyphens, underscores, colons, periods, forward slashes, and number
- // signs are allowed. This parameter maps to Image in the Create a container
- // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section
- // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and
- // the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/).
- //
- // * When a new task starts, the Amazon ECS container agent pulls the latest
- // version of the specified image and tag for the container to use. However,
- // subsequent updates to a repository image are not propagated to already
- // running tasks.
- //
- // * Images in Amazon ECR repositories can be specified by either using the
- // full registry/repository:tag or registry/repository@digest. For example,
- // 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest
- // or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.
- //
- //
- // * Images in official repositories on Docker Hub use a single name (for
- // example, ubuntu or mongo).
- //
- // * Images in other repositories on Docker Hub are qualified with an organization
- // name (for example, amazon/amazon-ecs-agent).
- //
- // * Images in other online repositories are qualified further by a domain
- // name (for example, quay.io/assemblyline/ubuntu).
- Image *string `locationName:"image" type:"string"`
- // When this parameter is true, this allows you to deploy containerized applications
- // that require stdin or a tty to be allocated. This parameter maps to OpenStdin
- // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --interactive option to docker run (https://docs.docker.com/engine/reference/run/).
- Interactive *bool `locationName:"interactive" type:"boolean"`
- // The link parameter allows containers to communicate with each other without
- // the need for port mappings. Only supported if the network mode of a task
- // definition is set to bridge. The name:internalName construct is analogous
- // to name:alias in Docker links. Up to 255 letters (uppercase and lowercase),
- // numbers, hyphens, and underscores are allowed. For more information about
- // linking Docker containers, go to https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/
- // (https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/).
- // This parameter maps to Links in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --link option to docker run (https://docs.docker.com/engine/reference/commandline/run/).
- //
- // This parameter is not supported for Windows containers.
- //
- // Containers that are collocated on a single container instance may be able
- // to communicate with each other without requiring links or host port mappings.
- // Network isolation is achieved on the container instance using security groups
- // and VPC settings.
- Links []*string `locationName:"links" type:"list"`
- // Linux-specific modifications that are applied to the container, such as Linux
- // KernelCapabilities.
- //
- // This parameter is not supported for Windows containers.
- LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"`
- // The log configuration specification for the container.
- //
- // If you are using the Fargate launch type, the only supported value is awslogs.
- //
- // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/).
- // By default, containers use the same logging driver that the Docker daemon
- // uses. However the container may use a different logging driver than the Docker
- // daemon by specifying a log driver with this parameter in the container definition.
- // To use a different logging driver for a container, the log system must be
- // configured properly on the container instance (or on a different log server
- // for remote logging options). For more information on the options for different
- // supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/)
- // in the Docker documentation.
- //
- // Amazon ECS currently supports a subset of the logging drivers available to
- // the Docker daemon (shown in the LogConfiguration data type). Additional log
- // drivers may be available in future releases of the Amazon ECS container agent.
- //
- // This parameter requires version 1.18 of the Docker Remote API or greater
- // on your container instance. To check the Docker Remote API version on your
- // container instance, log in to your container instance and run the following
- // command: sudo docker version --format '{{.Server.APIVersion}}'
- //
- // The Amazon ECS container agent running on a container instance must register
- // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS
- // environment variable before containers placed on that instance can use these
- // log configuration options. For more information, see Amazon ECS Container
- // Agent Configuration (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html)
- // in the Amazon Elastic Container Service Developer Guide.
- LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"`
- // The hard limit (in MiB) of memory to present to the container. If your container
- // attempts to exceed the memory specified here, the container is killed. This
- // parameter maps to Memory in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // If your containers are part of a task using the Fargate launch type, this
- // field is optional and the only requirement is that the total amount of memory
- // reserved for all containers within a task be lower than the task memory value.
- //
- // For containers that are part of a task using the EC2 launch type, you must
- // specify a non-zero integer for one or both of memory or memoryReservation
- // in container definitions. If you specify both, memory must be greater than
- // memoryReservation. If you specify memoryReservation, then that value is subtracted
- // from the available memory resources for the container instance on which the
- // container is placed. Otherwise, the value of memory is used.
- //
- // The Docker daemon reserves a minimum of 4 MiB of memory for a container,
- // so you should not specify fewer than 4 MiB of memory for your containers.
- Memory *int64 `locationName:"memory" type:"integer"`
- // The soft limit (in MiB) of memory to reserve for the container. When system
- // memory is under heavy contention, Docker attempts to keep the container memory
- // to this soft limit. However, your container can consume more memory when
- // it needs to, up to either the hard limit specified with the memory parameter
- // (if applicable), or all of the available memory on the container instance,
- // whichever comes first. This parameter maps to MemoryReservation in the Create
- // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --memory-reservation option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // You must specify a non-zero integer for one or both of memory or memoryReservation
- // in container definitions. If you specify both, memory must be greater than
- // memoryReservation. If you specify memoryReservation, then that value is subtracted
- // from the available memory resources for the container instance on which the
- // container is placed. Otherwise, the value of memory is used.
- //
- // For example, if your container normally uses 128 MiB of memory, but occasionally
- // bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation
- // of 128 MiB, and a memory hard limit of 300 MiB. This configuration would
- // allow the container to only reserve 128 MiB of memory from the remaining
- // resources on the container instance, but also allow the container to consume
- // more memory resources when needed.
- //
- // The Docker daemon reserves a minimum of 4 MiB of memory for a container,
- // so you should not specify fewer than 4 MiB of memory for your containers.
- MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"`
- // The mount points for data volumes in your container.
- //
- // This parameter maps to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // Windows containers can mount whole directories on the same drive as $env:ProgramData.
- // Windows containers cannot mount directories on a different drive, and mount
- // point cannot be across drives.
- MountPoints []*MountPoint `locationName:"mountPoints" type:"list"`
- // The name of a container. If you are linking multiple containers together
- // in a task definition, the name of one container can be entered in the links
- // of another container to connect the containers. Up to 255 letters (uppercase
- // and lowercase), numbers, hyphens, and underscores are allowed. This parameter
- // maps to name in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --name option to docker run (https://docs.docker.com/engine/reference/run/).
- Name *string `locationName:"name" type:"string"`
- // The list of port mappings for the container. Port mappings allow containers
- // to access ports on the host container instance to send or receive traffic.
- //
- // For task definitions that use the awsvpc network mode, you should only specify
- // the containerPort. The hostPort can be left blank or it must be the same
- // value as the containerPort.
- //
- // Port mappings on Windows use the NetNAT gateway address rather than localhost.
- // There is no loopback for port mappings on Windows, so you cannot access a
- // container's mapped port from the host itself.
- //
- // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --publish option to docker run (https://docs.docker.com/engine/reference/run/).
- // If the network mode of a task definition is set to none, then you can't specify
- // port mappings. If the network mode of a task definition is set to host, then
- // host ports must either be undefined or they must match the container port
- // in the port mapping.
- //
- // After a task reaches the RUNNING status, manual and automatic host and container
- // port assignments are visible in the Network Bindings section of a container
- // description for a selected task in the Amazon ECS console. The assignments
- // are also visible in the networkBindings section DescribeTasks responses.
- PortMappings []*PortMapping `locationName:"portMappings" type:"list"`
- // When this parameter is true, the container is given elevated privileges on
- // the host container instance (similar to the root user). This parameter maps
- // to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // This parameter is not supported for Windows containers or tasks using the
- // Fargate launch type.
- Privileged *bool `locationName:"privileged" type:"boolean"`
- // When this parameter is true, a TTY is allocated. This parameter maps to Tty
- // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --tty option to docker run (https://docs.docker.com/engine/reference/run/).
- PseudoTerminal *bool `locationName:"pseudoTerminal" type:"boolean"`
- // When this parameter is true, the container is given read-only access to its
- // root file system. This parameter maps to ReadonlyRootfs in the Create a container
- // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section
- // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and
- // the --read-only option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // This parameter is not supported for Windows containers.
- ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"`
- // The private repository authentication credentials to use.
- RepositoryCredentials *RepositoryCredentials `locationName:"repositoryCredentials" type:"structure"`
- // The secrets to pass to the container.
- Secrets []*Secret `locationName:"secrets" type:"list"`
- // A list of namespaced kernel parameters to set in the container. This parameter
- // maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // It is not recommended that you specify network-related systemControls parameters
- // for multiple containers in a single task that also uses either the awsvpc
- // or host network modes. For tasks that use the awsvpc network mode, the container
- // that is started last determines which systemControls parameters take effect.
- // For tasks that use the host network mode, it changes the container instance's
- // namespaced kernel parameters as well as the containers.
- SystemControls []*SystemControl `locationName:"systemControls" type:"list"`
- // A list of ulimits to set in the container. This parameter maps to Ulimits
- // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/).
- // Valid naming values are displayed in the Ulimit data type. This parameter
- // requires version 1.18 of the Docker Remote API or greater on your container
- // instance. To check the Docker Remote API version on your container instance,
- // log in to your container instance and run the following command: sudo docker
- // version --format '{{.Server.APIVersion}}'
- //
- // This parameter is not supported for Windows containers.
- Ulimits []*Ulimit `locationName:"ulimits" type:"list"`
- // The user name to use inside the container. This parameter maps to User in
- // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --user option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // This parameter is not supported for Windows containers.
- User *string `locationName:"user" type:"string"`
- // Data volumes to mount from another container. This parameter maps to VolumesFrom
- // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --volumes-from option to docker run (https://docs.docker.com/engine/reference/run/).
- VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"`
- // The working directory in which to run commands inside the container. This
- // parameter maps to WorkingDir in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --workdir option to docker run (https://docs.docker.com/engine/reference/run/).
- WorkingDirectory *string `locationName:"workingDirectory" type:"string"`
- }
- // String returns the string representation
- func (s ContainerDefinition) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ContainerDefinition) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ContainerDefinition) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ContainerDefinition"}
- if s.ExtraHosts != nil {
- for i, v := range s.ExtraHosts {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraHosts", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.HealthCheck != nil {
- if err := s.HealthCheck.Validate(); err != nil {
- invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams))
- }
- }
- if s.LinuxParameters != nil {
- if err := s.LinuxParameters.Validate(); err != nil {
- invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams))
- }
- }
- if s.LogConfiguration != nil {
- if err := s.LogConfiguration.Validate(); err != nil {
- invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams))
- }
- }
- if s.RepositoryCredentials != nil {
- if err := s.RepositoryCredentials.Validate(); err != nil {
- invalidParams.AddNested("RepositoryCredentials", err.(request.ErrInvalidParams))
- }
- }
- if s.Secrets != nil {
- for i, v := range s.Secrets {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Secrets", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.Ulimits != nil {
- for i, v := range s.Ulimits {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCommand sets the Command field's value.
- func (s *ContainerDefinition) SetCommand(v []*string) *ContainerDefinition {
- s.Command = v
- return s
- }
- // SetCpu sets the Cpu field's value.
- func (s *ContainerDefinition) SetCpu(v int64) *ContainerDefinition {
- s.Cpu = &v
- return s
- }
- // SetDisableNetworking sets the DisableNetworking field's value.
- func (s *ContainerDefinition) SetDisableNetworking(v bool) *ContainerDefinition {
- s.DisableNetworking = &v
- return s
- }
- // SetDnsSearchDomains sets the DnsSearchDomains field's value.
- func (s *ContainerDefinition) SetDnsSearchDomains(v []*string) *ContainerDefinition {
- s.DnsSearchDomains = v
- return s
- }
- // SetDnsServers sets the DnsServers field's value.
- func (s *ContainerDefinition) SetDnsServers(v []*string) *ContainerDefinition {
- s.DnsServers = v
- return s
- }
- // SetDockerLabels sets the DockerLabels field's value.
- func (s *ContainerDefinition) SetDockerLabels(v map[string]*string) *ContainerDefinition {
- s.DockerLabels = v
- return s
- }
- // SetDockerSecurityOptions sets the DockerSecurityOptions field's value.
- func (s *ContainerDefinition) SetDockerSecurityOptions(v []*string) *ContainerDefinition {
- s.DockerSecurityOptions = v
- return s
- }
- // SetEntryPoint sets the EntryPoint field's value.
- func (s *ContainerDefinition) SetEntryPoint(v []*string) *ContainerDefinition {
- s.EntryPoint = v
- return s
- }
- // SetEnvironment sets the Environment field's value.
- func (s *ContainerDefinition) SetEnvironment(v []*KeyValuePair) *ContainerDefinition {
- s.Environment = v
- return s
- }
- // SetEssential sets the Essential field's value.
- func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition {
- s.Essential = &v
- return s
- }
- // SetExtraHosts sets the ExtraHosts field's value.
- func (s *ContainerDefinition) SetExtraHosts(v []*HostEntry) *ContainerDefinition {
- s.ExtraHosts = v
- return s
- }
- // SetHealthCheck sets the HealthCheck field's value.
- func (s *ContainerDefinition) SetHealthCheck(v *HealthCheck) *ContainerDefinition {
- s.HealthCheck = v
- return s
- }
- // SetHostname sets the Hostname field's value.
- func (s *ContainerDefinition) SetHostname(v string) *ContainerDefinition {
- s.Hostname = &v
- return s
- }
- // SetImage sets the Image field's value.
- func (s *ContainerDefinition) SetImage(v string) *ContainerDefinition {
- s.Image = &v
- return s
- }
- // SetInteractive sets the Interactive field's value.
- func (s *ContainerDefinition) SetInteractive(v bool) *ContainerDefinition {
- s.Interactive = &v
- return s
- }
- // SetLinks sets the Links field's value.
- func (s *ContainerDefinition) SetLinks(v []*string) *ContainerDefinition {
- s.Links = v
- return s
- }
- // SetLinuxParameters sets the LinuxParameters field's value.
- func (s *ContainerDefinition) SetLinuxParameters(v *LinuxParameters) *ContainerDefinition {
- s.LinuxParameters = v
- return s
- }
- // SetLogConfiguration sets the LogConfiguration field's value.
- func (s *ContainerDefinition) SetLogConfiguration(v *LogConfiguration) *ContainerDefinition {
- s.LogConfiguration = v
- return s
- }
- // SetMemory sets the Memory field's value.
- func (s *ContainerDefinition) SetMemory(v int64) *ContainerDefinition {
- s.Memory = &v
- return s
- }
- // SetMemoryReservation sets the MemoryReservation field's value.
- func (s *ContainerDefinition) SetMemoryReservation(v int64) *ContainerDefinition {
- s.MemoryReservation = &v
- return s
- }
- // SetMountPoints sets the MountPoints field's value.
- func (s *ContainerDefinition) SetMountPoints(v []*MountPoint) *ContainerDefinition {
- s.MountPoints = v
- return s
- }
- // SetName sets the Name field's value.
- func (s *ContainerDefinition) SetName(v string) *ContainerDefinition {
- s.Name = &v
- return s
- }
- // SetPortMappings sets the PortMappings field's value.
- func (s *ContainerDefinition) SetPortMappings(v []*PortMapping) *ContainerDefinition {
- s.PortMappings = v
- return s
- }
- // SetPrivileged sets the Privileged field's value.
- func (s *ContainerDefinition) SetPrivileged(v bool) *ContainerDefinition {
- s.Privileged = &v
- return s
- }
- // SetPseudoTerminal sets the PseudoTerminal field's value.
- func (s *ContainerDefinition) SetPseudoTerminal(v bool) *ContainerDefinition {
- s.PseudoTerminal = &v
- return s
- }
- // SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value.
- func (s *ContainerDefinition) SetReadonlyRootFilesystem(v bool) *ContainerDefinition {
- s.ReadonlyRootFilesystem = &v
- return s
- }
- // SetRepositoryCredentials sets the RepositoryCredentials field's value.
- func (s *ContainerDefinition) SetRepositoryCredentials(v *RepositoryCredentials) *ContainerDefinition {
- s.RepositoryCredentials = v
- return s
- }
- // SetSecrets sets the Secrets field's value.
- func (s *ContainerDefinition) SetSecrets(v []*Secret) *ContainerDefinition {
- s.Secrets = v
- return s
- }
- // SetSystemControls sets the SystemControls field's value.
- func (s *ContainerDefinition) SetSystemControls(v []*SystemControl) *ContainerDefinition {
- s.SystemControls = v
- return s
- }
- // SetUlimits sets the Ulimits field's value.
- func (s *ContainerDefinition) SetUlimits(v []*Ulimit) *ContainerDefinition {
- s.Ulimits = v
- return s
- }
- // SetUser sets the User field's value.
- func (s *ContainerDefinition) SetUser(v string) *ContainerDefinition {
- s.User = &v
- return s
- }
- // SetVolumesFrom sets the VolumesFrom field's value.
- func (s *ContainerDefinition) SetVolumesFrom(v []*VolumeFrom) *ContainerDefinition {
- s.VolumesFrom = v
- return s
- }
- // SetWorkingDirectory sets the WorkingDirectory field's value.
- func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition {
- s.WorkingDirectory = &v
- return s
- }
- // An EC2 instance that is running the Amazon ECS agent and has been registered
- // with a cluster.
- type ContainerInstance struct {
- _ struct{} `type:"structure"`
- // This parameter returns true if the agent is connected to Amazon ECS. Registered
- // instances with an agent that may be unhealthy or stopped return false. Only
- // instances connected to an agent can accept placement requests.
- AgentConnected *bool `locationName:"agentConnected" type:"boolean"`
- // The status of the most recent agent update. If an update has never been requested,
- // this value is NULL.
- AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"`
- // The elastic network interfaces associated with the container instance.
- Attachments []*Attachment `locationName:"attachments" type:"list"`
- // The attributes set for the container instance, either by the Amazon ECS container
- // agent at instance registration or manually with the PutAttributes operation.
- Attributes []*Attribute `locationName:"attributes" type:"list"`
- // The Amazon Resource Name (ARN) of the container instance. The ARN contains
- // the arn:aws:ecs namespace, followed by the Region of the container instance,
- // the AWS account ID of the container instance owner, the container-instance
- // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.
- ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"`
- // The EC2 instance ID of the container instance.
- Ec2InstanceId *string `locationName:"ec2InstanceId" type:"string"`
- // The number of tasks on the container instance that are in the PENDING status.
- PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"`
- // The Unix timestamp for when the container instance was registered.
- RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp"`
- // For CPU and memory resource types, this parameter describes the amount of
- // each resource that was available on the container instance when the container
- // agent registered it with Amazon ECS. This value represents the total amount
- // of CPU and memory that can be allocated on this container instance to tasks.
- // For port resource types, this parameter describes the ports that were reserved
- // by the Amazon ECS container agent when it registered the container instance
- // with Amazon ECS.
- RegisteredResources []*Resource `locationName:"registeredResources" type:"list"`
- // For CPU and memory resource types, this parameter describes the remaining
- // CPU and memory that has not already been allocated to tasks and is therefore
- // available for new tasks. For port resource types, this parameter describes
- // the ports that were reserved by the Amazon ECS container agent (at instance
- // registration time) and any task containers that have reserved port mappings
- // on the host (with the host or bridge network mode). Any port that is not
- // specified here is available for new tasks.
- RemainingResources []*Resource `locationName:"remainingResources" type:"list"`
- // The number of tasks on the container instance that are in the RUNNING status.
- RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"`
- // The status of the container instance. The valid values are ACTIVE, INACTIVE,
- // or DRAINING. ACTIVE indicates that the container instance can accept tasks.
- // DRAINING indicates that new tasks are not placed on the container instance
- // and any service tasks running on the container instance are removed if possible.
- // For more information, see Container Instance Draining (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html)
- // in the Amazon Elastic Container Service Developer Guide.
- Status *string `locationName:"status" type:"string"`
- // The metadata that you apply to the container instance to help you categorize
- // and organize them. Each tag consists of a key and an optional value, both
- // of which you define. Tag keys can have a maximum character length of 128
- // characters, and tag values can have a maximum length of 256 characters.
- Tags []*Tag `locationName:"tags" type:"list"`
- // The version counter for the container instance. Every time a container instance
- // experiences a change that triggers a CloudWatch event, the version counter
- // is incremented. If you are replicating your Amazon ECS container instance
- // state with CloudWatch Events, you can compare the version of a container
- // instance reported by the Amazon ECS APIs with the version reported in CloudWatch
- // Events for the container instance (inside the detail object) to verify that
- // the version in your event stream is current.
- Version *int64 `locationName:"version" type:"long"`
- // The version information for the Amazon ECS container agent and Docker daemon
- // running on the container instance.
- VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"`
- }
- // String returns the string representation
- func (s ContainerInstance) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ContainerInstance) GoString() string {
- return s.String()
- }
- // SetAgentConnected sets the AgentConnected field's value.
- func (s *ContainerInstance) SetAgentConnected(v bool) *ContainerInstance {
- s.AgentConnected = &v
- return s
- }
- // SetAgentUpdateStatus sets the AgentUpdateStatus field's value.
- func (s *ContainerInstance) SetAgentUpdateStatus(v string) *ContainerInstance {
- s.AgentUpdateStatus = &v
- return s
- }
- // SetAttachments sets the Attachments field's value.
- func (s *ContainerInstance) SetAttachments(v []*Attachment) *ContainerInstance {
- s.Attachments = v
- return s
- }
- // SetAttributes sets the Attributes field's value.
- func (s *ContainerInstance) SetAttributes(v []*Attribute) *ContainerInstance {
- s.Attributes = v
- return s
- }
- // SetContainerInstanceArn sets the ContainerInstanceArn field's value.
- func (s *ContainerInstance) SetContainerInstanceArn(v string) *ContainerInstance {
- s.ContainerInstanceArn = &v
- return s
- }
- // SetEc2InstanceId sets the Ec2InstanceId field's value.
- func (s *ContainerInstance) SetEc2InstanceId(v string) *ContainerInstance {
- s.Ec2InstanceId = &v
- return s
- }
- // SetPendingTasksCount sets the PendingTasksCount field's value.
- func (s *ContainerInstance) SetPendingTasksCount(v int64) *ContainerInstance {
- s.PendingTasksCount = &v
- return s
- }
- // SetRegisteredAt sets the RegisteredAt field's value.
- func (s *ContainerInstance) SetRegisteredAt(v time.Time) *ContainerInstance {
- s.RegisteredAt = &v
- return s
- }
- // SetRegisteredResources sets the RegisteredResources field's value.
- func (s *ContainerInstance) SetRegisteredResources(v []*Resource) *ContainerInstance {
- s.RegisteredResources = v
- return s
- }
- // SetRemainingResources sets the RemainingResources field's value.
- func (s *ContainerInstance) SetRemainingResources(v []*Resource) *ContainerInstance {
- s.RemainingResources = v
- return s
- }
- // SetRunningTasksCount sets the RunningTasksCount field's value.
- func (s *ContainerInstance) SetRunningTasksCount(v int64) *ContainerInstance {
- s.RunningTasksCount = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *ContainerInstance) SetStatus(v string) *ContainerInstance {
- s.Status = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *ContainerInstance) SetTags(v []*Tag) *ContainerInstance {
- s.Tags = v
- return s
- }
- // SetVersion sets the Version field's value.
- func (s *ContainerInstance) SetVersion(v int64) *ContainerInstance {
- s.Version = &v
- return s
- }
- // SetVersionInfo sets the VersionInfo field's value.
- func (s *ContainerInstance) SetVersionInfo(v *VersionInfo) *ContainerInstance {
- s.VersionInfo = v
- return s
- }
- // The overrides that should be sent to a container.
- type ContainerOverride struct {
- _ struct{} `type:"structure"`
- // The command to send to the container that overrides the default command from
- // the Docker image or the task definition. You must also specify a container
- // name.
- Command []*string `locationName:"command" type:"list"`
- // The number of cpu units reserved for the container, instead of the default
- // value from the task definition. You must also specify a container name.
- Cpu *int64 `locationName:"cpu" type:"integer"`
- // The environment variables to send to the container. You can add new environment
- // variables, which are added to the container at launch, or you can override
- // the existing environment variables from the Docker image or the task definition.
- // You must also specify a container name.
- Environment []*KeyValuePair `locationName:"environment" type:"list"`
- // The hard limit (in MiB) of memory to present to the container, instead of
- // the default value from the task definition. If your container attempts to
- // exceed the memory specified here, the container is killed. You must also
- // specify a container name.
- Memory *int64 `locationName:"memory" type:"integer"`
- // The soft limit (in MiB) of memory to reserve for the container, instead of
- // the default value from the task definition. You must also specify a container
- // name.
- MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"`
- // The name of the container that receives the override. This parameter is required
- // if any override is specified.
- Name *string `locationName:"name" type:"string"`
- }
- // String returns the string representation
- func (s ContainerOverride) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ContainerOverride) GoString() string {
- return s.String()
- }
- // SetCommand sets the Command field's value.
- func (s *ContainerOverride) SetCommand(v []*string) *ContainerOverride {
- s.Command = v
- return s
- }
- // SetCpu sets the Cpu field's value.
- func (s *ContainerOverride) SetCpu(v int64) *ContainerOverride {
- s.Cpu = &v
- return s
- }
- // SetEnvironment sets the Environment field's value.
- func (s *ContainerOverride) SetEnvironment(v []*KeyValuePair) *ContainerOverride {
- s.Environment = v
- return s
- }
- // SetMemory sets the Memory field's value.
- func (s *ContainerOverride) SetMemory(v int64) *ContainerOverride {
- s.Memory = &v
- return s
- }
- // SetMemoryReservation sets the MemoryReservation field's value.
- func (s *ContainerOverride) SetMemoryReservation(v int64) *ContainerOverride {
- s.MemoryReservation = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *ContainerOverride) SetName(v string) *ContainerOverride {
- s.Name = &v
- return s
- }
- // An object representing a change in state for a container.
- type ContainerStateChange struct {
- _ struct{} `type:"structure"`
- // The name of the container.
- ContainerName *string `locationName:"containerName" type:"string"`
- // The exit code for the container, if the state change is a result of the container
- // exiting.
- ExitCode *int64 `locationName:"exitCode" type:"integer"`
- // Any network bindings associated with the container.
- NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"`
- // The reason for the state change.
- Reason *string `locationName:"reason" type:"string"`
- // The status of the container.
- Status *string `locationName:"status" type:"string"`
- }
- // String returns the string representation
- func (s ContainerStateChange) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ContainerStateChange) GoString() string {
- return s.String()
- }
- // SetContainerName sets the ContainerName field's value.
- func (s *ContainerStateChange) SetContainerName(v string) *ContainerStateChange {
- s.ContainerName = &v
- return s
- }
- // SetExitCode sets the ExitCode field's value.
- func (s *ContainerStateChange) SetExitCode(v int64) *ContainerStateChange {
- s.ExitCode = &v
- return s
- }
- // SetNetworkBindings sets the NetworkBindings field's value.
- func (s *ContainerStateChange) SetNetworkBindings(v []*NetworkBinding) *ContainerStateChange {
- s.NetworkBindings = v
- return s
- }
- // SetReason sets the Reason field's value.
- func (s *ContainerStateChange) SetReason(v string) *ContainerStateChange {
- s.Reason = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *ContainerStateChange) SetStatus(v string) *ContainerStateChange {
- s.Status = &v
- return s
- }
- type CreateClusterInput struct {
- _ struct{} `type:"structure"`
- // The name of your cluster. If you do not specify a name for your cluster,
- // you create a cluster named default. Up to 255 letters (uppercase and lowercase),
- // numbers, hyphens, and underscores are allowed.
- ClusterName *string `locationName:"clusterName" type:"string"`
- // The metadata that you apply to the cluster to help you categorize and organize
- // them. Each tag consists of a key and an optional value, both of which you
- // define. Tag keys can have a maximum character length of 128 characters, and
- // tag values can have a maximum length of 256 characters.
- Tags []*Tag `locationName:"tags" type:"list"`
- }
- // String returns the string representation
- func (s CreateClusterInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateClusterInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateClusterInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"}
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetClusterName sets the ClusterName field's value.
- func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput {
- s.ClusterName = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput {
- s.Tags = v
- return s
- }
- type CreateClusterOutput struct {
- _ struct{} `type:"structure"`
- // The full description of your new cluster.
- Cluster *Cluster `locationName:"cluster" type:"structure"`
- }
- // String returns the string representation
- func (s CreateClusterOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateClusterOutput) GoString() string {
- return s.String()
- }
- // SetCluster sets the Cluster field's value.
- func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput {
- s.Cluster = v
- return s
- }
- type CreateServiceInput struct {
- _ struct{} `type:"structure"`
- // Unique, case-sensitive identifier that you provide to ensure the idempotency
- // of the request. Up to 32 ASCII characters are allowed.
- ClientToken *string `locationName:"clientToken" type:"string"`
- // The short name or full Amazon Resource Name (ARN) of the cluster on which
- // to run your service. If you do not specify a cluster, the default cluster
- // is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // Optional deployment parameters that control how many tasks run during the
- // deployment and the ordering of stopping and starting tasks.
- DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"`
- // The deployment controller to use for the service.
- DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"`
- // The number of instantiations of the specified task definition to place and
- // keep running on your cluster.
- DesiredCount *int64 `locationName:"desiredCount" type:"integer"`
- // Specifies whether to enable Amazon ECS managed tags for the tasks within
- // the service. For more information, see Tagging Your Amazon ECS Resources
- // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html)
- // in the Amazon Elastic Container Service Developer Guide.
- EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"`
- // The period of time, in seconds, that the Amazon ECS service scheduler should
- // ignore unhealthy Elastic Load Balancing target health checks after a task
- // has first started. This is only valid if your service is configured to use
- // a load balancer. If your service's tasks take a while to start and respond
- // to Elastic Load Balancing health checks, you can specify a health check grace
- // period of up to 7,200 seconds. During that time, the ECS service scheduler
- // ignores health check status. This grace period can prevent the ECS service
- // scheduler from marking tasks as unhealthy and stopping them before they have
- // time to come up.
- HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"`
- // The launch type on which to run your service. For more information, see Amazon
- // ECS Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html)
- // in the Amazon Elastic Container Service Developer Guide.
- LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"`
- // A load balancer object representing the load balancer to use with your service.
- //
- // If the service is using the ECS deployment controller, you are limited to
- // one load balancer or target group.
- //
- // If the service is using the CODE_DEPLOY deployment controller, the service
- // is required to use either an Application Load Balancer or Network Load Balancer.
- // When creating an AWS CodeDeploy deployment group, you specify two target
- // groups (referred to as a targetGroupPair). During a deployment, AWS CodeDeploy
- // determines which task set in your service has the status PRIMARY and associates
- // one target group with it, and then associates the other target group with
- // the replacement task set. The load balancer can also have up to two listeners:
- // a required listener for production traffic and an optional listener that
- // allows you perform validation tests with Lambda functions before routing
- // production traffic to it.
- //
- // After you create a service using the ECS deployment controller, the load
- // balancer name or target group ARN, container name, and container port specified
- // in the service definition are immutable. If you are using the CODE_DEPLOY
- // deployment controller, these values can be changed when updating the service.
- //
- // For Classic Load Balancers, this object must contain the load balancer name,
- // the container name (as it appears in a container definition), and the container
- // port to access from the load balancer. When a task from this service is placed
- // on a container instance, the container instance is registered with the load
- // balancer specified here.
- //
- // For Application Load Balancers and Network Load Balancers, this object must
- // contain the load balancer target group ARN, the container name (as it appears
- // in a container definition), and the container port to access from the load
- // balancer. When a task from this service is placed on a container instance,
- // the container instance and port combination is registered as a target in
- // the target group specified here.
- //
- // Services with tasks that use the awsvpc network mode (for example, those
- // with the Fargate launch type) only support Application Load Balancers and
- // Network Load Balancers. Classic Load Balancers are not supported. Also, when
- // you create any target groups for these services, you must choose ip as the
- // target type, not instance, because tasks that use the awsvpc network mode
- // are associated with an elastic network interface, not an Amazon EC2 instance.
- LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
- // The network configuration for the service. This parameter is required for
- // task definitions that use the awsvpc network mode to receive their own elastic
- // network interface, and it is not supported for other network modes. For more
- // information, see Task Networking (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html)
- // in the Amazon Elastic Container Service Developer Guide.
- NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"`
- // An array of placement constraint objects to use for tasks in your service.
- // You can specify a maximum of 10 constraints per task (this limit includes
- // constraints in the task definition and those specified at runtime).
- PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"`
- // The placement strategy objects to use for tasks in your service. You can
- // specify a maximum of five strategy rules per service.
- PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"`
- // The platform version on which your tasks in the service are running. A platform
- // version is only specified for tasks using the Fargate launch type. If one
- // is not specified, the LATEST platform version is used by default. For more
- // information, see AWS Fargate Platform Versions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html)
- // in the Amazon Elastic Container Service Developer Guide.
- PlatformVersion *string `locationName:"platformVersion" type:"string"`
- // Specifies whether to propagate the tags from the task definition or the service
- // to the tasks. If no value is specified, the tags are not propagated. Tags
- // can only be propagated to the tasks within the service during service creation.
- // To add tags to a task after service creation, use the TagResource API action.
- PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"`
- // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon
- // ECS to make calls to your load balancer on your behalf. This parameter is
- // only permitted if you are using a load balancer with your service and your
- // task definition does not use the awsvpc network mode. If you specify the
- // role parameter, you must also specify a load balancer object with the loadBalancers
- // parameter.
- //
- // If your account has already created the Amazon ECS service-linked role, that
- // role is used by default for your service unless you specify a role here.
- // The service-linked role is required if your task definition uses the awsvpc
- // network mode, in which case you should not specify a role here. For more
- // information, see Using Service-Linked Roles for Amazon ECS (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // If your specified role has a path other than /, then you must either specify
- // the full role ARN (this is recommended) or prefix the role name with the
- // path. For example, if a role with the name bar has a path of /foo/ then you
- // would specify /foo/bar as the role name. For more information, see Friendly
- // Names and Paths (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names)
- // in the IAM User Guide.
- Role *string `locationName:"role" type:"string"`
- // The scheduling strategy to use for the service. For more information, see
- // Services (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).
- //
- // There are two service scheduler strategies available:
- //
- // * REPLICA-The replica scheduling strategy places and maintains the desired
- // number of tasks across your cluster. By default, the service scheduler
- // spreads tasks across Availability Zones. You can use task placement strategies
- // and constraints to customize task placement decisions. This scheduler
- // strategy is required if using the CODE_DEPLOY deployment controller.
- //
- // * DAEMON-The daemon scheduling strategy deploys exactly one task on each
- // active container instance that meets all of the task placement constraints
- // that you specify in your cluster. When you are using this strategy, there
- // is no need to specify a desired number of tasks, a task placement strategy,
- // or use Service Auto Scaling policies.
- //
- // Tasks using the Fargate launch type or the CODE_DEPLOY deploymenet controller
- // do not support the DAEMON scheduling strategy.
- SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"`
- // The name of your service. Up to 255 letters (uppercase and lowercase), numbers,
- // hyphens, and underscores are allowed. Service names must be unique within
- // a cluster, but you can have similarly named services in multiple clusters
- // within a Region or across multiple Regions.
- //
- // ServiceName is a required field
- ServiceName *string `locationName:"serviceName" type:"string" required:"true"`
- // The details of the service discovery registries to assign to this service.
- // For more information, see Service Discovery (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html).
- //
- // Service discovery is supported for Fargate tasks if you are using platform
- // version v1.1.0 or later. For more information, see AWS Fargate Platform Versions
- // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html).
- ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"`
- // The metadata that you apply to the service to help you categorize and organize
- // them. Each tag consists of a key and an optional value, both of which you
- // define. When a service is deleted, the tags are deleted as well. Tag keys
- // can have a maximum character length of 128 characters, and tag values can
- // have a maximum length of 256 characters.
- Tags []*Tag `locationName:"tags" type:"list"`
- // The family and revision (family:revision) or full ARN of the task definition
- // to run in your service. If a revision is not specified, the latest ACTIVE
- // revision is used.
- //
- // TaskDefinition is a required field
- TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s CreateServiceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateServiceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateServiceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"}
- if s.ServiceName == nil {
- invalidParams.Add(request.NewErrParamRequired("ServiceName"))
- }
- if s.TaskDefinition == nil {
- invalidParams.Add(request.NewErrParamRequired("TaskDefinition"))
- }
- if s.DeploymentController != nil {
- if err := s.DeploymentController.Validate(); err != nil {
- invalidParams.AddNested("DeploymentController", err.(request.ErrInvalidParams))
- }
- }
- if s.NetworkConfiguration != nil {
- if err := s.NetworkConfiguration.Validate(); err != nil {
- invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams))
- }
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetClientToken sets the ClientToken field's value.
- func (s *CreateServiceInput) SetClientToken(v string) *CreateServiceInput {
- s.ClientToken = &v
- return s
- }
- // SetCluster sets the Cluster field's value.
- func (s *CreateServiceInput) SetCluster(v string) *CreateServiceInput {
- s.Cluster = &v
- return s
- }
- // SetDeploymentConfiguration sets the DeploymentConfiguration field's value.
- func (s *CreateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *CreateServiceInput {
- s.DeploymentConfiguration = v
- return s
- }
- // SetDeploymentController sets the DeploymentController field's value.
- func (s *CreateServiceInput) SetDeploymentController(v *DeploymentController) *CreateServiceInput {
- s.DeploymentController = v
- return s
- }
- // SetDesiredCount sets the DesiredCount field's value.
- func (s *CreateServiceInput) SetDesiredCount(v int64) *CreateServiceInput {
- s.DesiredCount = &v
- return s
- }
- // SetEnableECSManagedTags sets the EnableECSManagedTags field's value.
- func (s *CreateServiceInput) SetEnableECSManagedTags(v bool) *CreateServiceInput {
- s.EnableECSManagedTags = &v
- return s
- }
- // SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value.
- func (s *CreateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *CreateServiceInput {
- s.HealthCheckGracePeriodSeconds = &v
- return s
- }
- // SetLaunchType sets the LaunchType field's value.
- func (s *CreateServiceInput) SetLaunchType(v string) *CreateServiceInput {
- s.LaunchType = &v
- return s
- }
- // SetLoadBalancers sets the LoadBalancers field's value.
- func (s *CreateServiceInput) SetLoadBalancers(v []*LoadBalancer) *CreateServiceInput {
- s.LoadBalancers = v
- return s
- }
- // SetNetworkConfiguration sets the NetworkConfiguration field's value.
- func (s *CreateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateServiceInput {
- s.NetworkConfiguration = v
- return s
- }
- // SetPlacementConstraints sets the PlacementConstraints field's value.
- func (s *CreateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *CreateServiceInput {
- s.PlacementConstraints = v
- return s
- }
- // SetPlacementStrategy sets the PlacementStrategy field's value.
- func (s *CreateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *CreateServiceInput {
- s.PlacementStrategy = v
- return s
- }
- // SetPlatformVersion sets the PlatformVersion field's value.
- func (s *CreateServiceInput) SetPlatformVersion(v string) *CreateServiceInput {
- s.PlatformVersion = &v
- return s
- }
- // SetPropagateTags sets the PropagateTags field's value.
- func (s *CreateServiceInput) SetPropagateTags(v string) *CreateServiceInput {
- s.PropagateTags = &v
- return s
- }
- // SetRole sets the Role field's value.
- func (s *CreateServiceInput) SetRole(v string) *CreateServiceInput {
- s.Role = &v
- return s
- }
- // SetSchedulingStrategy sets the SchedulingStrategy field's value.
- func (s *CreateServiceInput) SetSchedulingStrategy(v string) *CreateServiceInput {
- s.SchedulingStrategy = &v
- return s
- }
- // SetServiceName sets the ServiceName field's value.
- func (s *CreateServiceInput) SetServiceName(v string) *CreateServiceInput {
- s.ServiceName = &v
- return s
- }
- // SetServiceRegistries sets the ServiceRegistries field's value.
- func (s *CreateServiceInput) SetServiceRegistries(v []*ServiceRegistry) *CreateServiceInput {
- s.ServiceRegistries = v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *CreateServiceInput) SetTags(v []*Tag) *CreateServiceInput {
- s.Tags = v
- return s
- }
- // SetTaskDefinition sets the TaskDefinition field's value.
- func (s *CreateServiceInput) SetTaskDefinition(v string) *CreateServiceInput {
- s.TaskDefinition = &v
- return s
- }
- type CreateServiceOutput struct {
- _ struct{} `type:"structure"`
- // The full description of your service following the create call.
- //
- // If a service is using the ECS deployment controller, the deploymentController
- // and taskSets parameters will not be returned.
- //
- // If the service is using the CODE_DEPLOY deployment controller, the deploymentController,
- // taskSets and deployments parameters will be returned, however the deployments
- // parameter will be an empty list.
- Service *Service `locationName:"service" type:"structure"`
- }
- // String returns the string representation
- func (s CreateServiceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateServiceOutput) GoString() string {
- return s.String()
- }
- // SetService sets the Service field's value.
- func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput {
- s.Service = v
- return s
- }
- type DeleteAccountSettingInput struct {
- _ struct{} `type:"structure"`
- // The resource name for which to disable the new format. If serviceLongArnFormat
- // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat
- // is specified, the ARN and resource ID for your Amazon ECS tasks is affected.
- // If containerInstanceLongArnFormat is specified, the ARN and resource ID for
- // your Amazon ECS container instances is affected.
- //
- // Name is a required field
- Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"`
- // The ARN of the principal, which can be an IAM user, IAM role, or the root
- // user. If you specify the root user, it modifies the ARN and resource ID format
- // for all IAM users, IAM roles, and the root user of the account unless an
- // IAM user or role explicitly overrides these settings for themselves. If this
- // field is omitted, the setting are changed only for the authenticated user.
- PrincipalArn *string `locationName:"principalArn" type:"string"`
- }
- // String returns the string representation
- func (s DeleteAccountSettingInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteAccountSettingInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteAccountSettingInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteAccountSettingInput"}
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetName sets the Name field's value.
- func (s *DeleteAccountSettingInput) SetName(v string) *DeleteAccountSettingInput {
- s.Name = &v
- return s
- }
- // SetPrincipalArn sets the PrincipalArn field's value.
- func (s *DeleteAccountSettingInput) SetPrincipalArn(v string) *DeleteAccountSettingInput {
- s.PrincipalArn = &v
- return s
- }
- type DeleteAccountSettingOutput struct {
- _ struct{} `type:"structure"`
- // The account setting for the specified principal ARN.
- Setting *Setting `locationName:"setting" type:"structure"`
- }
- // String returns the string representation
- func (s DeleteAccountSettingOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteAccountSettingOutput) GoString() string {
- return s.String()
- }
- // SetSetting sets the Setting field's value.
- func (s *DeleteAccountSettingOutput) SetSetting(v *Setting) *DeleteAccountSettingOutput {
- s.Setting = v
- return s
- }
- type DeleteAttributesInput struct {
- _ struct{} `type:"structure"`
- // The attributes to delete from your resource. You can specify up to 10 attributes
- // per request. For custom attributes, specify the attribute name and target
- // ID, but do not specify the value. If you specify the target ID using the
- // short form, you must also specify the target type.
- //
- // Attributes is a required field
- Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that contains
- // the resource to delete attributes. If you do not specify a cluster, the default
- // cluster is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- }
- // String returns the string representation
- func (s DeleteAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteAttributesInput"}
- if s.Attributes == nil {
- invalidParams.Add(request.NewErrParamRequired("Attributes"))
- }
- if s.Attributes != nil {
- for i, v := range s.Attributes {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributes sets the Attributes field's value.
- func (s *DeleteAttributesInput) SetAttributes(v []*Attribute) *DeleteAttributesInput {
- s.Attributes = v
- return s
- }
- // SetCluster sets the Cluster field's value.
- func (s *DeleteAttributesInput) SetCluster(v string) *DeleteAttributesInput {
- s.Cluster = &v
- return s
- }
- type DeleteAttributesOutput struct {
- _ struct{} `type:"structure"`
- // A list of attribute objects that were successfully deleted from your resource.
- Attributes []*Attribute `locationName:"attributes" type:"list"`
- }
- // String returns the string representation
- func (s DeleteAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteAttributesOutput) GoString() string {
- return s.String()
- }
- // SetAttributes sets the Attributes field's value.
- func (s *DeleteAttributesOutput) SetAttributes(v []*Attribute) *DeleteAttributesOutput {
- s.Attributes = v
- return s
- }
- type DeleteClusterInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster to delete.
- //
- // Cluster is a required field
- Cluster *string `locationName:"cluster" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteClusterInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteClusterInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteClusterInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"}
- if s.Cluster == nil {
- invalidParams.Add(request.NewErrParamRequired("Cluster"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCluster sets the Cluster field's value.
- func (s *DeleteClusterInput) SetCluster(v string) *DeleteClusterInput {
- s.Cluster = &v
- return s
- }
- type DeleteClusterOutput struct {
- _ struct{} `type:"structure"`
- // The full description of the deleted cluster.
- Cluster *Cluster `locationName:"cluster" type:"structure"`
- }
- // String returns the string representation
- func (s DeleteClusterOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteClusterOutput) GoString() string {
- return s.String()
- }
- // SetCluster sets the Cluster field's value.
- func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput {
- s.Cluster = v
- return s
- }
- type DeleteServiceInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that hosts
- // the service to delete. If you do not specify a cluster, the default cluster
- // is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // If true, allows you to delete a service even if it has not been scaled down
- // to zero tasks. It is only necessary to use this if the service is using the
- // REPLICA scheduling strategy.
- Force *bool `locationName:"force" type:"boolean"`
- // The name of the service to delete.
- //
- // Service is a required field
- Service *string `locationName:"service" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteServiceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteServiceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteServiceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"}
- if s.Service == nil {
- invalidParams.Add(request.NewErrParamRequired("Service"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCluster sets the Cluster field's value.
- func (s *DeleteServiceInput) SetCluster(v string) *DeleteServiceInput {
- s.Cluster = &v
- return s
- }
- // SetForce sets the Force field's value.
- func (s *DeleteServiceInput) SetForce(v bool) *DeleteServiceInput {
- s.Force = &v
- return s
- }
- // SetService sets the Service field's value.
- func (s *DeleteServiceInput) SetService(v string) *DeleteServiceInput {
- s.Service = &v
- return s
- }
- type DeleteServiceOutput struct {
- _ struct{} `type:"structure"`
- // The full description of the deleted service.
- Service *Service `locationName:"service" type:"structure"`
- }
- // String returns the string representation
- func (s DeleteServiceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteServiceOutput) GoString() string {
- return s.String()
- }
- // SetService sets the Service field's value.
- func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput {
- s.Service = v
- return s
- }
- // The details of an Amazon ECS service deployment. This is used when a service
- // uses the CODE_DEPLOY deployment controller type.
- type Deployment struct {
- _ struct{} `type:"structure"`
- // The Unix timestamp for when the service deployment was created.
- CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
- // The most recent desired count of tasks that was specified for the service
- // to deploy or maintain.
- DesiredCount *int64 `locationName:"desiredCount" type:"integer"`
- // The ID of the deployment.
- Id *string `locationName:"id" type:"string"`
- // The launch type the tasks in the service are using. For more information,
- // see Amazon ECS Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html)
- // in the Amazon Elastic Container Service Developer Guide.
- LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"`
- // The VPC subnet and security group configuration for tasks that receive their
- // own elastic network interface by using the awsvpc networking mode.
- NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"`
- // The number of tasks in the deployment that are in the PENDING status.
- PendingCount *int64 `locationName:"pendingCount" type:"integer"`
- // The platform version on which your tasks in the service are running. A platform
- // version is only specified for tasks using the Fargate launch type. If one
- // is not specified, the LATEST platform version is used by default. For more
- // information, see AWS Fargate Platform Versions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html)
- // in the Amazon Elastic Container Service Developer Guide.
- PlatformVersion *string `locationName:"platformVersion" type:"string"`
- // The number of tasks in the deployment that are in the RUNNING status.
- RunningCount *int64 `locationName:"runningCount" type:"integer"`
- // The status of the deployment. The following describes each state:
- //
- // PRIMARYThe most recent deployment of a service.
- //
- // ACTIVEA service deployment that still has running tasks, but are in the process
- // of being replaced with a new PRIMARY deployment.
- //
- // INACTIVEA deployment that has been completely replaced.
- Status *string `locationName:"status" type:"string"`
- // The most recent task definition that was specified for the tasks in the service
- // to use.
- TaskDefinition *string `locationName:"taskDefinition" type:"string"`
- // The Unix timestamp for when the service deployment was last updated.
- UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"`
- }
- // String returns the string representation
- func (s Deployment) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Deployment) GoString() string {
- return s.String()
- }
- // SetCreatedAt sets the CreatedAt field's value.
- func (s *Deployment) SetCreatedAt(v time.Time) *Deployment {
- s.CreatedAt = &v
- return s
- }
- // SetDesiredCount sets the DesiredCount field's value.
- func (s *Deployment) SetDesiredCount(v int64) *Deployment {
- s.DesiredCount = &v
- return s
- }
- // SetId sets the Id field's value.
- func (s *Deployment) SetId(v string) *Deployment {
- s.Id = &v
- return s
- }
- // SetLaunchType sets the LaunchType field's value.
- func (s *Deployment) SetLaunchType(v string) *Deployment {
- s.LaunchType = &v
- return s
- }
- // SetNetworkConfiguration sets the NetworkConfiguration field's value.
- func (s *Deployment) SetNetworkConfiguration(v *NetworkConfiguration) *Deployment {
- s.NetworkConfiguration = v
- return s
- }
- // SetPendingCount sets the PendingCount field's value.
- func (s *Deployment) SetPendingCount(v int64) *Deployment {
- s.PendingCount = &v
- return s
- }
- // SetPlatformVersion sets the PlatformVersion field's value.
- func (s *Deployment) SetPlatformVersion(v string) *Deployment {
- s.PlatformVersion = &v
- return s
- }
- // SetRunningCount sets the RunningCount field's value.
- func (s *Deployment) SetRunningCount(v int64) *Deployment {
- s.RunningCount = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *Deployment) SetStatus(v string) *Deployment {
- s.Status = &v
- return s
- }
- // SetTaskDefinition sets the TaskDefinition field's value.
- func (s *Deployment) SetTaskDefinition(v string) *Deployment {
- s.TaskDefinition = &v
- return s
- }
- // SetUpdatedAt sets the UpdatedAt field's value.
- func (s *Deployment) SetUpdatedAt(v time.Time) *Deployment {
- s.UpdatedAt = &v
- return s
- }
- // Optional deployment parameters that control how many tasks run during the
- // deployment and the ordering of stopping and starting tasks.
- type DeploymentConfiguration struct {
- _ struct{} `type:"structure"`
- // If a service is using the rolling update (ECS) deployment type, the maximum
- // percent parameter represents an upper limit on the number of tasks in a service
- // that are allowed in the RUNNING or PENDING state during a deployment, as
- // a percentage of the desired number of tasks (rounded down to the nearest
- // integer), and while any container instances are in the DRAINING state if
- // the service contains tasks using the EC2 launch type. This parameter enables
- // you to define the deployment batch size. For example, if your service has
- // a desired number of four tasks and a maximum percent value of 200%, the scheduler
- // may start four new tasks before stopping the four older tasks (provided that
- // the cluster resources required to do this are available). The default value
- // for maximum percent is 200%.
- //
- // If a service is using the blue/green (CODE_DEPLOY) deployment type and tasks
- // that use the EC2 launch type, the maximum percent value is set to the default
- // value and is used to define the upper limit on the number of the tasks in
- // the service that remain in the RUNNING state while the container instances
- // are in the DRAINING state. If the tasks in the service use the Fargate launch
- // type, the maximum percent value is not used, although it is returned when
- // describing your service.
- MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"`
- // If a service is using the rolling update (ECS) deployment type, the minimum
- // healthy percent represents a lower limit on the number of tasks in a service
- // that must remain in the RUNNING state during a deployment, as a percentage
- // of the desired number of tasks (rounded up to the nearest integer), and while
- // any container instances are in the DRAINING state if the service contains
- // tasks using the EC2 launch type. This parameter enables you to deploy without
- // using additional cluster capacity. For example, if your service has a desired
- // number of four tasks and a minimum healthy percent of 50%, the scheduler
- // may stop two existing tasks to free up cluster capacity before starting two
- // new tasks. Tasks for services that do not use a load balancer are considered
- // healthy if they are in the RUNNING state; tasks for services that do use
- // a load balancer are considered healthy if they are in the RUNNING state and
- // they are reported as healthy by the load balancer. The default value for
- // minimum healthy percent is 100%.
- //
- // If a service is using the blue/green (CODE_DEPLOY) deployment type and tasks
- // that use the EC2 launch type, the minimum healthy percent value is set to
- // the default value and is used to define the lower limit on the number of
- // the tasks in the service that remain in the RUNNING state while the container
- // instances are in the DRAINING state. If the tasks in the service use the
- // Fargate launch type, the minimum healthy percent value is not used, although
- // it is returned when describing your service.
- MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"`
- }
- // String returns the string representation
- func (s DeploymentConfiguration) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeploymentConfiguration) GoString() string {
- return s.String()
- }
- // SetMaximumPercent sets the MaximumPercent field's value.
- func (s *DeploymentConfiguration) SetMaximumPercent(v int64) *DeploymentConfiguration {
- s.MaximumPercent = &v
- return s
- }
- // SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value.
- func (s *DeploymentConfiguration) SetMinimumHealthyPercent(v int64) *DeploymentConfiguration {
- s.MinimumHealthyPercent = &v
- return s
- }
- // The deployment controller to use for the service. For more information, see
- // Amazon ECS Deployment Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html)
- // in the Amazon Elastic Container Service Developer Guide.
- type DeploymentController struct {
- _ struct{} `type:"structure"`
- // The deployment controller type to use.
- //
- // There are two deployment controller types available:
- //
- // ECSThe rolling update (ECS) deployment type involves replacing the current
- // running version of the container with the latest version. The number of containers
- // Amazon ECS adds or removes from the service during a rolling update is controlled
- // by adjusting the minimum and maximum number of healthy tasks allowed during
- // a service deployment, as specified in the DeploymentConfiguration.
- //
- // CODE_DEPLOYThe blue/green (CODE_DEPLOY) deployment type uses the blue/green
- // deployment model powered by AWS CodeDeploy, which allows you to verify a
- // new deployment of a service before sending production traffic to it. For
- // more information, see Amazon ECS Deployment Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // Type is a required field
- Type *string `locationName:"type" type:"string" required:"true" enum:"DeploymentControllerType"`
- }
- // String returns the string representation
- func (s DeploymentController) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeploymentController) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeploymentController) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeploymentController"}
- if s.Type == nil {
- invalidParams.Add(request.NewErrParamRequired("Type"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetType sets the Type field's value.
- func (s *DeploymentController) SetType(v string) *DeploymentController {
- s.Type = &v
- return s
- }
- type DeregisterContainerInstanceInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that hosts
- // the container instance to deregister. If you do not specify a cluster, the
- // default cluster is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // The container instance ID or full ARN of the container instance to deregister.
- // The ARN contains the arn:aws:ecs namespace, followed by the Region of the
- // container instance, the AWS account ID of the container instance owner, the
- // container-instance namespace, and then the container instance ID. For example,
- // arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.
- //
- // ContainerInstance is a required field
- ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"`
- // Forces the deregistration of the container instance. If you have tasks running
- // on the container instance when you deregister it with the force option, these
- // tasks remain running until you terminate the instance or the tasks stop through
- // some other means, but they are orphaned (no longer monitored or accounted
- // for by Amazon ECS). If an orphaned task on your container instance is part
- // of an Amazon ECS service, then the service scheduler starts another copy
- // of that task, on a different container instance if possible.
- //
- // Any containers in orphaned service tasks that are registered with a Classic
- // Load Balancer or an Application Load Balancer target group are deregistered.
- // They begin connection draining according to the settings on the load balancer
- // or target group.
- Force *bool `locationName:"force" type:"boolean"`
- }
- // String returns the string representation
- func (s DeregisterContainerInstanceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeregisterContainerInstanceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeregisterContainerInstanceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeregisterContainerInstanceInput"}
- if s.ContainerInstance == nil {
- invalidParams.Add(request.NewErrParamRequired("ContainerInstance"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCluster sets the Cluster field's value.
- func (s *DeregisterContainerInstanceInput) SetCluster(v string) *DeregisterContainerInstanceInput {
- s.Cluster = &v
- return s
- }
- // SetContainerInstance sets the ContainerInstance field's value.
- func (s *DeregisterContainerInstanceInput) SetContainerInstance(v string) *DeregisterContainerInstanceInput {
- s.ContainerInstance = &v
- return s
- }
- // SetForce sets the Force field's value.
- func (s *DeregisterContainerInstanceInput) SetForce(v bool) *DeregisterContainerInstanceInput {
- s.Force = &v
- return s
- }
- type DeregisterContainerInstanceOutput struct {
- _ struct{} `type:"structure"`
- // The container instance that was deregistered.
- ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"`
- }
- // String returns the string representation
- func (s DeregisterContainerInstanceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeregisterContainerInstanceOutput) GoString() string {
- return s.String()
- }
- // SetContainerInstance sets the ContainerInstance field's value.
- func (s *DeregisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *DeregisterContainerInstanceOutput {
- s.ContainerInstance = v
- return s
- }
- type DeregisterTaskDefinitionInput struct {
- _ struct{} `type:"structure"`
- // The family and revision (family:revision) or full Amazon Resource Name (ARN)
- // of the task definition to deregister. You must specify a revision.
- //
- // TaskDefinition is a required field
- TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeregisterTaskDefinitionInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeregisterTaskDefinitionInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeregisterTaskDefinitionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskDefinitionInput"}
- if s.TaskDefinition == nil {
- invalidParams.Add(request.NewErrParamRequired("TaskDefinition"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetTaskDefinition sets the TaskDefinition field's value.
- func (s *DeregisterTaskDefinitionInput) SetTaskDefinition(v string) *DeregisterTaskDefinitionInput {
- s.TaskDefinition = &v
- return s
- }
- type DeregisterTaskDefinitionOutput struct {
- _ struct{} `type:"structure"`
- // The full description of the deregistered task.
- TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"`
- }
- // String returns the string representation
- func (s DeregisterTaskDefinitionOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeregisterTaskDefinitionOutput) GoString() string {
- return s.String()
- }
- // SetTaskDefinition sets the TaskDefinition field's value.
- func (s *DeregisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DeregisterTaskDefinitionOutput {
- s.TaskDefinition = v
- return s
- }
- type DescribeClustersInput struct {
- _ struct{} `type:"structure"`
- // A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN)
- // entries. If you do not specify a cluster, the default cluster is assumed.
- Clusters []*string `locationName:"clusters" type:"list"`
- // Additional information about your clusters to be separated by launch type,
- // including:
- //
- // * runningEC2TasksCount
- //
- // * runningFargateTasksCount
- //
- // * pendingEC2TasksCount
- //
- // * pendingFargateTasksCount
- //
- // * activeEC2ServiceCount
- //
- // * activeFargateServiceCount
- //
- // * drainingEC2ServiceCount
- //
- // * drainingFargateServiceCount
- Include []*string `locationName:"include" type:"list"`
- }
- // String returns the string representation
- func (s DescribeClustersInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeClustersInput) GoString() string {
- return s.String()
- }
- // SetClusters sets the Clusters field's value.
- func (s *DescribeClustersInput) SetClusters(v []*string) *DescribeClustersInput {
- s.Clusters = v
- return s
- }
- // SetInclude sets the Include field's value.
- func (s *DescribeClustersInput) SetInclude(v []*string) *DescribeClustersInput {
- s.Include = v
- return s
- }
- type DescribeClustersOutput struct {
- _ struct{} `type:"structure"`
- // The list of clusters.
- Clusters []*Cluster `locationName:"clusters" type:"list"`
- // Any failures associated with the call.
- Failures []*Failure `locationName:"failures" type:"list"`
- }
- // String returns the string representation
- func (s DescribeClustersOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeClustersOutput) GoString() string {
- return s.String()
- }
- // SetClusters sets the Clusters field's value.
- func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput {
- s.Clusters = v
- return s
- }
- // SetFailures sets the Failures field's value.
- func (s *DescribeClustersOutput) SetFailures(v []*Failure) *DescribeClustersOutput {
- s.Failures = v
- return s
- }
- type DescribeContainerInstancesInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that hosts
- // the container instances to describe. If you do not specify a cluster, the
- // default cluster is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // A list of up to 100 container instance IDs or full Amazon Resource Name (ARN)
- // entries.
- //
- // ContainerInstances is a required field
- ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"`
- // Specifies whether you want to see the resource tags for the container instance.
- // If TAGS is specified, the tags are included in the response. If this field
- // is omitted, tags are not included in the response.
- Include []*string `locationName:"include" type:"list"`
- }
- // String returns the string representation
- func (s DescribeContainerInstancesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeContainerInstancesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeContainerInstancesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeContainerInstancesInput"}
- if s.ContainerInstances == nil {
- invalidParams.Add(request.NewErrParamRequired("ContainerInstances"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCluster sets the Cluster field's value.
- func (s *DescribeContainerInstancesInput) SetCluster(v string) *DescribeContainerInstancesInput {
- s.Cluster = &v
- return s
- }
- // SetContainerInstances sets the ContainerInstances field's value.
- func (s *DescribeContainerInstancesInput) SetContainerInstances(v []*string) *DescribeContainerInstancesInput {
- s.ContainerInstances = v
- return s
- }
- // SetInclude sets the Include field's value.
- func (s *DescribeContainerInstancesInput) SetInclude(v []*string) *DescribeContainerInstancesInput {
- s.Include = v
- return s
- }
- type DescribeContainerInstancesOutput struct {
- _ struct{} `type:"structure"`
- // The list of container instances.
- ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"`
- // Any failures associated with the call.
- Failures []*Failure `locationName:"failures" type:"list"`
- }
- // String returns the string representation
- func (s DescribeContainerInstancesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeContainerInstancesOutput) GoString() string {
- return s.String()
- }
- // SetContainerInstances sets the ContainerInstances field's value.
- func (s *DescribeContainerInstancesOutput) SetContainerInstances(v []*ContainerInstance) *DescribeContainerInstancesOutput {
- s.ContainerInstances = v
- return s
- }
- // SetFailures sets the Failures field's value.
- func (s *DescribeContainerInstancesOutput) SetFailures(v []*Failure) *DescribeContainerInstancesOutput {
- s.Failures = v
- return s
- }
- type DescribeServicesInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN)the cluster that hosts the
- // service to describe. If you do not specify a cluster, the default cluster
- // is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // Specifies whether you want to see the resource tags for the service. If TAGS
- // is specified, the tags are included in the response. If this field is omitted,
- // tags are not included in the response.
- Include []*string `locationName:"include" type:"list"`
- // A list of services to describe. You may specify up to 10 services to describe
- // in a single operation.
- //
- // Services is a required field
- Services []*string `locationName:"services" type:"list" required:"true"`
- }
- // String returns the string representation
- func (s DescribeServicesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeServicesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeServicesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeServicesInput"}
- if s.Services == nil {
- invalidParams.Add(request.NewErrParamRequired("Services"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCluster sets the Cluster field's value.
- func (s *DescribeServicesInput) SetCluster(v string) *DescribeServicesInput {
- s.Cluster = &v
- return s
- }
- // SetInclude sets the Include field's value.
- func (s *DescribeServicesInput) SetInclude(v []*string) *DescribeServicesInput {
- s.Include = v
- return s
- }
- // SetServices sets the Services field's value.
- func (s *DescribeServicesInput) SetServices(v []*string) *DescribeServicesInput {
- s.Services = v
- return s
- }
- type DescribeServicesOutput struct {
- _ struct{} `type:"structure"`
- // Any failures associated with the call.
- Failures []*Failure `locationName:"failures" type:"list"`
- // The list of services described.
- Services []*Service `locationName:"services" type:"list"`
- }
- // String returns the string representation
- func (s DescribeServicesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeServicesOutput) GoString() string {
- return s.String()
- }
- // SetFailures sets the Failures field's value.
- func (s *DescribeServicesOutput) SetFailures(v []*Failure) *DescribeServicesOutput {
- s.Failures = v
- return s
- }
- // SetServices sets the Services field's value.
- func (s *DescribeServicesOutput) SetServices(v []*Service) *DescribeServicesOutput {
- s.Services = v
- return s
- }
- type DescribeTaskDefinitionInput struct {
- _ struct{} `type:"structure"`
- // Specifies whether to see the resource tags for the task definition. If TAGS
- // is specified, the tags are included in the response. If this field is omitted,
- // tags are not included in the response.
- Include []*string `locationName:"include" type:"list"`
- // The family for the latest ACTIVE revision, family and revision (family:revision)
- // for a specific revision in the family, or full Amazon Resource Name (ARN)
- // of the task definition to describe.
- //
- // TaskDefinition is a required field
- TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DescribeTaskDefinitionInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTaskDefinitionInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeTaskDefinitionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeTaskDefinitionInput"}
- if s.TaskDefinition == nil {
- invalidParams.Add(request.NewErrParamRequired("TaskDefinition"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetInclude sets the Include field's value.
- func (s *DescribeTaskDefinitionInput) SetInclude(v []*string) *DescribeTaskDefinitionInput {
- s.Include = v
- return s
- }
- // SetTaskDefinition sets the TaskDefinition field's value.
- func (s *DescribeTaskDefinitionInput) SetTaskDefinition(v string) *DescribeTaskDefinitionInput {
- s.TaskDefinition = &v
- return s
- }
- type DescribeTaskDefinitionOutput struct {
- _ struct{} `type:"structure"`
- // The metadata that is applied to the task definition to help you categorize
- // and organize them. Each tag consists of a key and an optional value, both
- // of which you define. Tag keys can have a maximum character length of 128
- // characters, and tag values can have a maximum length of 256 characters.
- Tags []*Tag `locationName:"tags" type:"list"`
- // The full task definition description.
- TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"`
- }
- // String returns the string representation
- func (s DescribeTaskDefinitionOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTaskDefinitionOutput) GoString() string {
- return s.String()
- }
- // SetTags sets the Tags field's value.
- func (s *DescribeTaskDefinitionOutput) SetTags(v []*Tag) *DescribeTaskDefinitionOutput {
- s.Tags = v
- return s
- }
- // SetTaskDefinition sets the TaskDefinition field's value.
- func (s *DescribeTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DescribeTaskDefinitionOutput {
- s.TaskDefinition = v
- return s
- }
- type DescribeTasksInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that hosts
- // the task to describe. If you do not specify a cluster, the default cluster
- // is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // Specifies whether you want to see the resource tags for the task. If TAGS
- // is specified, the tags are included in the response. If this field is omitted,
- // tags are not included in the response.
- Include []*string `locationName:"include" type:"list"`
- // A list of up to 100 task IDs or full ARN entries.
- //
- // Tasks is a required field
- Tasks []*string `locationName:"tasks" type:"list" required:"true"`
- }
- // String returns the string representation
- func (s DescribeTasksInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTasksInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeTasksInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeTasksInput"}
- if s.Tasks == nil {
- invalidParams.Add(request.NewErrParamRequired("Tasks"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCluster sets the Cluster field's value.
- func (s *DescribeTasksInput) SetCluster(v string) *DescribeTasksInput {
- s.Cluster = &v
- return s
- }
- // SetInclude sets the Include field's value.
- func (s *DescribeTasksInput) SetInclude(v []*string) *DescribeTasksInput {
- s.Include = v
- return s
- }
- // SetTasks sets the Tasks field's value.
- func (s *DescribeTasksInput) SetTasks(v []*string) *DescribeTasksInput {
- s.Tasks = v
- return s
- }
- type DescribeTasksOutput struct {
- _ struct{} `type:"structure"`
- // Any failures associated with the call.
- Failures []*Failure `locationName:"failures" type:"list"`
- // The list of tasks.
- Tasks []*Task `locationName:"tasks" type:"list"`
- }
- // String returns the string representation
- func (s DescribeTasksOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTasksOutput) GoString() string {
- return s.String()
- }
- // SetFailures sets the Failures field's value.
- func (s *DescribeTasksOutput) SetFailures(v []*Failure) *DescribeTasksOutput {
- s.Failures = v
- return s
- }
- // SetTasks sets the Tasks field's value.
- func (s *DescribeTasksOutput) SetTasks(v []*Task) *DescribeTasksOutput {
- s.Tasks = v
- return s
- }
- // An object representing a container instance host device.
- type Device struct {
- _ struct{} `type:"structure"`
- // The path inside the container at which to expose the host device.
- ContainerPath *string `locationName:"containerPath" type:"string"`
- // The path for the device on the host container instance.
- //
- // HostPath is a required field
- HostPath *string `locationName:"hostPath" type:"string" required:"true"`
- // The explicit permissions to provide to the container for the device. By default,
- // the container has permissions for read, write, and mknod for the device.
- Permissions []*string `locationName:"permissions" type:"list"`
- }
- // String returns the string representation
- func (s Device) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Device) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Device) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Device"}
- if s.HostPath == nil {
- invalidParams.Add(request.NewErrParamRequired("HostPath"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetContainerPath sets the ContainerPath field's value.
- func (s *Device) SetContainerPath(v string) *Device {
- s.ContainerPath = &v
- return s
- }
- // SetHostPath sets the HostPath field's value.
- func (s *Device) SetHostPath(v string) *Device {
- s.HostPath = &v
- return s
- }
- // SetPermissions sets the Permissions field's value.
- func (s *Device) SetPermissions(v []*string) *Device {
- s.Permissions = v
- return s
- }
- type DiscoverPollEndpointInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster to which
- // the container instance belongs.
- Cluster *string `locationName:"cluster" type:"string"`
- // The container instance ID or full ARN of the container instance. The ARN
- // contains the arn:aws:ecs namespace, followed by the Region of the container
- // instance, the AWS account ID of the container instance owner, the container-instance
- // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.
- ContainerInstance *string `locationName:"containerInstance" type:"string"`
- }
- // String returns the string representation
- func (s DiscoverPollEndpointInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DiscoverPollEndpointInput) GoString() string {
- return s.String()
- }
- // SetCluster sets the Cluster field's value.
- func (s *DiscoverPollEndpointInput) SetCluster(v string) *DiscoverPollEndpointInput {
- s.Cluster = &v
- return s
- }
- // SetContainerInstance sets the ContainerInstance field's value.
- func (s *DiscoverPollEndpointInput) SetContainerInstance(v string) *DiscoverPollEndpointInput {
- s.ContainerInstance = &v
- return s
- }
- type DiscoverPollEndpointOutput struct {
- _ struct{} `type:"structure"`
- // The endpoint for the Amazon ECS agent to poll.
- Endpoint *string `locationName:"endpoint" type:"string"`
- // The telemetry endpoint for the Amazon ECS agent.
- TelemetryEndpoint *string `locationName:"telemetryEndpoint" type:"string"`
- }
- // String returns the string representation
- func (s DiscoverPollEndpointOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DiscoverPollEndpointOutput) GoString() string {
- return s.String()
- }
- // SetEndpoint sets the Endpoint field's value.
- func (s *DiscoverPollEndpointOutput) SetEndpoint(v string) *DiscoverPollEndpointOutput {
- s.Endpoint = &v
- return s
- }
- // SetTelemetryEndpoint sets the TelemetryEndpoint field's value.
- func (s *DiscoverPollEndpointOutput) SetTelemetryEndpoint(v string) *DiscoverPollEndpointOutput {
- s.TelemetryEndpoint = &v
- return s
- }
- // This parameter is specified when you are using Docker volumes. Docker volumes
- // are only supported when you are using the EC2 launch type. Windows containers
- // only support the use of the local driver. To use bind mounts, specify a host
- // instead.
- type DockerVolumeConfiguration struct {
- _ struct{} `type:"structure"`
- // If this value is true, the Docker volume is created if it does not already
- // exist.
- //
- // This field is only used if the scope is shared.
- Autoprovision *bool `locationName:"autoprovision" type:"boolean"`
- // The Docker volume driver to use. The driver value must match the driver name
- // provided by Docker because it is used for task placement. If the driver was
- // installed using the Docker plugin CLI, use docker plugin ls to retrieve the
- // driver name from your container instance. If the driver was installed using
- // another method, use Docker plugin discovery to retrieve the driver name.
- // For more information, see Docker plugin discovery (https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery).
- // This parameter maps to Driver in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the xxdriver option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/).
- Driver *string `locationName:"driver" type:"string"`
- // A map of Docker driver-specific options passed through. This parameter maps
- // to DriverOpts in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the xxopt option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/).
- DriverOpts map[string]*string `locationName:"driverOpts" type:"map"`
- // Custom metadata to add to your Docker volume. This parameter maps to Labels
- // in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the xxlabel option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/).
- Labels map[string]*string `locationName:"labels" type:"map"`
- // The scope for the Docker volume that determines its lifecycle. Docker volumes
- // that are scoped to a task are automatically provisioned when the task starts
- // and destroyed when the task stops. Docker volumes that are scoped as shared
- // persist after the task stops.
- Scope *string `locationName:"scope" type:"string" enum:"Scope"`
- }
- // String returns the string representation
- func (s DockerVolumeConfiguration) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DockerVolumeConfiguration) GoString() string {
- return s.String()
- }
- // SetAutoprovision sets the Autoprovision field's value.
- func (s *DockerVolumeConfiguration) SetAutoprovision(v bool) *DockerVolumeConfiguration {
- s.Autoprovision = &v
- return s
- }
- // SetDriver sets the Driver field's value.
- func (s *DockerVolumeConfiguration) SetDriver(v string) *DockerVolumeConfiguration {
- s.Driver = &v
- return s
- }
- // SetDriverOpts sets the DriverOpts field's value.
- func (s *DockerVolumeConfiguration) SetDriverOpts(v map[string]*string) *DockerVolumeConfiguration {
- s.DriverOpts = v
- return s
- }
- // SetLabels sets the Labels field's value.
- func (s *DockerVolumeConfiguration) SetLabels(v map[string]*string) *DockerVolumeConfiguration {
- s.Labels = v
- return s
- }
- // SetScope sets the Scope field's value.
- func (s *DockerVolumeConfiguration) SetScope(v string) *DockerVolumeConfiguration {
- s.Scope = &v
- return s
- }
- // A failed resource.
- type Failure struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the failed resource.
- Arn *string `locationName:"arn" type:"string"`
- // The reason for the failure.
- Reason *string `locationName:"reason" type:"string"`
- }
- // String returns the string representation
- func (s Failure) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Failure) GoString() string {
- return s.String()
- }
- // SetArn sets the Arn field's value.
- func (s *Failure) SetArn(v string) *Failure {
- s.Arn = &v
- return s
- }
- // SetReason sets the Reason field's value.
- func (s *Failure) SetReason(v string) *Failure {
- s.Reason = &v
- return s
- }
- // An object representing a container health check. Health check parameters
- // that are specified in a container definition override any Docker health checks
- // that exist in the container image (such as those specified in a parent image
- // or from the image's Dockerfile).
- //
- // The following are notes about container health check support:
- //
- // * Container health checks require version 1.17.0 or greater of the Amazon
- // ECS container agent. For more information, see Updating the Amazon ECS
- // Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html).
- //
- // * Container health checks are supported for Fargate tasks if you are using
- // platform version 1.1.0 or greater. For more information, see AWS Fargate
- // Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html).
- //
- // * Container health checks are not supported for tasks that are part of
- // a service that is configured to use a Classic Load Balancer.
- type HealthCheck struct {
- _ struct{} `type:"structure"`
- // A string array representing the command that the container runs to determine
- // if it is healthy. The string array must start with CMD to execute the command
- // arguments directly, or CMD-SHELL to run the command with the container's
- // default shell. For example:
- //
- // [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]
- //
- // An exit code of 0 indicates success, and non-zero exit code indicates failure.
- // For more information, see HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/).
- //
- // Command is a required field
- Command []*string `locationName:"command" type:"list" required:"true"`
- // The time period in seconds between each health check execution. You may specify
- // between 5 and 300 seconds. The default value is 30 seconds.
- Interval *int64 `locationName:"interval" type:"integer"`
- // The number of times to retry a failed health check before the container is
- // considered unhealthy. You may specify between 1 and 10 retries. The default
- // value is 3.
- Retries *int64 `locationName:"retries" type:"integer"`
- // The optional grace period within which to provide containers time to bootstrap
- // before failed health checks count towards the maximum number of retries.
- // You may specify between 0 and 300 seconds. The startPeriod is disabled by
- // default.
- //
- // If a health check succeeds within the startPeriod, then the container is
- // considered healthy and any subsequent failures count toward the maximum number
- // of retries.
- StartPeriod *int64 `locationName:"startPeriod" type:"integer"`
- // The time period in seconds to wait for a health check to succeed before it
- // is considered a failure. You may specify between 2 and 60 seconds. The default
- // value is 5.
- Timeout *int64 `locationName:"timeout" type:"integer"`
- }
- // String returns the string representation
- func (s HealthCheck) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s HealthCheck) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *HealthCheck) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "HealthCheck"}
- if s.Command == nil {
- invalidParams.Add(request.NewErrParamRequired("Command"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCommand sets the Command field's value.
- func (s *HealthCheck) SetCommand(v []*string) *HealthCheck {
- s.Command = v
- return s
- }
- // SetInterval sets the Interval field's value.
- func (s *HealthCheck) SetInterval(v int64) *HealthCheck {
- s.Interval = &v
- return s
- }
- // SetRetries sets the Retries field's value.
- func (s *HealthCheck) SetRetries(v int64) *HealthCheck {
- s.Retries = &v
- return s
- }
- // SetStartPeriod sets the StartPeriod field's value.
- func (s *HealthCheck) SetStartPeriod(v int64) *HealthCheck {
- s.StartPeriod = &v
- return s
- }
- // SetTimeout sets the Timeout field's value.
- func (s *HealthCheck) SetTimeout(v int64) *HealthCheck {
- s.Timeout = &v
- return s
- }
- // Hostnames and IP address entries that are added to the /etc/hosts file of
- // a container via the extraHosts parameter of its ContainerDefinition.
- type HostEntry struct {
- _ struct{} `type:"structure"`
- // The hostname to use in the /etc/hosts entry.
- //
- // Hostname is a required field
- Hostname *string `locationName:"hostname" type:"string" required:"true"`
- // The IP address to use in the /etc/hosts entry.
- //
- // IpAddress is a required field
- IpAddress *string `locationName:"ipAddress" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s HostEntry) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s HostEntry) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *HostEntry) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "HostEntry"}
- if s.Hostname == nil {
- invalidParams.Add(request.NewErrParamRequired("Hostname"))
- }
- if s.IpAddress == nil {
- invalidParams.Add(request.NewErrParamRequired("IpAddress"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetHostname sets the Hostname field's value.
- func (s *HostEntry) SetHostname(v string) *HostEntry {
- s.Hostname = &v
- return s
- }
- // SetIpAddress sets the IpAddress field's value.
- func (s *HostEntry) SetIpAddress(v string) *HostEntry {
- s.IpAddress = &v
- return s
- }
- // Details on a container instance bind mount host volume.
- type HostVolumeProperties struct {
- _ struct{} `type:"structure"`
- // When the host parameter is used, specify a sourcePath to declare the path
- // on the host container instance that is presented to the container. If this
- // parameter is empty, then the Docker daemon has assigned a host path for you.
- // If the host parameter contains a sourcePath file location, then the data
- // volume persists at the specified location on the host container instance
- // until you delete it manually. If the sourcePath value does not exist on the
- // host container instance, the Docker daemon creates it. If the location does
- // exist, the contents of the source path folder are exported.
- //
- // If you are using the Fargate launch type, the sourcePath parameter is not
- // supported.
- SourcePath *string `locationName:"sourcePath" type:"string"`
- }
- // String returns the string representation
- func (s HostVolumeProperties) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s HostVolumeProperties) GoString() string {
- return s.String()
- }
- // SetSourcePath sets the SourcePath field's value.
- func (s *HostVolumeProperties) SetSourcePath(v string) *HostVolumeProperties {
- s.SourcePath = &v
- return s
- }
- // The Linux capabilities for the container that are added to or dropped from
- // the default configuration provided by Docker. For more information on the
- // default capabilities and the non-default available capabilities, see Runtime
- // privilege and Linux capabilities (https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities)
- // in the Docker run reference. For more detailed information on these Linux
- // capabilities, see the capabilities(7) (http://man7.org/linux/man-pages/man7/capabilities.7.html)
- // Linux manual page.
- type KernelCapabilities struct {
- _ struct{} `type:"structure"`
- // The Linux capabilities for the container that have been added to the default
- // configuration provided by Docker. This parameter maps to CapAdd in the Create
- // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --cap-add option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // If you are using tasks that use the Fargate launch type, the add parameter
- // is not supported.
- //
- // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" |
- // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK"
- // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE"
- // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW"
- // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT"
- // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" |
- // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" |
- // "WAKE_ALARM"
- Add []*string `locationName:"add" type:"list"`
- // The Linux capabilities for the container that have been removed from the
- // default configuration provided by Docker. This parameter maps to CapDrop
- // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --cap-drop option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" |
- // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK"
- // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE"
- // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW"
- // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT"
- // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" |
- // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" |
- // "WAKE_ALARM"
- Drop []*string `locationName:"drop" type:"list"`
- }
- // String returns the string representation
- func (s KernelCapabilities) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s KernelCapabilities) GoString() string {
- return s.String()
- }
- // SetAdd sets the Add field's value.
- func (s *KernelCapabilities) SetAdd(v []*string) *KernelCapabilities {
- s.Add = v
- return s
- }
- // SetDrop sets the Drop field's value.
- func (s *KernelCapabilities) SetDrop(v []*string) *KernelCapabilities {
- s.Drop = v
- return s
- }
- // A key-value pair object.
- type KeyValuePair struct {
- _ struct{} `type:"structure"`
- // The name of the key-value pair. For environment variables, this is the name
- // of the environment variable.
- Name *string `locationName:"name" type:"string"`
- // The value of the key-value pair. For environment variables, this is the value
- // of the environment variable.
- Value *string `locationName:"value" type:"string"`
- }
- // String returns the string representation
- func (s KeyValuePair) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s KeyValuePair) GoString() string {
- return s.String()
- }
- // SetName sets the Name field's value.
- func (s *KeyValuePair) SetName(v string) *KeyValuePair {
- s.Name = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *KeyValuePair) SetValue(v string) *KeyValuePair {
- s.Value = &v
- return s
- }
- // Linux-specific options that are applied to the container, such as Linux KernelCapabilities.
- type LinuxParameters struct {
- _ struct{} `type:"structure"`
- // The Linux capabilities for the container that are added to or dropped from
- // the default configuration provided by Docker.
- //
- // If you are using tasks that use the Fargate launch type, capabilities is
- // supported but the add parameter is not supported.
- Capabilities *KernelCapabilities `locationName:"capabilities" type:"structure"`
- // Any host devices to expose to the container. This parameter maps to Devices
- // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --device option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // If you are using tasks that use the Fargate launch type, the devices parameter
- // is not supported.
- Devices []*Device `locationName:"devices" type:"list"`
- // Run an init process inside the container that forwards signals and reaps
- // processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/).
- // This parameter requires version 1.25 of the Docker Remote API or greater
- // on your container instance. To check the Docker Remote API version on your
- // container instance, log in to your container instance and run the following
- // command: sudo docker version --format '{{.Server.APIVersion}}'
- InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"`
- // The value for the size (in MiB) of the /dev/shm volume. This parameter maps
- // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // If you are using tasks that use the Fargate launch type, the sharedMemorySize
- // parameter is not supported.
- SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"`
- // The container path, mount options, and size (in MiB) of the tmpfs mount.
- // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // If you are using tasks that use the Fargate launch type, the tmpfs parameter
- // is not supported.
- Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"`
- }
- // String returns the string representation
- func (s LinuxParameters) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s LinuxParameters) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *LinuxParameters) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"}
- if s.Devices != nil {
- for i, v := range s.Devices {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.Tmpfs != nil {
- for i, v := range s.Tmpfs {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tmpfs", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCapabilities sets the Capabilities field's value.
- func (s *LinuxParameters) SetCapabilities(v *KernelCapabilities) *LinuxParameters {
- s.Capabilities = v
- return s
- }
- // SetDevices sets the Devices field's value.
- func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters {
- s.Devices = v
- return s
- }
- // SetInitProcessEnabled sets the InitProcessEnabled field's value.
- func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters {
- s.InitProcessEnabled = &v
- return s
- }
- // SetSharedMemorySize sets the SharedMemorySize field's value.
- func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters {
- s.SharedMemorySize = &v
- return s
- }
- // SetTmpfs sets the Tmpfs field's value.
- func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters {
- s.Tmpfs = v
- return s
- }
- type ListAccountSettingsInput struct {
- _ struct{} `type:"structure"`
- // Specifies whether to return the effective settings. If true, the account
- // settings for the root user or the default setting for the principalArn. If
- // false, the account settings for the principalArn are returned if they are
- // set. Otherwise, no account settings are returned.
- EffectiveSettings *bool `locationName:"effectiveSettings" type:"boolean"`
- // The maximum number of account setting results returned by ListAccountSettings
- // in paginated output. When this parameter is used, ListAccountSettings only
- // returns maxResults results in a single page along with a nextToken response
- // element. The remaining results of the initial request can be seen by sending
- // another ListAccountSettings request with the returned nextToken value. This
- // value can be between 1 and 10. If this parameter is not used, then ListAccountSettings
- // returns up to 10 results and a nextToken value if applicable.
- MaxResults *int64 `locationName:"maxResults" type:"integer"`
- // The resource name you want to list the account settings for.
- Name *string `locationName:"name" type:"string" enum:"SettingName"`
- // The nextToken value returned from a previous paginated ListAccountSettings
- // request where maxResults was used and the results exceeded the value of that
- // parameter. Pagination continues from the end of the previous results that
- // returned the nextToken value.
- //
- // This token should be treated as an opaque identifier that is only used to
- // retrieve the next items in a list and not for other programmatic purposes.
- NextToken *string `locationName:"nextToken" type:"string"`
- // The ARN of the principal, which can be an IAM user, IAM role, or the root
- // user. If this field is omitted, the account settings are listed only for
- // the authenticated user.
- PrincipalArn *string `locationName:"principalArn" type:"string"`
- // The value of the account settings with which to filter results. You must
- // also specify an account setting name to use this parameter.
- Value *string `locationName:"value" type:"string"`
- }
- // String returns the string representation
- func (s ListAccountSettingsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListAccountSettingsInput) GoString() string {
- return s.String()
- }
- // SetEffectiveSettings sets the EffectiveSettings field's value.
- func (s *ListAccountSettingsInput) SetEffectiveSettings(v bool) *ListAccountSettingsInput {
- s.EffectiveSettings = &v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListAccountSettingsInput) SetMaxResults(v int64) *ListAccountSettingsInput {
- s.MaxResults = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *ListAccountSettingsInput) SetName(v string) *ListAccountSettingsInput {
- s.Name = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListAccountSettingsInput) SetNextToken(v string) *ListAccountSettingsInput {
- s.NextToken = &v
- return s
- }
- // SetPrincipalArn sets the PrincipalArn field's value.
- func (s *ListAccountSettingsInput) SetPrincipalArn(v string) *ListAccountSettingsInput {
- s.PrincipalArn = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *ListAccountSettingsInput) SetValue(v string) *ListAccountSettingsInput {
- s.Value = &v
- return s
- }
- type ListAccountSettingsOutput struct {
- _ struct{} `type:"structure"`
- // The nextToken value to include in a future ListAccountSettings request. When
- // the results of a ListAccountSettings request exceed maxResults, this value
- // can be used to retrieve the next page of results. This value is null when
- // there are no more results to return.
- NextToken *string `locationName:"nextToken" type:"string"`
- // The account settings for the resource.
- Settings []*Setting `locationName:"settings" type:"list"`
- }
- // String returns the string representation
- func (s ListAccountSettingsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListAccountSettingsOutput) GoString() string {
- return s.String()
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListAccountSettingsOutput) SetNextToken(v string) *ListAccountSettingsOutput {
- s.NextToken = &v
- return s
- }
- // SetSettings sets the Settings field's value.
- func (s *ListAccountSettingsOutput) SetSettings(v []*Setting) *ListAccountSettingsOutput {
- s.Settings = v
- return s
- }
- type ListAttributesInput struct {
- _ struct{} `type:"structure"`
- // The name of the attribute with which to filter the results.
- AttributeName *string `locationName:"attributeName" type:"string"`
- // The value of the attribute with which to filter results. You must also specify
- // an attribute name to use this parameter.
- AttributeValue *string `locationName:"attributeValue" type:"string"`
- // The short name or full Amazon Resource Name (ARN) of the cluster to list
- // attributes. If you do not specify a cluster, the default cluster is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // The maximum number of cluster results returned by ListAttributes in paginated
- // output. When this parameter is used, ListAttributes only returns maxResults
- // results in a single page along with a nextToken response element. The remaining
- // results of the initial request can be seen by sending another ListAttributes
- // request with the returned nextToken value. This value can be between 1 and
- // 100. If this parameter is not used, then ListAttributes returns up to 100
- // results and a nextToken value if applicable.
- MaxResults *int64 `locationName:"maxResults" type:"integer"`
- // The nextToken value returned from a previous paginated ListAttributes request
- // where maxResults was used and the results exceeded the value of that parameter.
- // Pagination continues from the end of the previous results that returned the
- // nextToken value.
- //
- // This token should be treated as an opaque identifier that is only used to
- // retrieve the next items in a list and not for other programmatic purposes.
- NextToken *string `locationName:"nextToken" type:"string"`
- // The type of the target with which to list attributes.
- //
- // TargetType is a required field
- TargetType *string `locationName:"targetType" type:"string" required:"true" enum:"TargetType"`
- }
- // String returns the string representation
- func (s ListAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListAttributesInput"}
- if s.TargetType == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetType"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributeName sets the AttributeName field's value.
- func (s *ListAttributesInput) SetAttributeName(v string) *ListAttributesInput {
- s.AttributeName = &v
- return s
- }
- // SetAttributeValue sets the AttributeValue field's value.
- func (s *ListAttributesInput) SetAttributeValue(v string) *ListAttributesInput {
- s.AttributeValue = &v
- return s
- }
- // SetCluster sets the Cluster field's value.
- func (s *ListAttributesInput) SetCluster(v string) *ListAttributesInput {
- s.Cluster = &v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListAttributesInput) SetMaxResults(v int64) *ListAttributesInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListAttributesInput) SetNextToken(v string) *ListAttributesInput {
- s.NextToken = &v
- return s
- }
- // SetTargetType sets the TargetType field's value.
- func (s *ListAttributesInput) SetTargetType(v string) *ListAttributesInput {
- s.TargetType = &v
- return s
- }
- type ListAttributesOutput struct {
- _ struct{} `type:"structure"`
- // A list of attribute objects that meet the criteria of the request.
- Attributes []*Attribute `locationName:"attributes" type:"list"`
- // The nextToken value to include in a future ListAttributes request. When the
- // results of a ListAttributes request exceed maxResults, this value can be
- // used to retrieve the next page of results. This value is null when there
- // are no more results to return.
- NextToken *string `locationName:"nextToken" type:"string"`
- }
- // String returns the string representation
- func (s ListAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListAttributesOutput) GoString() string {
- return s.String()
- }
- // SetAttributes sets the Attributes field's value.
- func (s *ListAttributesOutput) SetAttributes(v []*Attribute) *ListAttributesOutput {
- s.Attributes = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListAttributesOutput) SetNextToken(v string) *ListAttributesOutput {
- s.NextToken = &v
- return s
- }
- type ListClustersInput struct {
- _ struct{} `type:"structure"`
- // The maximum number of cluster results returned by ListClusters in paginated
- // output. When this parameter is used, ListClusters only returns maxResults
- // results in a single page along with a nextToken response element. The remaining
- // results of the initial request can be seen by sending another ListClusters
- // request with the returned nextToken value. This value can be between 1 and
- // 100. If this parameter is not used, then ListClusters returns up to 100 results
- // and a nextToken value if applicable.
- MaxResults *int64 `locationName:"maxResults" type:"integer"`
- // The nextToken value returned from a previous paginated ListClusters request
- // where maxResults was used and the results exceeded the value of that parameter.
- // Pagination continues from the end of the previous results that returned the
- // nextToken value.
- //
- // This token should be treated as an opaque identifier that is only used to
- // retrieve the next items in a list and not for other programmatic purposes.
- NextToken *string `locationName:"nextToken" type:"string"`
- }
- // String returns the string representation
- func (s ListClustersInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListClustersInput) GoString() string {
- return s.String()
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput {
- s.NextToken = &v
- return s
- }
- type ListClustersOutput struct {
- _ struct{} `type:"structure"`
- // The list of full Amazon Resource Name (ARN) entries for each cluster associated
- // with your account.
- ClusterArns []*string `locationName:"clusterArns" type:"list"`
- // The nextToken value to include in a future ListClusters request. When the
- // results of a ListClusters request exceed maxResults, this value can be used
- // to retrieve the next page of results. This value is null when there are no
- // more results to return.
- NextToken *string `locationName:"nextToken" type:"string"`
- }
- // String returns the string representation
- func (s ListClustersOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListClustersOutput) GoString() string {
- return s.String()
- }
- // SetClusterArns sets the ClusterArns field's value.
- func (s *ListClustersOutput) SetClusterArns(v []*string) *ListClustersOutput {
- s.ClusterArns = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput {
- s.NextToken = &v
- return s
- }
- type ListContainerInstancesInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that hosts
- // the container instances to list. If you do not specify a cluster, the default
- // cluster is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // You can filter the results of a ListContainerInstances operation with cluster
- // query language statements. For more information, see Cluster Query Language
- // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html)
- // in the Amazon Elastic Container Service Developer Guide.
- Filter *string `locationName:"filter" type:"string"`
- // The maximum number of container instance results returned by ListContainerInstances
- // in paginated output. When this parameter is used, ListContainerInstances
- // only returns maxResults results in a single page along with a nextToken response
- // element. The remaining results of the initial request can be seen by sending
- // another ListContainerInstances request with the returned nextToken value.
- // This value can be between 1 and 100. If this parameter is not used, then
- // ListContainerInstances returns up to 100 results and a nextToken value if
- // applicable.
- MaxResults *int64 `locationName:"maxResults" type:"integer"`
- // The nextToken value returned from a previous paginated ListContainerInstances
- // request where maxResults was used and the results exceeded the value of that
- // parameter. Pagination continues from the end of the previous results that
- // returned the nextToken value.
- //
- // This token should be treated as an opaque identifier that is only used to
- // retrieve the next items in a list and not for other programmatic purposes.
- NextToken *string `locationName:"nextToken" type:"string"`
- // Filters the container instances by status. For example, if you specify the
- // DRAINING status, the results include only container instances that have been
- // set to DRAINING using UpdateContainerInstancesState. If you do not specify
- // this parameter, the default is to include container instances set to ACTIVE
- // and DRAINING.
- Status *string `locationName:"status" type:"string" enum:"ContainerInstanceStatus"`
- }
- // String returns the string representation
- func (s ListContainerInstancesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListContainerInstancesInput) GoString() string {
- return s.String()
- }
- // SetCluster sets the Cluster field's value.
- func (s *ListContainerInstancesInput) SetCluster(v string) *ListContainerInstancesInput {
- s.Cluster = &v
- return s
- }
- // SetFilter sets the Filter field's value.
- func (s *ListContainerInstancesInput) SetFilter(v string) *ListContainerInstancesInput {
- s.Filter = &v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListContainerInstancesInput) SetMaxResults(v int64) *ListContainerInstancesInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListContainerInstancesInput) SetNextToken(v string) *ListContainerInstancesInput {
- s.NextToken = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *ListContainerInstancesInput) SetStatus(v string) *ListContainerInstancesInput {
- s.Status = &v
- return s
- }
- type ListContainerInstancesOutput struct {
- _ struct{} `type:"structure"`
- // The list of container instances with full ARN entries for each container
- // instance associated with the specified cluster.
- ContainerInstanceArns []*string `locationName:"containerInstanceArns" type:"list"`
- // The nextToken value to include in a future ListContainerInstances request.
- // When the results of a ListContainerInstances request exceed maxResults, this
- // value can be used to retrieve the next page of results. This value is null
- // when there are no more results to return.
- NextToken *string `locationName:"nextToken" type:"string"`
- }
- // String returns the string representation
- func (s ListContainerInstancesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListContainerInstancesOutput) GoString() string {
- return s.String()
- }
- // SetContainerInstanceArns sets the ContainerInstanceArns field's value.
- func (s *ListContainerInstancesOutput) SetContainerInstanceArns(v []*string) *ListContainerInstancesOutput {
- s.ContainerInstanceArns = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListContainerInstancesOutput) SetNextToken(v string) *ListContainerInstancesOutput {
- s.NextToken = &v
- return s
- }
- type ListServicesInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that hosts
- // the services to list. If you do not specify a cluster, the default cluster
- // is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // The launch type for the services to list.
- LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"`
- // The maximum number of service results returned by ListServices in paginated
- // output. When this parameter is used, ListServices only returns maxResults
- // results in a single page along with a nextToken response element. The remaining
- // results of the initial request can be seen by sending another ListServices
- // request with the returned nextToken value. This value can be between 1 and
- // 100. If this parameter is not used, then ListServices returns up to 10 results
- // and a nextToken value if applicable.
- MaxResults *int64 `locationName:"maxResults" type:"integer"`
- // The nextToken value returned from a previous paginated ListServices request
- // where maxResults was used and the results exceeded the value of that parameter.
- // Pagination continues from the end of the previous results that returned the
- // nextToken value.
- //
- // This token should be treated as an opaque identifier that is only used to
- // retrieve the next items in a list and not for other programmatic purposes.
- NextToken *string `locationName:"nextToken" type:"string"`
- // The scheduling strategy for services to list.
- SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"`
- }
- // String returns the string representation
- func (s ListServicesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListServicesInput) GoString() string {
- return s.String()
- }
- // SetCluster sets the Cluster field's value.
- func (s *ListServicesInput) SetCluster(v string) *ListServicesInput {
- s.Cluster = &v
- return s
- }
- // SetLaunchType sets the LaunchType field's value.
- func (s *ListServicesInput) SetLaunchType(v string) *ListServicesInput {
- s.LaunchType = &v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListServicesInput) SetMaxResults(v int64) *ListServicesInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListServicesInput) SetNextToken(v string) *ListServicesInput {
- s.NextToken = &v
- return s
- }
- // SetSchedulingStrategy sets the SchedulingStrategy field's value.
- func (s *ListServicesInput) SetSchedulingStrategy(v string) *ListServicesInput {
- s.SchedulingStrategy = &v
- return s
- }
- type ListServicesOutput struct {
- _ struct{} `type:"structure"`
- // The nextToken value to include in a future ListServices request. When the
- // results of a ListServices request exceed maxResults, this value can be used
- // to retrieve the next page of results. This value is null when there are no
- // more results to return.
- NextToken *string `locationName:"nextToken" type:"string"`
- // The list of full ARN entries for each service associated with the specified
- // cluster.
- ServiceArns []*string `locationName:"serviceArns" type:"list"`
- }
- // String returns the string representation
- func (s ListServicesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListServicesOutput) GoString() string {
- return s.String()
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListServicesOutput) SetNextToken(v string) *ListServicesOutput {
- s.NextToken = &v
- return s
- }
- // SetServiceArns sets the ServiceArns field's value.
- func (s *ListServicesOutput) SetServiceArns(v []*string) *ListServicesOutput {
- s.ServiceArns = v
- return s
- }
- type ListTagsForResourceInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) that identifies the resource for which to
- // list the tags. Currently, the supported resources are Amazon ECS tasks, services,
- // task definitions, clusters, and container instances.
- //
- // ResourceArn is a required field
- ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s ListTagsForResourceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTagsForResourceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListTagsForResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
- if s.ResourceArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetResourceArn sets the ResourceArn field's value.
- func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
- s.ResourceArn = &v
- return s
- }
- type ListTagsForResourceOutput struct {
- _ struct{} `type:"structure"`
- // The tags for the resource.
- Tags []*Tag `locationName:"tags" type:"list"`
- }
- // String returns the string representation
- func (s ListTagsForResourceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTagsForResourceOutput) GoString() string {
- return s.String()
- }
- // SetTags sets the Tags field's value.
- func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
- s.Tags = v
- return s
- }
- type ListTaskDefinitionFamiliesInput struct {
- _ struct{} `type:"structure"`
- // The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies.
- // If you specify a familyPrefix, only task definition family names that begin
- // with the familyPrefix string are returned.
- FamilyPrefix *string `locationName:"familyPrefix" type:"string"`
- // The maximum number of task definition family results returned by ListTaskDefinitionFamilies
- // in paginated output. When this parameter is used, ListTaskDefinitions only
- // returns maxResults results in a single page along with a nextToken response
- // element. The remaining results of the initial request can be seen by sending
- // another ListTaskDefinitionFamilies request with the returned nextToken value.
- // This value can be between 1 and 100. If this parameter is not used, then
- // ListTaskDefinitionFamilies returns up to 100 results and a nextToken value
- // if applicable.
- MaxResults *int64 `locationName:"maxResults" type:"integer"`
- // The nextToken value returned from a previous paginated ListTaskDefinitionFamilies
- // request where maxResults was used and the results exceeded the value of that
- // parameter. Pagination continues from the end of the previous results that
- // returned the nextToken value.
- //
- // This token should be treated as an opaque identifier that is only used to
- // retrieve the next items in a list and not for other programmatic purposes.
- NextToken *string `locationName:"nextToken" type:"string"`
- // The task definition family status with which to filter the ListTaskDefinitionFamilies
- // results. By default, both ACTIVE and INACTIVE task definition families are
- // listed. If this parameter is set to ACTIVE, only task definition families
- // that have an ACTIVE task definition revision are returned. If this parameter
- // is set to INACTIVE, only task definition families that do not have any ACTIVE
- // task definition revisions are returned. If you paginate the resulting output,
- // be sure to keep the status value constant in each subsequent request.
- Status *string `locationName:"status" type:"string" enum:"TaskDefinitionFamilyStatus"`
- }
- // String returns the string representation
- func (s ListTaskDefinitionFamiliesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTaskDefinitionFamiliesInput) GoString() string {
- return s.String()
- }
- // SetFamilyPrefix sets the FamilyPrefix field's value.
- func (s *ListTaskDefinitionFamiliesInput) SetFamilyPrefix(v string) *ListTaskDefinitionFamiliesInput {
- s.FamilyPrefix = &v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListTaskDefinitionFamiliesInput) SetMaxResults(v int64) *ListTaskDefinitionFamiliesInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListTaskDefinitionFamiliesInput) SetNextToken(v string) *ListTaskDefinitionFamiliesInput {
- s.NextToken = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *ListTaskDefinitionFamiliesInput) SetStatus(v string) *ListTaskDefinitionFamiliesInput {
- s.Status = &v
- return s
- }
- type ListTaskDefinitionFamiliesOutput struct {
- _ struct{} `type:"structure"`
- // The list of task definition family names that match the ListTaskDefinitionFamilies
- // request.
- Families []*string `locationName:"families" type:"list"`
- // The nextToken value to include in a future ListTaskDefinitionFamilies request.
- // When the results of a ListTaskDefinitionFamilies request exceed maxResults,
- // this value can be used to retrieve the next page of results. This value is
- // null when there are no more results to return.
- NextToken *string `locationName:"nextToken" type:"string"`
- }
- // String returns the string representation
- func (s ListTaskDefinitionFamiliesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTaskDefinitionFamiliesOutput) GoString() string {
- return s.String()
- }
- // SetFamilies sets the Families field's value.
- func (s *ListTaskDefinitionFamiliesOutput) SetFamilies(v []*string) *ListTaskDefinitionFamiliesOutput {
- s.Families = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListTaskDefinitionFamiliesOutput) SetNextToken(v string) *ListTaskDefinitionFamiliesOutput {
- s.NextToken = &v
- return s
- }
- type ListTaskDefinitionsInput struct {
- _ struct{} `type:"structure"`
- // The full family name with which to filter the ListTaskDefinitions results.
- // Specifying a familyPrefix limits the listed task definitions to task definition
- // revisions that belong to that family.
- FamilyPrefix *string `locationName:"familyPrefix" type:"string"`
- // The maximum number of task definition results returned by ListTaskDefinitions
- // in paginated output. When this parameter is used, ListTaskDefinitions only
- // returns maxResults results in a single page along with a nextToken response
- // element. The remaining results of the initial request can be seen by sending
- // another ListTaskDefinitions request with the returned nextToken value. This
- // value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions
- // returns up to 100 results and a nextToken value if applicable.
- MaxResults *int64 `locationName:"maxResults" type:"integer"`
- // The nextToken value returned from a previous paginated ListTaskDefinitions
- // request where maxResults was used and the results exceeded the value of that
- // parameter. Pagination continues from the end of the previous results that
- // returned the nextToken value.
- //
- // This token should be treated as an opaque identifier that is only used to
- // retrieve the next items in a list and not for other programmatic purposes.
- NextToken *string `locationName:"nextToken" type:"string"`
- // The order in which to sort the results. Valid values are ASC and DESC. By
- // default (ASC), task definitions are listed lexicographically by family name
- // and in ascending numerical order by revision so that the newest task definitions
- // in a family are listed last. Setting this parameter to DESC reverses the
- // sort order on family name and revision so that the newest task definitions
- // in a family are listed first.
- Sort *string `locationName:"sort" type:"string" enum:"SortOrder"`
- // The task definition status with which to filter the ListTaskDefinitions results.
- // By default, only ACTIVE task definitions are listed. By setting this parameter
- // to INACTIVE, you can view task definitions that are INACTIVE as long as an
- // active task or service still references them. If you paginate the resulting
- // output, be sure to keep the status value constant in each subsequent request.
- Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"`
- }
- // String returns the string representation
- func (s ListTaskDefinitionsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTaskDefinitionsInput) GoString() string {
- return s.String()
- }
- // SetFamilyPrefix sets the FamilyPrefix field's value.
- func (s *ListTaskDefinitionsInput) SetFamilyPrefix(v string) *ListTaskDefinitionsInput {
- s.FamilyPrefix = &v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListTaskDefinitionsInput) SetMaxResults(v int64) *ListTaskDefinitionsInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListTaskDefinitionsInput) SetNextToken(v string) *ListTaskDefinitionsInput {
- s.NextToken = &v
- return s
- }
- // SetSort sets the Sort field's value.
- func (s *ListTaskDefinitionsInput) SetSort(v string) *ListTaskDefinitionsInput {
- s.Sort = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *ListTaskDefinitionsInput) SetStatus(v string) *ListTaskDefinitionsInput {
- s.Status = &v
- return s
- }
- type ListTaskDefinitionsOutput struct {
- _ struct{} `type:"structure"`
- // The nextToken value to include in a future ListTaskDefinitions request. When
- // the results of a ListTaskDefinitions request exceed maxResults, this value
- // can be used to retrieve the next page of results. This value is null when
- // there are no more results to return.
- NextToken *string `locationName:"nextToken" type:"string"`
- // The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions
- // request.
- TaskDefinitionArns []*string `locationName:"taskDefinitionArns" type:"list"`
- }
- // String returns the string representation
- func (s ListTaskDefinitionsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTaskDefinitionsOutput) GoString() string {
- return s.String()
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListTaskDefinitionsOutput) SetNextToken(v string) *ListTaskDefinitionsOutput {
- s.NextToken = &v
- return s
- }
- // SetTaskDefinitionArns sets the TaskDefinitionArns field's value.
- func (s *ListTaskDefinitionsOutput) SetTaskDefinitionArns(v []*string) *ListTaskDefinitionsOutput {
- s.TaskDefinitionArns = v
- return s
- }
- type ListTasksInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that hosts
- // the tasks to list. If you do not specify a cluster, the default cluster is
- // assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // The container instance ID or full ARN of the container instance with which
- // to filter the ListTasks results. Specifying a containerInstance limits the
- // results to tasks that belong to that container instance.
- ContainerInstance *string `locationName:"containerInstance" type:"string"`
- // The task desired status with which to filter the ListTasks results. Specifying
- // a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has
- // set the desired status to STOPPED. This can be useful for debugging tasks
- // that are not starting properly or have died or finished. The default status
- // filter is RUNNING, which shows tasks that Amazon ECS has set the desired
- // status to RUNNING.
- //
- // Although you can filter results based on a desired status of PENDING, this
- // does not return any results. Amazon ECS never sets the desired status of
- // a task to that value (only a task's lastStatus may have a value of PENDING).
- DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"`
- // The name of the family with which to filter the ListTasks results. Specifying
- // a family limits the results to tasks that belong to that family.
- Family *string `locationName:"family" type:"string"`
- // The launch type for services to list.
- LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"`
- // The maximum number of task results returned by ListTasks in paginated output.
- // When this parameter is used, ListTasks only returns maxResults results in
- // a single page along with a nextToken response element. The remaining results
- // of the initial request can be seen by sending another ListTasks request with
- // the returned nextToken value. This value can be between 1 and 100. If this
- // parameter is not used, then ListTasks returns up to 100 results and a nextToken
- // value if applicable.
- MaxResults *int64 `locationName:"maxResults" type:"integer"`
- // The nextToken value returned from a previous paginated ListTasks request
- // where maxResults was used and the results exceeded the value of that parameter.
- // Pagination continues from the end of the previous results that returned the
- // nextToken value.
- //
- // This token should be treated as an opaque identifier that is only used to
- // retrieve the next items in a list and not for other programmatic purposes.
- NextToken *string `locationName:"nextToken" type:"string"`
- // The name of the service with which to filter the ListTasks results. Specifying
- // a serviceName limits the results to tasks that belong to that service.
- ServiceName *string `locationName:"serviceName" type:"string"`
- // The startedBy value with which to filter the task results. Specifying a startedBy
- // value limits the results to tasks that were started with that value.
- StartedBy *string `locationName:"startedBy" type:"string"`
- }
- // String returns the string representation
- func (s ListTasksInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTasksInput) GoString() string {
- return s.String()
- }
- // SetCluster sets the Cluster field's value.
- func (s *ListTasksInput) SetCluster(v string) *ListTasksInput {
- s.Cluster = &v
- return s
- }
- // SetContainerInstance sets the ContainerInstance field's value.
- func (s *ListTasksInput) SetContainerInstance(v string) *ListTasksInput {
- s.ContainerInstance = &v
- return s
- }
- // SetDesiredStatus sets the DesiredStatus field's value.
- func (s *ListTasksInput) SetDesiredStatus(v string) *ListTasksInput {
- s.DesiredStatus = &v
- return s
- }
- // SetFamily sets the Family field's value.
- func (s *ListTasksInput) SetFamily(v string) *ListTasksInput {
- s.Family = &v
- return s
- }
- // SetLaunchType sets the LaunchType field's value.
- func (s *ListTasksInput) SetLaunchType(v string) *ListTasksInput {
- s.LaunchType = &v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput {
- s.NextToken = &v
- return s
- }
- // SetServiceName sets the ServiceName field's value.
- func (s *ListTasksInput) SetServiceName(v string) *ListTasksInput {
- s.ServiceName = &v
- return s
- }
- // SetStartedBy sets the StartedBy field's value.
- func (s *ListTasksInput) SetStartedBy(v string) *ListTasksInput {
- s.StartedBy = &v
- return s
- }
- type ListTasksOutput struct {
- _ struct{} `type:"structure"`
- // The nextToken value to include in a future ListTasks request. When the results
- // of a ListTasks request exceed maxResults, this value can be used to retrieve
- // the next page of results. This value is null when there are no more results
- // to return.
- NextToken *string `locationName:"nextToken" type:"string"`
- // The list of task ARN entries for the ListTasks request.
- TaskArns []*string `locationName:"taskArns" type:"list"`
- }
- // String returns the string representation
- func (s ListTasksOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTasksOutput) GoString() string {
- return s.String()
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput {
- s.NextToken = &v
- return s
- }
- // SetTaskArns sets the TaskArns field's value.
- func (s *ListTasksOutput) SetTaskArns(v []*string) *ListTasksOutput {
- s.TaskArns = v
- return s
- }
- // Details on a load balancer that is used with a service.
- //
- // If the service is using the ECS deployment controller, you are limited to
- // one load balancer or target group.
- //
- // If the service is using the CODE_DEPLOY deployment controller, the service
- // is required to use either an Application Load Balancer or Network Load Balancer.
- // When you are creating an AWS CodeDeploy deployment group, you specify two
- // target groups (referred to as a targetGroupPair). Each target group binds
- // to a separate task set in the deployment. The load balancer can also have
- // up to two listeners, a required listener for production traffic and an optional
- // listener that allows you to test new revisions of the service before routing
- // production traffic to it.
- //
- // Services with tasks that use the awsvpc network mode (for example, those
- // with the Fargate launch type) only support Application Load Balancers and
- // Network Load Balancers. Classic Load Balancers are not supported. Also, when
- // you create any target groups for these services, you must choose ip as the
- // target type, not instance. Tasks that use the awsvpc network mode are associated
- // with an elastic network interface, not an Amazon EC2 instance.
- type LoadBalancer struct {
- _ struct{} `type:"structure"`
- // The name of the container (as it appears in a container definition) to associate
- // with the load balancer.
- ContainerName *string `locationName:"containerName" type:"string"`
- // The port on the container to associate with the load balancer. This port
- // must correspond to a containerPort in the service's task definition. Your
- // container instances must allow ingress traffic on the hostPort of the port
- // mapping.
- ContainerPort *int64 `locationName:"containerPort" type:"integer"`
- // The name of a load balancer.
- LoadBalancerName *string `locationName:"loadBalancerName" type:"string"`
- // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target
- // group or groups associated with a service. For services using the ECS deployment
- // controller, you are limited to one target group. For services using the CODE_DEPLOY
- // deployment controller, you are required to define two target groups for the
- // load balancer.
- //
- // If your service's task definition uses the awsvpc network mode (which is
- // required for the Fargate launch type), you must choose ip as the target type,
- // not instance, because tasks that use the awsvpc network mode are associated
- // with an elastic network interface, not an Amazon EC2 instance.
- TargetGroupArn *string `locationName:"targetGroupArn" type:"string"`
- }
- // String returns the string representation
- func (s LoadBalancer) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s LoadBalancer) GoString() string {
- return s.String()
- }
- // SetContainerName sets the ContainerName field's value.
- func (s *LoadBalancer) SetContainerName(v string) *LoadBalancer {
- s.ContainerName = &v
- return s
- }
- // SetContainerPort sets the ContainerPort field's value.
- func (s *LoadBalancer) SetContainerPort(v int64) *LoadBalancer {
- s.ContainerPort = &v
- return s
- }
- // SetLoadBalancerName sets the LoadBalancerName field's value.
- func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer {
- s.LoadBalancerName = &v
- return s
- }
- // SetTargetGroupArn sets the TargetGroupArn field's value.
- func (s *LoadBalancer) SetTargetGroupArn(v string) *LoadBalancer {
- s.TargetGroupArn = &v
- return s
- }
- // Log configuration options to send to a custom log driver for the container.
- type LogConfiguration struct {
- _ struct{} `type:"structure"`
- // The log driver to use for the container. The valid values listed for this
- // parameter are log drivers that the Amazon ECS container agent can communicate
- // with by default. If you are using the Fargate launch type, the only supported
- // value is awslogs. For more information about using the awslogs driver, see
- // Using the awslogs Log Driver (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // If you have a custom driver that is not listed above that you would like
- // to work with the Amazon ECS container agent, you can fork the Amazon ECS
- // container agent project that is available on GitHub (https://github.com/aws/amazon-ecs-agent)
- // and customize it to work with that driver. We encourage you to submit pull
- // requests for changes that you would like to have included. However, Amazon
- // Web Services does not currently support running modified copies of this software.
- //
- // This parameter requires version 1.18 of the Docker Remote API or greater
- // on your container instance. To check the Docker Remote API version on your
- // container instance, log in to your container instance and run the following
- // command: sudo docker version --format '{{.Server.APIVersion}}'
- //
- // LogDriver is a required field
- LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"`
- // The configuration options to send to the log driver. This parameter requires
- // version 1.19 of the Docker Remote API or greater on your container instance.
- // To check the Docker Remote API version on your container instance, log in
- // to your container instance and run the following command: sudo docker version
- // --format '{{.Server.APIVersion}}'
- Options map[string]*string `locationName:"options" type:"map"`
- }
- // String returns the string representation
- func (s LogConfiguration) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s LogConfiguration) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *LogConfiguration) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"}
- if s.LogDriver == nil {
- invalidParams.Add(request.NewErrParamRequired("LogDriver"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetLogDriver sets the LogDriver field's value.
- func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration {
- s.LogDriver = &v
- return s
- }
- // SetOptions sets the Options field's value.
- func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration {
- s.Options = v
- return s
- }
- // Details on a volume mount point that is used in a container definition.
- type MountPoint struct {
- _ struct{} `type:"structure"`
- // The path on the container to mount the host volume at.
- ContainerPath *string `locationName:"containerPath" type:"string"`
- // If this value is true, the container has read-only access to the volume.
- // If this value is false, then the container can write to the volume. The default
- // value is false.
- ReadOnly *bool `locationName:"readOnly" type:"boolean"`
- // The name of the volume to mount. Must be a volume name referenced in the
- // name parameter of task definition volume.
- SourceVolume *string `locationName:"sourceVolume" type:"string"`
- }
- // String returns the string representation
- func (s MountPoint) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s MountPoint) GoString() string {
- return s.String()
- }
- // SetContainerPath sets the ContainerPath field's value.
- func (s *MountPoint) SetContainerPath(v string) *MountPoint {
- s.ContainerPath = &v
- return s
- }
- // SetReadOnly sets the ReadOnly field's value.
- func (s *MountPoint) SetReadOnly(v bool) *MountPoint {
- s.ReadOnly = &v
- return s
- }
- // SetSourceVolume sets the SourceVolume field's value.
- func (s *MountPoint) SetSourceVolume(v string) *MountPoint {
- s.SourceVolume = &v
- return s
- }
- // Details on the network bindings between a container and its host container
- // instance. After a task reaches the RUNNING status, manual and automatic host
- // and container port assignments are visible in the networkBindings section
- // of DescribeTasks API responses.
- type NetworkBinding struct {
- _ struct{} `type:"structure"`
- // The IP address that the container is bound to on the container instance.
- BindIP *string `locationName:"bindIP" type:"string"`
- // The port number on the container that is used with the network binding.
- ContainerPort *int64 `locationName:"containerPort" type:"integer"`
- // The port number on the host that is used with the network binding.
- HostPort *int64 `locationName:"hostPort" type:"integer"`
- // The protocol used for the network binding.
- Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"`
- }
- // String returns the string representation
- func (s NetworkBinding) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s NetworkBinding) GoString() string {
- return s.String()
- }
- // SetBindIP sets the BindIP field's value.
- func (s *NetworkBinding) SetBindIP(v string) *NetworkBinding {
- s.BindIP = &v
- return s
- }
- // SetContainerPort sets the ContainerPort field's value.
- func (s *NetworkBinding) SetContainerPort(v int64) *NetworkBinding {
- s.ContainerPort = &v
- return s
- }
- // SetHostPort sets the HostPort field's value.
- func (s *NetworkBinding) SetHostPort(v int64) *NetworkBinding {
- s.HostPort = &v
- return s
- }
- // SetProtocol sets the Protocol field's value.
- func (s *NetworkBinding) SetProtocol(v string) *NetworkBinding {
- s.Protocol = &v
- return s
- }
- // An object representing the network configuration for a task or service.
- type NetworkConfiguration struct {
- _ struct{} `type:"structure"`
- // The VPC subnets and security groups associated with a task.
- //
- // All specified subnets and security groups must be from the same VPC.
- AwsvpcConfiguration *AwsVpcConfiguration `locationName:"awsvpcConfiguration" type:"structure"`
- }
- // String returns the string representation
- func (s NetworkConfiguration) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s NetworkConfiguration) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *NetworkConfiguration) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"}
- if s.AwsvpcConfiguration != nil {
- if err := s.AwsvpcConfiguration.Validate(); err != nil {
- invalidParams.AddNested("AwsvpcConfiguration", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAwsvpcConfiguration sets the AwsvpcConfiguration field's value.
- func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *NetworkConfiguration {
- s.AwsvpcConfiguration = v
- return s
- }
- // An object representing the elastic network interface for tasks that use the
- // awsvpc network mode.
- type NetworkInterface struct {
- _ struct{} `type:"structure"`
- // The attachment ID for the network interface.
- AttachmentId *string `locationName:"attachmentId" type:"string"`
- // The private IPv6 address for the network interface.
- Ipv6Address *string `locationName:"ipv6Address" type:"string"`
- // The private IPv4 address for the network interface.
- PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"`
- }
- // String returns the string representation
- func (s NetworkInterface) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s NetworkInterface) GoString() string {
- return s.String()
- }
- // SetAttachmentId sets the AttachmentId field's value.
- func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface {
- s.AttachmentId = &v
- return s
- }
- // SetIpv6Address sets the Ipv6Address field's value.
- func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface {
- s.Ipv6Address = &v
- return s
- }
- // SetPrivateIpv4Address sets the PrivateIpv4Address field's value.
- func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface {
- s.PrivateIpv4Address = &v
- return s
- }
- // An object representing a constraint on task placement. For more information,
- // see Task Placement Constraints (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html)
- // in the Amazon Elastic Container Service Developer Guide.
- type PlacementConstraint struct {
- _ struct{} `type:"structure"`
- // A cluster query language expression to apply to the constraint. You cannot
- // specify an expression if the constraint type is distinctInstance. For more
- // information, see Cluster Query Language (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html)
- // in the Amazon Elastic Container Service Developer Guide.
- Expression *string `locationName:"expression" type:"string"`
- // The type of constraint. Use distinctInstance to ensure that each task in
- // a particular group is running on a different container instance. Use memberOf
- // to restrict the selection to a group of valid candidates. The value distinctInstance
- // is not supported in task definitions.
- Type *string `locationName:"type" type:"string" enum:"PlacementConstraintType"`
- }
- // String returns the string representation
- func (s PlacementConstraint) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PlacementConstraint) GoString() string {
- return s.String()
- }
- // SetExpression sets the Expression field's value.
- func (s *PlacementConstraint) SetExpression(v string) *PlacementConstraint {
- s.Expression = &v
- return s
- }
- // SetType sets the Type field's value.
- func (s *PlacementConstraint) SetType(v string) *PlacementConstraint {
- s.Type = &v
- return s
- }
- // The task placement strategy for a task or service. For more information,
- // see Task Placement Strategies (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html)
- // in the Amazon Elastic Container Service Developer Guide.
- type PlacementStrategy struct {
- _ struct{} `type:"structure"`
- // The field to apply the placement strategy against. For the spread placement
- // strategy, valid values are instanceId (or host, which has the same effect),
- // or any platform or custom attribute that is applied to a container instance,
- // such as attribute:ecs.availability-zone. For the binpack placement strategy,
- // valid values are cpu and memory. For the random placement strategy, this
- // field is not used.
- Field *string `locationName:"field" type:"string"`
- // The type of placement strategy. The random placement strategy randomly places
- // tasks on available candidates. The spread placement strategy spreads placement
- // across available candidates evenly based on the field parameter. The binpack
- // strategy places tasks on available candidates that have the least available
- // amount of the resource that is specified with the field parameter. For example,
- // if you binpack on memory, a task is placed on the instance with the least
- // amount of remaining memory (but still enough to run the task).
- Type *string `locationName:"type" type:"string" enum:"PlacementStrategyType"`
- }
- // String returns the string representation
- func (s PlacementStrategy) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PlacementStrategy) GoString() string {
- return s.String()
- }
- // SetField sets the Field field's value.
- func (s *PlacementStrategy) SetField(v string) *PlacementStrategy {
- s.Field = &v
- return s
- }
- // SetType sets the Type field's value.
- func (s *PlacementStrategy) SetType(v string) *PlacementStrategy {
- s.Type = &v
- return s
- }
- // Port mappings allow containers to access ports on the host container instance
- // to send or receive traffic. Port mappings are specified as part of the container
- // definition.
- //
- // If you are using containers in a task with the awsvpc or host network mode,
- // exposed ports should be specified using containerPort. The hostPort can be
- // left blank or it must be the same value as the containerPort.
- //
- // After a task reaches the RUNNING status, manual and automatic host and container
- // port assignments are visible in the networkBindings section of DescribeTasks
- // API responses.
- type PortMapping struct {
- _ struct{} `type:"structure"`
- // The port number on the container that is bound to the user-specified or automatically
- // assigned host port.
- //
- // If you are using containers in a task with the awsvpc or host network mode,
- // exposed ports should be specified using containerPort.
- //
- // If you are using containers in a task with the bridge network mode and you
- // specify a container port and not a host port, your container automatically
- // receives a host port in the ephemeral port range. For more information, see
- // hostPort. Port mappings that are automatically assigned in this way do not
- // count toward the 100 reserved ports limit of a container instance.
- ContainerPort *int64 `locationName:"containerPort" type:"integer"`
- // The port number on the container instance to reserve for your container.
- //
- // If you are using containers in a task with the awsvpc or host network mode,
- // the hostPort can either be left blank or set to the same value as the containerPort.
- //
- // If you are using containers in a task with the bridge network mode, you can
- // specify a non-reserved host port for your container port mapping, or you
- // can omit the hostPort (or set it to 0) while specifying a containerPort and
- // your container automatically receives a port in the ephemeral port range
- // for your container instance operating system and Docker version.
- //
- // The default ephemeral port range for Docker version 1.6.0 and later is listed
- // on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel
- // parameter is unavailable, the default ephemeral port range from 49153 through
- // 65535 is used. Do not attempt to specify a host port in the ephemeral port
- // range as these are reserved for automatic assignment. In general, ports below
- // 32768 are outside of the ephemeral port range.
- //
- // The default ephemeral port range from 49153 through 65535 is always used
- // for Docker versions before 1.6.0.
- //
- // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376,
- // and the Amazon ECS container agent ports 51678 and 51679. Any host port that
- // was previously specified in a running task is also reserved while the task
- // is running (after a task stops, the host port is released). The current reserved
- // ports are displayed in the remainingResources of DescribeContainerInstances
- // output. A container instance may have up to 100 reserved ports at a time,
- // including the default reserved ports. Aautomatically assigned ports do not
- // count toward the 100 reserved ports limit.
- HostPort *int64 `locationName:"hostPort" type:"integer"`
- // The protocol used for the port mapping. Valid values are tcp and udp. The
- // default is tcp.
- Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"`
- }
- // String returns the string representation
- func (s PortMapping) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PortMapping) GoString() string {
- return s.String()
- }
- // SetContainerPort sets the ContainerPort field's value.
- func (s *PortMapping) SetContainerPort(v int64) *PortMapping {
- s.ContainerPort = &v
- return s
- }
- // SetHostPort sets the HostPort field's value.
- func (s *PortMapping) SetHostPort(v int64) *PortMapping {
- s.HostPort = &v
- return s
- }
- // SetProtocol sets the Protocol field's value.
- func (s *PortMapping) SetProtocol(v string) *PortMapping {
- s.Protocol = &v
- return s
- }
- type PutAccountSettingInput struct {
- _ struct{} `type:"structure"`
- // The resource name for which to enable the new format. If serviceLongArnFormat
- // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat
- // is specified, the ARN and resource ID for your Amazon ECS tasks is affected.
- // If containerInstanceLongArnFormat is specified, the ARN and resource ID for
- // your Amazon ECS container instances is affected.
- //
- // Name is a required field
- Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"`
- // The ARN of the principal, which can be an IAM user, IAM role, or the root
- // user. If you specify the root user, it modifies the ARN and resource ID format
- // for all IAM users, IAM roles, and the root user of the account unless an
- // IAM user or role explicitly overrides these settings for themselves. If this
- // field is omitted, the setting are changed only for the authenticated user.
- PrincipalArn *string `locationName:"principalArn" type:"string"`
- // The account setting value for the specified principal ARN. Accepted values
- // are enabled and disabled.
- //
- // Value is a required field
- Value *string `locationName:"value" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s PutAccountSettingInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutAccountSettingInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *PutAccountSettingInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingInput"}
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if s.Value == nil {
- invalidParams.Add(request.NewErrParamRequired("Value"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetName sets the Name field's value.
- func (s *PutAccountSettingInput) SetName(v string) *PutAccountSettingInput {
- s.Name = &v
- return s
- }
- // SetPrincipalArn sets the PrincipalArn field's value.
- func (s *PutAccountSettingInput) SetPrincipalArn(v string) *PutAccountSettingInput {
- s.PrincipalArn = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *PutAccountSettingInput) SetValue(v string) *PutAccountSettingInput {
- s.Value = &v
- return s
- }
- type PutAccountSettingOutput struct {
- _ struct{} `type:"structure"`
- // The current account setting for a resource.
- Setting *Setting `locationName:"setting" type:"structure"`
- }
- // String returns the string representation
- func (s PutAccountSettingOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutAccountSettingOutput) GoString() string {
- return s.String()
- }
- // SetSetting sets the Setting field's value.
- func (s *PutAccountSettingOutput) SetSetting(v *Setting) *PutAccountSettingOutput {
- s.Setting = v
- return s
- }
- type PutAttributesInput struct {
- _ struct{} `type:"structure"`
- // The attributes to apply to your resource. You can specify up to 10 custom
- // attributes per resource. You can specify up to 10 attributes in a single
- // call.
- //
- // Attributes is a required field
- Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that contains
- // the resource to apply attributes. If you do not specify a cluster, the default
- // cluster is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- }
- // String returns the string representation
- func (s PutAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *PutAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutAttributesInput"}
- if s.Attributes == nil {
- invalidParams.Add(request.NewErrParamRequired("Attributes"))
- }
- if s.Attributes != nil {
- for i, v := range s.Attributes {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributes sets the Attributes field's value.
- func (s *PutAttributesInput) SetAttributes(v []*Attribute) *PutAttributesInput {
- s.Attributes = v
- return s
- }
- // SetCluster sets the Cluster field's value.
- func (s *PutAttributesInput) SetCluster(v string) *PutAttributesInput {
- s.Cluster = &v
- return s
- }
- type PutAttributesOutput struct {
- _ struct{} `type:"structure"`
- // The attributes applied to your resource.
- Attributes []*Attribute `locationName:"attributes" type:"list"`
- }
- // String returns the string representation
- func (s PutAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutAttributesOutput) GoString() string {
- return s.String()
- }
- // SetAttributes sets the Attributes field's value.
- func (s *PutAttributesOutput) SetAttributes(v []*Attribute) *PutAttributesOutput {
- s.Attributes = v
- return s
- }
- type RegisterContainerInstanceInput struct {
- _ struct{} `type:"structure"`
- // The container instance attributes that this container instance supports.
- Attributes []*Attribute `locationName:"attributes" type:"list"`
- // The short name or full Amazon Resource Name (ARN) of the cluster with which
- // to register your container instance. If you do not specify a cluster, the
- // default cluster is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // The ARN of the container instance (if it was previously registered).
- ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"`
- // The instance identity document for the EC2 instance to register. This document
- // can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/
- InstanceIdentityDocument *string `locationName:"instanceIdentityDocument" type:"string"`
- // The instance identity document signature for the EC2 instance to register.
- // This signature can be found by running the following command from the instance:
- // curl http://169.254.169.254/latest/dynamic/instance-identity/signature/
- InstanceIdentityDocumentSignature *string `locationName:"instanceIdentityDocumentSignature" type:"string"`
- // The metadata that you apply to the container instance to help you categorize
- // and organize them. Each tag consists of a key and an optional value, both
- // of which you define. Tag keys can have a maximum character length of 128
- // characters, and tag values can have a maximum length of 256 characters.
- Tags []*Tag `locationName:"tags" type:"list"`
- // The resources available on the instance.
- TotalResources []*Resource `locationName:"totalResources" type:"list"`
- // The version information for the Amazon ECS container agent and Docker daemon
- // running on the container instance.
- VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"`
- }
- // String returns the string representation
- func (s RegisterContainerInstanceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RegisterContainerInstanceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *RegisterContainerInstanceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RegisterContainerInstanceInput"}
- if s.Attributes != nil {
- for i, v := range s.Attributes {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributes sets the Attributes field's value.
- func (s *RegisterContainerInstanceInput) SetAttributes(v []*Attribute) *RegisterContainerInstanceInput {
- s.Attributes = v
- return s
- }
- // SetCluster sets the Cluster field's value.
- func (s *RegisterContainerInstanceInput) SetCluster(v string) *RegisterContainerInstanceInput {
- s.Cluster = &v
- return s
- }
- // SetContainerInstanceArn sets the ContainerInstanceArn field's value.
- func (s *RegisterContainerInstanceInput) SetContainerInstanceArn(v string) *RegisterContainerInstanceInput {
- s.ContainerInstanceArn = &v
- return s
- }
- // SetInstanceIdentityDocument sets the InstanceIdentityDocument field's value.
- func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocument(v string) *RegisterContainerInstanceInput {
- s.InstanceIdentityDocument = &v
- return s
- }
- // SetInstanceIdentityDocumentSignature sets the InstanceIdentityDocumentSignature field's value.
- func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocumentSignature(v string) *RegisterContainerInstanceInput {
- s.InstanceIdentityDocumentSignature = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *RegisterContainerInstanceInput) SetTags(v []*Tag) *RegisterContainerInstanceInput {
- s.Tags = v
- return s
- }
- // SetTotalResources sets the TotalResources field's value.
- func (s *RegisterContainerInstanceInput) SetTotalResources(v []*Resource) *RegisterContainerInstanceInput {
- s.TotalResources = v
- return s
- }
- // SetVersionInfo sets the VersionInfo field's value.
- func (s *RegisterContainerInstanceInput) SetVersionInfo(v *VersionInfo) *RegisterContainerInstanceInput {
- s.VersionInfo = v
- return s
- }
- type RegisterContainerInstanceOutput struct {
- _ struct{} `type:"structure"`
- // The container instance that was registered.
- ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"`
- }
- // String returns the string representation
- func (s RegisterContainerInstanceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RegisterContainerInstanceOutput) GoString() string {
- return s.String()
- }
- // SetContainerInstance sets the ContainerInstance field's value.
- func (s *RegisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *RegisterContainerInstanceOutput {
- s.ContainerInstance = v
- return s
- }
- type RegisterTaskDefinitionInput struct {
- _ struct{} `type:"structure"`
- // A list of container definitions in JSON format that describe the different
- // containers that make up your task.
- //
- // ContainerDefinitions is a required field
- ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list" required:"true"`
- // The number of CPU units used by the task. It can be expressed as an integer
- // using CPU units, for example 1024, or as a string using vCPUs, for example
- // 1 vCPU or 1 vcpu, in a task definition. String values are converted to an
- // integer indicating the CPU units when the task definition is registered.
- //
- // Task-level CPU and memory parameters are ignored for Windows containers.
- // We recommend specifying container-level resources for Windows containers.
- //
- // If you are using the EC2 launch type, this field is optional. Supported values
- // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs).
- //
- // If you are using the Fargate launch type, this field is required and you
- // must use one of the following values, which determines your range of supported
- // values for the memory parameter:
- //
- // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB),
- // 2048 (2 GB)
- //
- // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072
- // (3 GB), 4096 (4 GB)
- //
- // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096
- // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
- //
- // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384
- // (16 GB) in increments of 1024 (1 GB)
- //
- // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720
- // (30 GB) in increments of 1024 (1 GB)
- Cpu *string `locationName:"cpu" type:"string"`
- // The Amazon Resource Name (ARN) of the task execution role that the Amazon
- // ECS container agent and the Docker daemon can assume.
- ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"`
- // You must specify a family for a task definition, which allows you to track
- // multiple versions of the same task definition. The family is used as a name
- // for your task definition. Up to 255 letters (uppercase and lowercase), numbers,
- // hyphens, and underscores are allowed.
- //
- // Family is a required field
- Family *string `locationName:"family" type:"string" required:"true"`
- // The IPC resource namespace to use for the containers in the task. The valid
- // values are host, task, or none. If host is specified, then all containers
- // within the tasks that specified the host IPC mode on the same container instance
- // share the same IPC resources with the host Amazon EC2 instance. If task is
- // specified, all containers within the specified task share the same IPC resources.
- // If none is specified, then IPC resources within the containers of a task
- // are private and not shared with other containers in a task or on the container
- // instance. If no value is specified, then the IPC resource namespace sharing
- // depends on the Docker daemon setting on the container instance. For more
- // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc)
- // in the Docker run reference.
- //
- // If the host IPC mode is used, be aware that there is a heightened risk of
- // undesired IPC namespace expose. For more information, see Docker security
- // (https://docs.docker.com/engine/security/security/).
- //
- // If you are setting namespaced kernel parameters using systemControls for
- // the containers in the task, the following will apply to your IPC resource
- // namespace. For more information, see System Controls (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // * For tasks that use the host IPC mode, IPC namespace related systemControls
- // are not supported.
- //
- // * For tasks that use the task IPC mode, IPC namespace related systemControls
- // will apply to all containers within a task.
- //
- // This parameter is not supported for Windows containers or tasks using the
- // Fargate launch type.
- IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"`
- // The amount of memory (in MiB) used by the task. It can be expressed as an
- // integer using MiB, for example 1024, or as a string using GB, for example
- // 1GB or 1 GB, in a task definition. String values are converted to an integer
- // indicating the MiB when the task definition is registered.
- //
- // Task-level CPU and memory parameters are ignored for Windows containers.
- // We recommend specifying container-level resources for Windows containers.
- //
- // If using the EC2 launch type, this field is optional.
- //
- // If using the Fargate launch type, this field is required and you must use
- // one of the following values, which determines your range of supported values
- // for the cpu parameter:
- //
- // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25
- // vCPU)
- //
- // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values:
- // 512 (.5 vCPU)
- //
- // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168
- // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)
- //
- // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) -
- // Available cpu values: 2048 (2 vCPU)
- //
- // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) -
- // Available cpu values: 4096 (4 vCPU)
- Memory *string `locationName:"memory" type:"string"`
- // The Docker networking mode to use for the containers in the task. The valid
- // values are none, bridge, awsvpc, and host. The default Docker network mode
- // is bridge. If you are using the Fargate launch type, the awsvpc network mode
- // is required. If you are using the EC2 launch type, any network mode can be
- // used. If the network mode is set to none, you cannot specify port mappings
- // in your container definitions, and the tasks containers do not have external
- // connectivity. The host and awsvpc network modes offer the highest networking
- // performance for containers because they use the EC2 network stack instead
- // of the virtualized network stack provided by the bridge mode.
- //
- // With the host and awsvpc network modes, exposed container ports are mapped
- // directly to the corresponding host port (for the host network mode) or the
- // attached elastic network interface port (for the awsvpc network mode), so
- // you cannot take advantage of dynamic host port mappings.
- //
- // If the network mode is awsvpc, the task is allocated an elastic network interface,
- // and you must specify a NetworkConfiguration value when you create a service
- // or run a task with the task definition. For more information, see Task Networking
- // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with
- // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network
- // mode.
- //
- // If the network mode is host, you cannot run multiple instantiations of the
- // same task on a single container instance when port mappings are used.
- //
- // Docker for Windows uses different network modes than Docker for Linux. When
- // you register a task definition with Windows containers, you must not specify
- // a network mode. If you use the console to register a task definition with
- // Windows containers, you must choose the <default> network mode object.
- //
- // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings)
- // in the Docker run reference.
- NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"`
- // The process namespace to use for the containers in the task. The valid values
- // are host or task. If host is specified, then all containers within the tasks
- // that specified the host PID mode on the same container instance share the
- // same IPC resources with the host Amazon EC2 instance. If task is specified,
- // all containers within the specified task share the same process namespace.
- // If no value is specified, the default is a private namespace. For more information,
- // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid)
- // in the Docker run reference.
- //
- // If the host PID mode is used, be aware that there is a heightened risk of
- // undesired process namespace expose. For more information, see Docker security
- // (https://docs.docker.com/engine/security/security/).
- //
- // This parameter is not supported for Windows containers or tasks using the
- // Fargate launch type.
- PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"`
- // An array of placement constraint objects to use for the task. You can specify
- // a maximum of 10 constraints per task (this limit includes constraints in
- // the task definition and those specified at runtime).
- PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"`
- // The launch type required by the task. If no value is specified, it defaults
- // to EC2.
- RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"`
- // The metadata that you apply to the task definition to help you categorize
- // and organize them. Each tag consists of a key and an optional value, both
- // of which you define. Tag keys can have a maximum character length of 128
- // characters, and tag values can have a maximum length of 256 characters.
- Tags []*Tag `locationName:"tags" type:"list"`
- // The short name or full Amazon Resource Name (ARN) of the IAM role that containers
- // in this task can assume. All containers in this task are granted the permissions
- // that are specified in this role. For more information, see IAM Roles for
- // Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html)
- // in the Amazon Elastic Container Service Developer Guide.
- TaskRoleArn *string `locationName:"taskRoleArn" type:"string"`
- // A list of volume definitions in JSON format that containers in your task
- // may use.
- Volumes []*Volume `locationName:"volumes" type:"list"`
- }
- // String returns the string representation
- func (s RegisterTaskDefinitionInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RegisterTaskDefinitionInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *RegisterTaskDefinitionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RegisterTaskDefinitionInput"}
- if s.ContainerDefinitions == nil {
- invalidParams.Add(request.NewErrParamRequired("ContainerDefinitions"))
- }
- if s.Family == nil {
- invalidParams.Add(request.NewErrParamRequired("Family"))
- }
- if s.ContainerDefinitions != nil {
- for i, v := range s.ContainerDefinitions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerDefinitions", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetContainerDefinitions sets the ContainerDefinitions field's value.
- func (s *RegisterTaskDefinitionInput) SetContainerDefinitions(v []*ContainerDefinition) *RegisterTaskDefinitionInput {
- s.ContainerDefinitions = v
- return s
- }
- // SetCpu sets the Cpu field's value.
- func (s *RegisterTaskDefinitionInput) SetCpu(v string) *RegisterTaskDefinitionInput {
- s.Cpu = &v
- return s
- }
- // SetExecutionRoleArn sets the ExecutionRoleArn field's value.
- func (s *RegisterTaskDefinitionInput) SetExecutionRoleArn(v string) *RegisterTaskDefinitionInput {
- s.ExecutionRoleArn = &v
- return s
- }
- // SetFamily sets the Family field's value.
- func (s *RegisterTaskDefinitionInput) SetFamily(v string) *RegisterTaskDefinitionInput {
- s.Family = &v
- return s
- }
- // SetIpcMode sets the IpcMode field's value.
- func (s *RegisterTaskDefinitionInput) SetIpcMode(v string) *RegisterTaskDefinitionInput {
- s.IpcMode = &v
- return s
- }
- // SetMemory sets the Memory field's value.
- func (s *RegisterTaskDefinitionInput) SetMemory(v string) *RegisterTaskDefinitionInput {
- s.Memory = &v
- return s
- }
- // SetNetworkMode sets the NetworkMode field's value.
- func (s *RegisterTaskDefinitionInput) SetNetworkMode(v string) *RegisterTaskDefinitionInput {
- s.NetworkMode = &v
- return s
- }
- // SetPidMode sets the PidMode field's value.
- func (s *RegisterTaskDefinitionInput) SetPidMode(v string) *RegisterTaskDefinitionInput {
- s.PidMode = &v
- return s
- }
- // SetPlacementConstraints sets the PlacementConstraints field's value.
- func (s *RegisterTaskDefinitionInput) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *RegisterTaskDefinitionInput {
- s.PlacementConstraints = v
- return s
- }
- // SetRequiresCompatibilities sets the RequiresCompatibilities field's value.
- func (s *RegisterTaskDefinitionInput) SetRequiresCompatibilities(v []*string) *RegisterTaskDefinitionInput {
- s.RequiresCompatibilities = v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *RegisterTaskDefinitionInput) SetTags(v []*Tag) *RegisterTaskDefinitionInput {
- s.Tags = v
- return s
- }
- // SetTaskRoleArn sets the TaskRoleArn field's value.
- func (s *RegisterTaskDefinitionInput) SetTaskRoleArn(v string) *RegisterTaskDefinitionInput {
- s.TaskRoleArn = &v
- return s
- }
- // SetVolumes sets the Volumes field's value.
- func (s *RegisterTaskDefinitionInput) SetVolumes(v []*Volume) *RegisterTaskDefinitionInput {
- s.Volumes = v
- return s
- }
- type RegisterTaskDefinitionOutput struct {
- _ struct{} `type:"structure"`
- // The list of tags associated with the task definition.
- Tags []*Tag `locationName:"tags" type:"list"`
- // The full description of the registered task definition.
- TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"`
- }
- // String returns the string representation
- func (s RegisterTaskDefinitionOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RegisterTaskDefinitionOutput) GoString() string {
- return s.String()
- }
- // SetTags sets the Tags field's value.
- func (s *RegisterTaskDefinitionOutput) SetTags(v []*Tag) *RegisterTaskDefinitionOutput {
- s.Tags = v
- return s
- }
- // SetTaskDefinition sets the TaskDefinition field's value.
- func (s *RegisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *RegisterTaskDefinitionOutput {
- s.TaskDefinition = v
- return s
- }
- // The repository credentials for private registry authentication.
- type RepositoryCredentials struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the secret containing the private repository
- // credentials.
- //
- // When you are using the Amazon ECS API, AWS CLI, or AWS SDK, if the secret
- // exists in the same Region as the task that you are launching then you can
- // use either the full ARN or the name of the secret. When you are using the
- // AWS Management Console, you must specify the full ARN of the secret.
- //
- // CredentialsParameter is a required field
- CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s RepositoryCredentials) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RepositoryCredentials) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *RepositoryCredentials) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RepositoryCredentials"}
- if s.CredentialsParameter == nil {
- invalidParams.Add(request.NewErrParamRequired("CredentialsParameter"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCredentialsParameter sets the CredentialsParameter field's value.
- func (s *RepositoryCredentials) SetCredentialsParameter(v string) *RepositoryCredentials {
- s.CredentialsParameter = &v
- return s
- }
- // Describes the resources available for a container instance.
- type Resource struct {
- _ struct{} `type:"structure"`
- // When the doubleValue type is set, the value of the resource must be a double
- // precision floating-point type.
- DoubleValue *float64 `locationName:"doubleValue" type:"double"`
- // When the integerValue type is set, the value of the resource must be an integer.
- IntegerValue *int64 `locationName:"integerValue" type:"integer"`
- // When the longValue type is set, the value of the resource must be an extended
- // precision floating-point type.
- LongValue *int64 `locationName:"longValue" type:"long"`
- // The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined
- // resource.
- Name *string `locationName:"name" type:"string"`
- // When the stringSetValue type is set, the value of the resource must be a
- // string type.
- StringSetValue []*string `locationName:"stringSetValue" type:"list"`
- // The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET.
- Type *string `locationName:"type" type:"string"`
- }
- // String returns the string representation
- func (s Resource) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Resource) GoString() string {
- return s.String()
- }
- // SetDoubleValue sets the DoubleValue field's value.
- func (s *Resource) SetDoubleValue(v float64) *Resource {
- s.DoubleValue = &v
- return s
- }
- // SetIntegerValue sets the IntegerValue field's value.
- func (s *Resource) SetIntegerValue(v int64) *Resource {
- s.IntegerValue = &v
- return s
- }
- // SetLongValue sets the LongValue field's value.
- func (s *Resource) SetLongValue(v int64) *Resource {
- s.LongValue = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *Resource) SetName(v string) *Resource {
- s.Name = &v
- return s
- }
- // SetStringSetValue sets the StringSetValue field's value.
- func (s *Resource) SetStringSetValue(v []*string) *Resource {
- s.StringSetValue = v
- return s
- }
- // SetType sets the Type field's value.
- func (s *Resource) SetType(v string) *Resource {
- s.Type = &v
- return s
- }
- type RunTaskInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster on which
- // to run your task. If you do not specify a cluster, the default cluster is
- // assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // The number of instantiations of the specified task to place on your cluster.
- // You can specify up to 10 tasks per call.
- Count *int64 `locationName:"count" type:"integer"`
- // Specifies whether to enable Amazon ECS managed tags for the task. For more
- // information, see Tagging Your Amazon ECS Resources (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html)
- // in the Amazon Elastic Container Service Developer Guide.
- EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"`
- // The name of the task group to associate with the task. The default value
- // is the family name of the task definition (for example, family:my-family-name).
- Group *string `locationName:"group" type:"string"`
- // The launch type on which to run your task. For more information, see Amazon
- // ECS Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html)
- // in the Amazon Elastic Container Service Developer Guide.
- LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"`
- // The network configuration for the task. This parameter is required for task
- // definitions that use the awsvpc network mode to receive their own elastic
- // network interface, and it is not supported for other network modes. For more
- // information, see Task Networking (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html)
- // in the Amazon Elastic Container Service Developer Guide.
- NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"`
- // A list of container overrides in JSON format that specify the name of a container
- // in the specified task definition and the overrides it should receive. You
- // can override the default command for a container (that is specified in the
- // task definition or Docker image) with a command override. You can also override
- // existing environment variables (that are specified in the task definition
- // or Docker image) on a container or add new environment variables to it with
- // an environment override.
- //
- // A total of 8192 characters are allowed for overrides. This limit includes
- // the JSON formatting characters of the override structure.
- Overrides *TaskOverride `locationName:"overrides" type:"structure"`
- // An array of placement constraint objects to use for the task. You can specify
- // up to 10 constraints per task (including constraints in the task definition
- // and those specified at runtime).
- PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"`
- // The placement strategy objects to use for the task. You can specify a maximum
- // of five strategy rules per task.
- PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"`
- // The platform version the task should run. A platform version is only specified
- // for tasks using the Fargate launch type. If one is not specified, the LATEST
- // platform version is used by default. For more information, see AWS Fargate
- // Platform Versions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html)
- // in the Amazon Elastic Container Service Developer Guide.
- PlatformVersion *string `locationName:"platformVersion" type:"string"`
- // Specifies whether to propagate the tags from the task definition or the service
- // to the task. If no value is specified, the tags are not propagated.
- PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"`
- // An optional tag specified when a task is started. For example, if you automatically
- // trigger a task to run a batch process job, you could apply a unique identifier
- // for that job to your task with the startedBy parameter. You can then identify
- // which tasks belong to that job by filtering the results of a ListTasks call
- // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers,
- // hyphens, and underscores are allowed.
- //
- // If a task is started by an Amazon ECS service, then the startedBy parameter
- // contains the deployment ID of the service that starts it.
- StartedBy *string `locationName:"startedBy" type:"string"`
- // The metadata that you apply to the task to help you categorize and organize
- // them. Each tag consists of a key and an optional value, both of which you
- // define. Tag keys can have a maximum character length of 128 characters, and
- // tag values can have a maximum length of 256 characters.
- Tags []*Tag `locationName:"tags" type:"list"`
- // The family and revision (family:revision) or full ARN of the task definition
- // to run. If a revision is not specified, the latest ACTIVE revision is used.
- //
- // TaskDefinition is a required field
- TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s RunTaskInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RunTaskInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *RunTaskInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RunTaskInput"}
- if s.TaskDefinition == nil {
- invalidParams.Add(request.NewErrParamRequired("TaskDefinition"))
- }
- if s.NetworkConfiguration != nil {
- if err := s.NetworkConfiguration.Validate(); err != nil {
- invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams))
- }
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCluster sets the Cluster field's value.
- func (s *RunTaskInput) SetCluster(v string) *RunTaskInput {
- s.Cluster = &v
- return s
- }
- // SetCount sets the Count field's value.
- func (s *RunTaskInput) SetCount(v int64) *RunTaskInput {
- s.Count = &v
- return s
- }
- // SetEnableECSManagedTags sets the EnableECSManagedTags field's value.
- func (s *RunTaskInput) SetEnableECSManagedTags(v bool) *RunTaskInput {
- s.EnableECSManagedTags = &v
- return s
- }
- // SetGroup sets the Group field's value.
- func (s *RunTaskInput) SetGroup(v string) *RunTaskInput {
- s.Group = &v
- return s
- }
- // SetLaunchType sets the LaunchType field's value.
- func (s *RunTaskInput) SetLaunchType(v string) *RunTaskInput {
- s.LaunchType = &v
- return s
- }
- // SetNetworkConfiguration sets the NetworkConfiguration field's value.
- func (s *RunTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *RunTaskInput {
- s.NetworkConfiguration = v
- return s
- }
- // SetOverrides sets the Overrides field's value.
- func (s *RunTaskInput) SetOverrides(v *TaskOverride) *RunTaskInput {
- s.Overrides = v
- return s
- }
- // SetPlacementConstraints sets the PlacementConstraints field's value.
- func (s *RunTaskInput) SetPlacementConstraints(v []*PlacementConstraint) *RunTaskInput {
- s.PlacementConstraints = v
- return s
- }
- // SetPlacementStrategy sets the PlacementStrategy field's value.
- func (s *RunTaskInput) SetPlacementStrategy(v []*PlacementStrategy) *RunTaskInput {
- s.PlacementStrategy = v
- return s
- }
- // SetPlatformVersion sets the PlatformVersion field's value.
- func (s *RunTaskInput) SetPlatformVersion(v string) *RunTaskInput {
- s.PlatformVersion = &v
- return s
- }
- // SetPropagateTags sets the PropagateTags field's value.
- func (s *RunTaskInput) SetPropagateTags(v string) *RunTaskInput {
- s.PropagateTags = &v
- return s
- }
- // SetStartedBy sets the StartedBy field's value.
- func (s *RunTaskInput) SetStartedBy(v string) *RunTaskInput {
- s.StartedBy = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *RunTaskInput) SetTags(v []*Tag) *RunTaskInput {
- s.Tags = v
- return s
- }
- // SetTaskDefinition sets the TaskDefinition field's value.
- func (s *RunTaskInput) SetTaskDefinition(v string) *RunTaskInput {
- s.TaskDefinition = &v
- return s
- }
- type RunTaskOutput struct {
- _ struct{} `type:"structure"`
- // Any failures associated with the call.
- Failures []*Failure `locationName:"failures" type:"list"`
- // A full description of the tasks that were run. The tasks that were successfully
- // placed on your cluster are described here.
- Tasks []*Task `locationName:"tasks" type:"list"`
- }
- // String returns the string representation
- func (s RunTaskOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RunTaskOutput) GoString() string {
- return s.String()
- }
- // SetFailures sets the Failures field's value.
- func (s *RunTaskOutput) SetFailures(v []*Failure) *RunTaskOutput {
- s.Failures = v
- return s
- }
- // SetTasks sets the Tasks field's value.
- func (s *RunTaskOutput) SetTasks(v []*Task) *RunTaskOutput {
- s.Tasks = v
- return s
- }
- // A floating-point percentage of the desired number of tasks to place and keep
- // running in the service. This is used when a service uses the CODE_DEPLOY
- // deployment controller type.
- type Scale struct {
- _ struct{} `type:"structure"`
- // The unit of measure for the scale value.
- Unit *string `locationName:"unit" type:"string" enum:"ScaleUnit"`
- // The value, specified as a percent total of a service's desiredCount, to scale
- // the task set.
- Value *float64 `locationName:"value" type:"double"`
- }
- // String returns the string representation
- func (s Scale) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Scale) GoString() string {
- return s.String()
- }
- // SetUnit sets the Unit field's value.
- func (s *Scale) SetUnit(v string) *Scale {
- s.Unit = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *Scale) SetValue(v float64) *Scale {
- s.Value = &v
- return s
- }
- // An object representing the secret to expose to your container.
- type Secret struct {
- _ struct{} `type:"structure"`
- // The value to set as the environment variable on the container.
- //
- // Name is a required field
- Name *string `locationName:"name" type:"string" required:"true"`
- // The secret to expose to the container. Supported values are either the full
- // ARN or the name of the parameter in the AWS Systems Manager Parameter Store.
- //
- // ValueFrom is a required field
- ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s Secret) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Secret) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Secret) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Secret"}
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if s.ValueFrom == nil {
- invalidParams.Add(request.NewErrParamRequired("ValueFrom"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetName sets the Name field's value.
- func (s *Secret) SetName(v string) *Secret {
- s.Name = &v
- return s
- }
- // SetValueFrom sets the ValueFrom field's value.
- func (s *Secret) SetValueFrom(v string) *Secret {
- s.ValueFrom = &v
- return s
- }
- // Details on a service within a cluster
- type Service struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the cluster that hosts the service.
- ClusterArn *string `locationName:"clusterArn" type:"string"`
- // The Unix timestamp for when the service was created.
- CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
- // The principal that created the service.
- CreatedBy *string `locationName:"createdBy" type:"string"`
- // Optional deployment parameters that control how many tasks run during the
- // deployment and the ordering of stopping and starting tasks.
- DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"`
- // The deployment controller type the service is using.
- DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"`
- // The current state of deployments for the service.
- Deployments []*Deployment `locationName:"deployments" type:"list"`
- // The desired number of instantiations of the task definition to keep running
- // on the service. This value is specified when the service is created with
- // CreateService, and it can be modified with UpdateService.
- DesiredCount *int64 `locationName:"desiredCount" type:"integer"`
- // Specifies whether to enable Amazon ECS managed tags for the tasks in the
- // service. For more information, see Tagging Your Amazon ECS Resources (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html)
- // in the Amazon Elastic Container Service Developer Guide.
- EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"`
- // The event stream for your service. A maximum of 100 of the latest events
- // are displayed.
- Events []*ServiceEvent `locationName:"events" type:"list"`
- // The period of time, in seconds, that the Amazon ECS service scheduler ignores
- // unhealthy Elastic Load Balancing target health checks after a task has first
- // started.
- HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"`
- // The launch type on which your service is running. For more information, see
- // Amazon ECS Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html)
- // in the Amazon Elastic Container Service Developer Guide.
- LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"`
- // A list of Elastic Load Balancing load balancer objects, containing the load
- // balancer name, the container name (as it appears in a container definition),
- // and the container port to access from the load balancer.
- //
- // Services with tasks that use the awsvpc network mode (for example, those
- // with the Fargate launch type) only support Application Load Balancers and
- // Network Load Balancers. Classic Load Balancers are not supported. Also, when
- // you create any target groups for these services, you must choose ip as the
- // target type, not instance. Tasks that use the awsvpc network mode are associated
- // with an elastic network interface, not an Amazon EC2 instance.
- LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
- // The VPC subnet and security group configuration for tasks that receive their
- // own elastic network interface by using the awsvpc networking mode.
- NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"`
- // The number of tasks in the cluster that are in the PENDING state.
- PendingCount *int64 `locationName:"pendingCount" type:"integer"`
- // The placement constraints for the tasks in the service.
- PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"`
- // The placement strategy that determines how tasks for the service are placed.
- PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"`
- // The platform version on which your tasks in the service are running. A platform
- // version is only specified for tasks using the Fargate launch type. If one
- // is not specified, the LATEST platform version is used by default. For more
- // information, see AWS Fargate Platform Versions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html)
- // in the Amazon Elastic Container Service Developer Guide.
- PlatformVersion *string `locationName:"platformVersion" type:"string"`
- // Specifies whether to propagate the tags from the task definition or the service
- // to the task. If no value is specified, the tags are not propagated.
- PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"`
- // The ARN of the IAM role associated with the service that allows the Amazon
- // ECS container agent to register container instances with an Elastic Load
- // Balancing load balancer.
- RoleArn *string `locationName:"roleArn" type:"string"`
- // The number of tasks in the cluster that are in the RUNNING state.
- RunningCount *int64 `locationName:"runningCount" type:"integer"`
- // The scheduling strategy to use for the service. For more information, see
- // Services (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).
- //
- // There are two service scheduler strategies available:
- //
- // * REPLICA-The replica scheduling strategy places and maintains the desired
- // number of tasks across your cluster. By default, the service scheduler
- // spreads tasks across Availability Zones. You can use task placement strategies
- // and constraints to customize task placement decisions.
- //
- // * DAEMON-The daemon scheduling strategy deploys exactly one task on each
- // container instance in your cluster. When you are using this strategy,
- // do not specify a desired number of tasks or any task placement strategies.
- //
- // Fargate tasks do not support the DAEMON scheduling strategy.
- SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"`
- // The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace,
- // followed by the Region of the service, the AWS account ID of the service
- // owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.
- ServiceArn *string `locationName:"serviceArn" type:"string"`
- // The name of your service. Up to 255 letters (uppercase and lowercase), numbers,
- // hyphens, and underscores are allowed. Service names must be unique within
- // a cluster, but you can have similarly named services in multiple clusters
- // within a Region or across multiple Regions.
- ServiceName *string `locationName:"serviceName" type:"string"`
- ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"`
- // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE.
- Status *string `locationName:"status" type:"string"`
- // The metadata that you apply to the service to help you categorize and organize
- // them. Each tag consists of a key and an optional value, both of which you
- // define. Tag keys can have a maximum character length of 128 characters, and
- // tag values can have a maximum length of 256 characters.
- Tags []*Tag `locationName:"tags" type:"list"`
- // The task definition to use for tasks in the service. This value is specified
- // when the service is created with CreateService, and it can be modified with
- // UpdateService.
- TaskDefinition *string `locationName:"taskDefinition" type:"string"`
- // Information about a set of Amazon ECS tasks in an AWS CodeDeploy deployment.
- // An Amazon ECS task set includes details such as the desired number of tasks,
- // how many tasks are running, and whether the task set serves production traffic.
- TaskSets []*TaskSet `locationName:"taskSets" type:"list"`
- }
- // String returns the string representation
- func (s Service) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Service) GoString() string {
- return s.String()
- }
- // SetClusterArn sets the ClusterArn field's value.
- func (s *Service) SetClusterArn(v string) *Service {
- s.ClusterArn = &v
- return s
- }
- // SetCreatedAt sets the CreatedAt field's value.
- func (s *Service) SetCreatedAt(v time.Time) *Service {
- s.CreatedAt = &v
- return s
- }
- // SetCreatedBy sets the CreatedBy field's value.
- func (s *Service) SetCreatedBy(v string) *Service {
- s.CreatedBy = &v
- return s
- }
- // SetDeploymentConfiguration sets the DeploymentConfiguration field's value.
- func (s *Service) SetDeploymentConfiguration(v *DeploymentConfiguration) *Service {
- s.DeploymentConfiguration = v
- return s
- }
- // SetDeploymentController sets the DeploymentController field's value.
- func (s *Service) SetDeploymentController(v *DeploymentController) *Service {
- s.DeploymentController = v
- return s
- }
- // SetDeployments sets the Deployments field's value.
- func (s *Service) SetDeployments(v []*Deployment) *Service {
- s.Deployments = v
- return s
- }
- // SetDesiredCount sets the DesiredCount field's value.
- func (s *Service) SetDesiredCount(v int64) *Service {
- s.DesiredCount = &v
- return s
- }
- // SetEnableECSManagedTags sets the EnableECSManagedTags field's value.
- func (s *Service) SetEnableECSManagedTags(v bool) *Service {
- s.EnableECSManagedTags = &v
- return s
- }
- // SetEvents sets the Events field's value.
- func (s *Service) SetEvents(v []*ServiceEvent) *Service {
- s.Events = v
- return s
- }
- // SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value.
- func (s *Service) SetHealthCheckGracePeriodSeconds(v int64) *Service {
- s.HealthCheckGracePeriodSeconds = &v
- return s
- }
- // SetLaunchType sets the LaunchType field's value.
- func (s *Service) SetLaunchType(v string) *Service {
- s.LaunchType = &v
- return s
- }
- // SetLoadBalancers sets the LoadBalancers field's value.
- func (s *Service) SetLoadBalancers(v []*LoadBalancer) *Service {
- s.LoadBalancers = v
- return s
- }
- // SetNetworkConfiguration sets the NetworkConfiguration field's value.
- func (s *Service) SetNetworkConfiguration(v *NetworkConfiguration) *Service {
- s.NetworkConfiguration = v
- return s
- }
- // SetPendingCount sets the PendingCount field's value.
- func (s *Service) SetPendingCount(v int64) *Service {
- s.PendingCount = &v
- return s
- }
- // SetPlacementConstraints sets the PlacementConstraints field's value.
- func (s *Service) SetPlacementConstraints(v []*PlacementConstraint) *Service {
- s.PlacementConstraints = v
- return s
- }
- // SetPlacementStrategy sets the PlacementStrategy field's value.
- func (s *Service) SetPlacementStrategy(v []*PlacementStrategy) *Service {
- s.PlacementStrategy = v
- return s
- }
- // SetPlatformVersion sets the PlatformVersion field's value.
- func (s *Service) SetPlatformVersion(v string) *Service {
- s.PlatformVersion = &v
- return s
- }
- // SetPropagateTags sets the PropagateTags field's value.
- func (s *Service) SetPropagateTags(v string) *Service {
- s.PropagateTags = &v
- return s
- }
- // SetRoleArn sets the RoleArn field's value.
- func (s *Service) SetRoleArn(v string) *Service {
- s.RoleArn = &v
- return s
- }
- // SetRunningCount sets the RunningCount field's value.
- func (s *Service) SetRunningCount(v int64) *Service {
- s.RunningCount = &v
- return s
- }
- // SetSchedulingStrategy sets the SchedulingStrategy field's value.
- func (s *Service) SetSchedulingStrategy(v string) *Service {
- s.SchedulingStrategy = &v
- return s
- }
- // SetServiceArn sets the ServiceArn field's value.
- func (s *Service) SetServiceArn(v string) *Service {
- s.ServiceArn = &v
- return s
- }
- // SetServiceName sets the ServiceName field's value.
- func (s *Service) SetServiceName(v string) *Service {
- s.ServiceName = &v
- return s
- }
- // SetServiceRegistries sets the ServiceRegistries field's value.
- func (s *Service) SetServiceRegistries(v []*ServiceRegistry) *Service {
- s.ServiceRegistries = v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *Service) SetStatus(v string) *Service {
- s.Status = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *Service) SetTags(v []*Tag) *Service {
- s.Tags = v
- return s
- }
- // SetTaskDefinition sets the TaskDefinition field's value.
- func (s *Service) SetTaskDefinition(v string) *Service {
- s.TaskDefinition = &v
- return s
- }
- // SetTaskSets sets the TaskSets field's value.
- func (s *Service) SetTaskSets(v []*TaskSet) *Service {
- s.TaskSets = v
- return s
- }
- // Details on an event associated with a service.
- type ServiceEvent struct {
- _ struct{} `type:"structure"`
- // The Unix timestamp for when the event was triggered.
- CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
- // The ID string of the event.
- Id *string `locationName:"id" type:"string"`
- // The event message.
- Message *string `locationName:"message" type:"string"`
- }
- // String returns the string representation
- func (s ServiceEvent) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ServiceEvent) GoString() string {
- return s.String()
- }
- // SetCreatedAt sets the CreatedAt field's value.
- func (s *ServiceEvent) SetCreatedAt(v time.Time) *ServiceEvent {
- s.CreatedAt = &v
- return s
- }
- // SetId sets the Id field's value.
- func (s *ServiceEvent) SetId(v string) *ServiceEvent {
- s.Id = &v
- return s
- }
- // SetMessage sets the Message field's value.
- func (s *ServiceEvent) SetMessage(v string) *ServiceEvent {
- s.Message = &v
- return s
- }
- // Details of the service registry.
- type ServiceRegistry struct {
- _ struct{} `type:"structure"`
- // The container name value, already specified in the task definition, to be
- // used for your service discovery service. If the task definition that your
- // service task specifies uses the bridge or host network mode, you must specify
- // a containerName and containerPort combination from the task definition. If
- // the task definition that your service task specifies uses the awsvpc network
- // mode and a type SRV DNS record is used, you must specify either a containerName
- // and containerPort combination or a port value, but not both.
- ContainerName *string `locationName:"containerName" type:"string"`
- // The port value, already specified in the task definition, to be used for
- // your service discovery service. If the task definition your service task
- // specifies uses the bridge or host network mode, you must specify a containerName
- // and containerPort combination from the task definition. If the task definition
- // your service task specifies uses the awsvpc network mode and a type SRV DNS
- // record is used, you must specify either a containerName and containerPort
- // combination or a port value, but not both.
- ContainerPort *int64 `locationName:"containerPort" type:"integer"`
- // The port value used if your service discovery service specified an SRV record.
- // This field may be used if both the awsvpc network mode and SRV records are
- // used.
- Port *int64 `locationName:"port" type:"integer"`
- // The Amazon Resource Name (ARN) of the service registry. The currently supported
- // service registry is Amazon Route 53 Auto Naming. For more information, see
- // Service (https://docs.aws.amazon.com/Route53/latest/APIReference/API_autonaming_Service.html).
- RegistryArn *string `locationName:"registryArn" type:"string"`
- }
- // String returns the string representation
- func (s ServiceRegistry) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ServiceRegistry) GoString() string {
- return s.String()
- }
- // SetContainerName sets the ContainerName field's value.
- func (s *ServiceRegistry) SetContainerName(v string) *ServiceRegistry {
- s.ContainerName = &v
- return s
- }
- // SetContainerPort sets the ContainerPort field's value.
- func (s *ServiceRegistry) SetContainerPort(v int64) *ServiceRegistry {
- s.ContainerPort = &v
- return s
- }
- // SetPort sets the Port field's value.
- func (s *ServiceRegistry) SetPort(v int64) *ServiceRegistry {
- s.Port = &v
- return s
- }
- // SetRegistryArn sets the RegistryArn field's value.
- func (s *ServiceRegistry) SetRegistryArn(v string) *ServiceRegistry {
- s.RegistryArn = &v
- return s
- }
- // The current account setting for a resource.
- type Setting struct {
- _ struct{} `type:"structure"`
- // The account resource name.
- Name *string `locationName:"name" type:"string" enum:"SettingName"`
- // The ARN of the principal, which can be an IAM user, IAM role, or the root
- // user. If this field is omitted, the authenticated user is assumed.
- PrincipalArn *string `locationName:"principalArn" type:"string"`
- // The current account setting for the resource name. If enabled, then the resource
- // will receive the new Amazon Resource Name (ARN) and resource identifier (ID)
- // format. If disabled, then the resource will receive the old Amazon Resource
- // Name (ARN) and resource identifier (ID) format.
- Value *string `locationName:"value" type:"string"`
- }
- // String returns the string representation
- func (s Setting) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Setting) GoString() string {
- return s.String()
- }
- // SetName sets the Name field's value.
- func (s *Setting) SetName(v string) *Setting {
- s.Name = &v
- return s
- }
- // SetPrincipalArn sets the PrincipalArn field's value.
- func (s *Setting) SetPrincipalArn(v string) *Setting {
- s.PrincipalArn = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *Setting) SetValue(v string) *Setting {
- s.Value = &v
- return s
- }
- type StartTaskInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster on which
- // to start your task. If you do not specify a cluster, the default cluster
- // is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // The container instance IDs or full ARN entries for the container instances
- // on which you would like to place your task. You can specify up to 10 container
- // instances.
- //
- // ContainerInstances is a required field
- ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"`
- // Specifies whether to enable Amazon ECS managed tags for the task. For more
- // information, see Tagging Your Amazon ECS Resources (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html)
- // in the Amazon Elastic Container Service Developer Guide.
- EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"`
- // The name of the task group to associate with the task. The default value
- // is the family name of the task definition (for example, family:my-family-name).
- Group *string `locationName:"group" type:"string"`
- // The VPC subnet and security group configuration for tasks that receive their
- // own elastic network interface by using the awsvpc networking mode.
- NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"`
- // A list of container overrides in JSON format that specify the name of a container
- // in the specified task definition and the overrides it should receive. You
- // can override the default command for a container (that is specified in the
- // task definition or Docker image) with a command override. You can also override
- // existing environment variables (that are specified in the task definition
- // or Docker image) on a container or add new environment variables to it with
- // an environment override.
- //
- // A total of 8192 characters are allowed for overrides. This limit includes
- // the JSON formatting characters of the override structure.
- Overrides *TaskOverride `locationName:"overrides" type:"structure"`
- // Specifies whether to propagate the tags from the task definition or the service
- // to the task. If no value is specified, the tags are not propagated.
- PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"`
- // An optional tag specified when a task is started. For example, if you automatically
- // trigger a task to run a batch process job, you could apply a unique identifier
- // for that job to your task with the startedBy parameter. You can then identify
- // which tasks belong to that job by filtering the results of a ListTasks call
- // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers,
- // hyphens, and underscores are allowed.
- //
- // If a task is started by an Amazon ECS service, then the startedBy parameter
- // contains the deployment ID of the service that starts it.
- StartedBy *string `locationName:"startedBy" type:"string"`
- // The metadata that you apply to the task to help you categorize and organize
- // them. Each tag consists of a key and an optional value, both of which you
- // define. Tag keys can have a maximum character length of 128 characters, and
- // tag values can have a maximum length of 256 characters.
- Tags []*Tag `locationName:"tags" type:"list"`
- // The family and revision (family:revision) or full ARN of the task definition
- // to start. If a revision is not specified, the latest ACTIVE revision is used.
- //
- // TaskDefinition is a required field
- TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s StartTaskInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StartTaskInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *StartTaskInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "StartTaskInput"}
- if s.ContainerInstances == nil {
- invalidParams.Add(request.NewErrParamRequired("ContainerInstances"))
- }
- if s.TaskDefinition == nil {
- invalidParams.Add(request.NewErrParamRequired("TaskDefinition"))
- }
- if s.NetworkConfiguration != nil {
- if err := s.NetworkConfiguration.Validate(); err != nil {
- invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams))
- }
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCluster sets the Cluster field's value.
- func (s *StartTaskInput) SetCluster(v string) *StartTaskInput {
- s.Cluster = &v
- return s
- }
- // SetContainerInstances sets the ContainerInstances field's value.
- func (s *StartTaskInput) SetContainerInstances(v []*string) *StartTaskInput {
- s.ContainerInstances = v
- return s
- }
- // SetEnableECSManagedTags sets the EnableECSManagedTags field's value.
- func (s *StartTaskInput) SetEnableECSManagedTags(v bool) *StartTaskInput {
- s.EnableECSManagedTags = &v
- return s
- }
- // SetGroup sets the Group field's value.
- func (s *StartTaskInput) SetGroup(v string) *StartTaskInput {
- s.Group = &v
- return s
- }
- // SetNetworkConfiguration sets the NetworkConfiguration field's value.
- func (s *StartTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *StartTaskInput {
- s.NetworkConfiguration = v
- return s
- }
- // SetOverrides sets the Overrides field's value.
- func (s *StartTaskInput) SetOverrides(v *TaskOverride) *StartTaskInput {
- s.Overrides = v
- return s
- }
- // SetPropagateTags sets the PropagateTags field's value.
- func (s *StartTaskInput) SetPropagateTags(v string) *StartTaskInput {
- s.PropagateTags = &v
- return s
- }
- // SetStartedBy sets the StartedBy field's value.
- func (s *StartTaskInput) SetStartedBy(v string) *StartTaskInput {
- s.StartedBy = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *StartTaskInput) SetTags(v []*Tag) *StartTaskInput {
- s.Tags = v
- return s
- }
- // SetTaskDefinition sets the TaskDefinition field's value.
- func (s *StartTaskInput) SetTaskDefinition(v string) *StartTaskInput {
- s.TaskDefinition = &v
- return s
- }
- type StartTaskOutput struct {
- _ struct{} `type:"structure"`
- // Any failures associated with the call.
- Failures []*Failure `locationName:"failures" type:"list"`
- // A full description of the tasks that were started. Each task that was successfully
- // placed on your container instances is described.
- Tasks []*Task `locationName:"tasks" type:"list"`
- }
- // String returns the string representation
- func (s StartTaskOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StartTaskOutput) GoString() string {
- return s.String()
- }
- // SetFailures sets the Failures field's value.
- func (s *StartTaskOutput) SetFailures(v []*Failure) *StartTaskOutput {
- s.Failures = v
- return s
- }
- // SetTasks sets the Tasks field's value.
- func (s *StartTaskOutput) SetTasks(v []*Task) *StartTaskOutput {
- s.Tasks = v
- return s
- }
- type StopTaskInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that hosts
- // the task to stop. If you do not specify a cluster, the default cluster is
- // assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // An optional message specified when a task is stopped. For example, if you
- // are using a custom scheduler, you can use this parameter to specify the reason
- // for stopping the task here, and the message appears in subsequent DescribeTasks
- // API operations on this task. Up to 255 characters are allowed in this message.
- Reason *string `locationName:"reason" type:"string"`
- // The task ID or full ARN entry of the task to stop.
- //
- // Task is a required field
- Task *string `locationName:"task" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s StopTaskInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StopTaskInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *StopTaskInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "StopTaskInput"}
- if s.Task == nil {
- invalidParams.Add(request.NewErrParamRequired("Task"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCluster sets the Cluster field's value.
- func (s *StopTaskInput) SetCluster(v string) *StopTaskInput {
- s.Cluster = &v
- return s
- }
- // SetReason sets the Reason field's value.
- func (s *StopTaskInput) SetReason(v string) *StopTaskInput {
- s.Reason = &v
- return s
- }
- // SetTask sets the Task field's value.
- func (s *StopTaskInput) SetTask(v string) *StopTaskInput {
- s.Task = &v
- return s
- }
- type StopTaskOutput struct {
- _ struct{} `type:"structure"`
- // The task that was stopped.
- Task *Task `locationName:"task" type:"structure"`
- }
- // String returns the string representation
- func (s StopTaskOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StopTaskOutput) GoString() string {
- return s.String()
- }
- // SetTask sets the Task field's value.
- func (s *StopTaskOutput) SetTask(v *Task) *StopTaskOutput {
- s.Task = v
- return s
- }
- type SubmitContainerStateChangeInput struct {
- _ struct{} `type:"structure"`
- // The short name or full ARN of the cluster that hosts the container.
- Cluster *string `locationName:"cluster" type:"string"`
- // The name of the container.
- ContainerName *string `locationName:"containerName" type:"string"`
- // The exit code returned for the state change request.
- ExitCode *int64 `locationName:"exitCode" type:"integer"`
- // The network bindings of the container.
- NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"`
- // The reason for the state change request.
- Reason *string `locationName:"reason" type:"string"`
- // The status of the state change request.
- Status *string `locationName:"status" type:"string"`
- // The task ID or full Amazon Resource Name (ARN) of the task that hosts the
- // container.
- Task *string `locationName:"task" type:"string"`
- }
- // String returns the string representation
- func (s SubmitContainerStateChangeInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SubmitContainerStateChangeInput) GoString() string {
- return s.String()
- }
- // SetCluster sets the Cluster field's value.
- func (s *SubmitContainerStateChangeInput) SetCluster(v string) *SubmitContainerStateChangeInput {
- s.Cluster = &v
- return s
- }
- // SetContainerName sets the ContainerName field's value.
- func (s *SubmitContainerStateChangeInput) SetContainerName(v string) *SubmitContainerStateChangeInput {
- s.ContainerName = &v
- return s
- }
- // SetExitCode sets the ExitCode field's value.
- func (s *SubmitContainerStateChangeInput) SetExitCode(v int64) *SubmitContainerStateChangeInput {
- s.ExitCode = &v
- return s
- }
- // SetNetworkBindings sets the NetworkBindings field's value.
- func (s *SubmitContainerStateChangeInput) SetNetworkBindings(v []*NetworkBinding) *SubmitContainerStateChangeInput {
- s.NetworkBindings = v
- return s
- }
- // SetReason sets the Reason field's value.
- func (s *SubmitContainerStateChangeInput) SetReason(v string) *SubmitContainerStateChangeInput {
- s.Reason = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *SubmitContainerStateChangeInput) SetStatus(v string) *SubmitContainerStateChangeInput {
- s.Status = &v
- return s
- }
- // SetTask sets the Task field's value.
- func (s *SubmitContainerStateChangeInput) SetTask(v string) *SubmitContainerStateChangeInput {
- s.Task = &v
- return s
- }
- type SubmitContainerStateChangeOutput struct {
- _ struct{} `type:"structure"`
- // Acknowledgement of the state change.
- Acknowledgment *string `locationName:"acknowledgment" type:"string"`
- }
- // String returns the string representation
- func (s SubmitContainerStateChangeOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SubmitContainerStateChangeOutput) GoString() string {
- return s.String()
- }
- // SetAcknowledgment sets the Acknowledgment field's value.
- func (s *SubmitContainerStateChangeOutput) SetAcknowledgment(v string) *SubmitContainerStateChangeOutput {
- s.Acknowledgment = &v
- return s
- }
- type SubmitTaskStateChangeInput struct {
- _ struct{} `type:"structure"`
- // Any attachments associated with the state change request.
- Attachments []*AttachmentStateChange `locationName:"attachments" type:"list"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that hosts
- // the task.
- Cluster *string `locationName:"cluster" type:"string"`
- // Any containers associated with the state change request.
- Containers []*ContainerStateChange `locationName:"containers" type:"list"`
- // The Unix timestamp for when the task execution stopped.
- ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"`
- // The Unix timestamp for when the container image pull began.
- PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"`
- // The Unix timestamp for when the container image pull completed.
- PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"`
- // The reason for the state change request.
- Reason *string `locationName:"reason" type:"string"`
- // The status of the state change request.
- Status *string `locationName:"status" type:"string"`
- // The task ID or full ARN of the task in the state change request.
- Task *string `locationName:"task" type:"string"`
- }
- // String returns the string representation
- func (s SubmitTaskStateChangeInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SubmitTaskStateChangeInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *SubmitTaskStateChangeInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SubmitTaskStateChangeInput"}
- if s.Attachments != nil {
- for i, v := range s.Attachments {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttachments sets the Attachments field's value.
- func (s *SubmitTaskStateChangeInput) SetAttachments(v []*AttachmentStateChange) *SubmitTaskStateChangeInput {
- s.Attachments = v
- return s
- }
- // SetCluster sets the Cluster field's value.
- func (s *SubmitTaskStateChangeInput) SetCluster(v string) *SubmitTaskStateChangeInput {
- s.Cluster = &v
- return s
- }
- // SetContainers sets the Containers field's value.
- func (s *SubmitTaskStateChangeInput) SetContainers(v []*ContainerStateChange) *SubmitTaskStateChangeInput {
- s.Containers = v
- return s
- }
- // SetExecutionStoppedAt sets the ExecutionStoppedAt field's value.
- func (s *SubmitTaskStateChangeInput) SetExecutionStoppedAt(v time.Time) *SubmitTaskStateChangeInput {
- s.ExecutionStoppedAt = &v
- return s
- }
- // SetPullStartedAt sets the PullStartedAt field's value.
- func (s *SubmitTaskStateChangeInput) SetPullStartedAt(v time.Time) *SubmitTaskStateChangeInput {
- s.PullStartedAt = &v
- return s
- }
- // SetPullStoppedAt sets the PullStoppedAt field's value.
- func (s *SubmitTaskStateChangeInput) SetPullStoppedAt(v time.Time) *SubmitTaskStateChangeInput {
- s.PullStoppedAt = &v
- return s
- }
- // SetReason sets the Reason field's value.
- func (s *SubmitTaskStateChangeInput) SetReason(v string) *SubmitTaskStateChangeInput {
- s.Reason = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *SubmitTaskStateChangeInput) SetStatus(v string) *SubmitTaskStateChangeInput {
- s.Status = &v
- return s
- }
- // SetTask sets the Task field's value.
- func (s *SubmitTaskStateChangeInput) SetTask(v string) *SubmitTaskStateChangeInput {
- s.Task = &v
- return s
- }
- type SubmitTaskStateChangeOutput struct {
- _ struct{} `type:"structure"`
- // Acknowledgement of the state change.
- Acknowledgment *string `locationName:"acknowledgment" type:"string"`
- }
- // String returns the string representation
- func (s SubmitTaskStateChangeOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SubmitTaskStateChangeOutput) GoString() string {
- return s.String()
- }
- // SetAcknowledgment sets the Acknowledgment field's value.
- func (s *SubmitTaskStateChangeOutput) SetAcknowledgment(v string) *SubmitTaskStateChangeOutput {
- s.Acknowledgment = &v
- return s
- }
- // A list of namespaced kernel parameters to set in the container. This parameter
- // maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
- // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
- // and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // It is not recommended that you specify network-related systemControls parameters
- // for multiple containers in a single task that also uses either the awsvpc
- // or host network mode for the following reasons:
- //
- // * For tasks that use the awsvpc network mode, if you set systemControls
- // for any container, it applies to all containers in the task. If you set
- // different systemControls for multiple containers in a single task, the
- // container that is started last determines which systemControls take effect.
- //
- // * For tasks that use the host network mode, the systemControls parameter
- // applies to the container instance's kernel parameter as well as that of
- // all containers of any tasks running on that container instance.
- type SystemControl struct {
- _ struct{} `type:"structure"`
- // The namespaced kernel parameter for which to set a value.
- Namespace *string `locationName:"namespace" type:"string"`
- // The value for the namespaced kernel parameter specified in namespace.
- Value *string `locationName:"value" type:"string"`
- }
- // String returns the string representation
- func (s SystemControl) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SystemControl) GoString() string {
- return s.String()
- }
- // SetNamespace sets the Namespace field's value.
- func (s *SystemControl) SetNamespace(v string) *SystemControl {
- s.Namespace = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *SystemControl) SetValue(v string) *SystemControl {
- s.Value = &v
- return s
- }
- // The metadata that you apply to a resource to help you categorize and organize
- // them. Each tag consists of a key and an optional value, both of which you
- // define. Tag keys can have a maximum character length of 128 characters, and
- // tag values can have a maximum length of 256 characters.
- type Tag struct {
- _ struct{} `type:"structure"`
- // One part of a key-value pair that make up a tag. A key is a general label
- // that acts like a category for more specific tag values.
- Key *string `locationName:"key" min:"1" type:"string"`
- // The optional part of a key-value pair that make up a tag. A value acts as
- // a descriptor within a tag category (key).
- Value *string `locationName:"value" type:"string"`
- }
- // String returns the string representation
- func (s Tag) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Tag) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Tag) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Tag"}
- if s.Key != nil && len(*s.Key) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Key", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetKey sets the Key field's value.
- func (s *Tag) SetKey(v string) *Tag {
- s.Key = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *Tag) SetValue(v string) *Tag {
- s.Value = &v
- return s
- }
- type TagResourceInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the resource to which to add tags. Currently,
- // the supported resources are Amazon ECS tasks, services, task definitions,
- // clusters, and container instances.
- //
- // ResourceArn is a required field
- ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
- // The tags to add to the resource. A tag is an array of key-value pairs. Tag
- // keys can have a maximum character length of 128 characters, and tag values
- // can have a maximum length of 256 characters.
- //
- // Tags is a required field
- Tags []*Tag `locationName:"tags" type:"list" required:"true"`
- }
- // String returns the string representation
- func (s TagResourceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TagResourceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *TagResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
- if s.ResourceArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
- }
- if s.Tags == nil {
- invalidParams.Add(request.NewErrParamRequired("Tags"))
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetResourceArn sets the ResourceArn field's value.
- func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
- s.ResourceArn = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
- s.Tags = v
- return s
- }
- type TagResourceOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s TagResourceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TagResourceOutput) GoString() string {
- return s.String()
- }
- // Details on a task in a cluster.
- type Task struct {
- _ struct{} `type:"structure"`
- // The Elastic Network Adapter associated with the task if the task uses the
- // awsvpc network mode.
- Attachments []*Attachment `locationName:"attachments" type:"list"`
- // The ARN of the cluster that hosts the task.
- ClusterArn *string `locationName:"clusterArn" type:"string"`
- // The connectivity status of a task.
- Connectivity *string `locationName:"connectivity" type:"string" enum:"Connectivity"`
- // The Unix timestamp for when the task last went into CONNECTED status.
- ConnectivityAt *time.Time `locationName:"connectivityAt" type:"timestamp"`
- // The ARN of the container instances that host the task.
- ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"`
- // The containers associated with the task.
- Containers []*Container `locationName:"containers" type:"list"`
- // The number of CPU units used by the task as expressed in a task definition.
- // It can be expressed as an integer using CPU units, for example 1024. It can
- // also be expressed as a string using vCPUs, for example 1 vCPU or 1 vcpu.
- // String values are converted to an integer indicating the CPU units when the
- // task definition is registered.
- //
- // If you are using the EC2 launch type, this field is optional. Supported values
- // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs).
- //
- // If you are using the Fargate launch type, this field is required and you
- // must use one of the following values, which determines your range of supported
- // values for the memory parameter:
- //
- // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB),
- // 2048 (2 GB)
- //
- // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072
- // (3 GB), 4096 (4 GB)
- //
- // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096
- // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
- //
- // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384
- // (16 GB) in increments of 1024 (1 GB)
- //
- // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720
- // (30 GB) in increments of 1024 (1 GB)
- Cpu *string `locationName:"cpu" type:"string"`
- // The Unix timestamp for when the task was created (the task entered the PENDING
- // state).
- CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
- // The desired status of the task. For more information, see Task Lifecycle
- // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_life_cycle.html).
- DesiredStatus *string `locationName:"desiredStatus" type:"string"`
- // The Unix timestamp for when the task execution stopped.
- ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"`
- // The name of the task group associated with the task.
- Group *string `locationName:"group" type:"string"`
- // The health status for the task, which is determined by the health of the
- // essential containers in the task. If all essential containers in the task
- // are reporting as HEALTHY, then the task status also reports as HEALTHY. If
- // any essential containers in the task are reporting as UNHEALTHY or UNKNOWN,
- // then the task status also reports as UNHEALTHY or UNKNOWN, accordingly.
- //
- // The Amazon ECS container agent does not monitor or report on Docker health
- // checks that are embedded in a container image (such as those specified in
- // a parent image or from the image's Dockerfile) and not specified in the container
- // definition. Health check parameters that are specified in a container definition
- // override any Docker health checks that exist in the container image.
- HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"`
- // The last known status of the task. For more information, see Task Lifecycle
- // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_life_cycle.html).
- LastStatus *string `locationName:"lastStatus" type:"string"`
- // The launch type on which your task is running. For more information, see
- // Amazon ECS Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html)
- // in the Amazon Elastic Container Service Developer Guide.
- LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"`
- // The amount of memory (in MiB) used by the task as expressed in a task definition.
- // It can be expressed as an integer using MiB, for example 1024. It can also
- // be expressed as a string using GB, for example 1GB or 1 GB. String values
- // are converted to an integer indicating the MiB when the task definition is
- // registered.
- //
- // If you are using the EC2 launch type, this field is optional.
- //
- // If you are using the Fargate launch type, this field is required and you
- // must use one of the following values, which determines your range of supported
- // values for the cpu parameter:
- //
- // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25
- // vCPU)
- //
- // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values:
- // 512 (.5 vCPU)
- //
- // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168
- // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)
- //
- // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) -
- // Available cpu values: 2048 (2 vCPU)
- //
- // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) -
- // Available cpu values: 4096 (4 vCPU)
- Memory *string `locationName:"memory" type:"string"`
- // One or more container overrides.
- Overrides *TaskOverride `locationName:"overrides" type:"structure"`
- // The platform version on which your task is running. A platform version is
- // only specified for tasks using the Fargate launch type. If one is not specified,
- // the LATEST platform version is used by default. For more information, see
- // AWS Fargate Platform Versions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html)
- // in the Amazon Elastic Container Service Developer Guide.
- PlatformVersion *string `locationName:"platformVersion" type:"string"`
- // The Unix timestamp for when the container image pull began.
- PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"`
- // The Unix timestamp for when the container image pull completed.
- PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"`
- // The Unix timestamp for when the task started (the task transitioned from
- // the PENDING state to the RUNNING state).
- StartedAt *time.Time `locationName:"startedAt" type:"timestamp"`
- // The tag specified when a task is started. If the task is started by an Amazon
- // ECS service, then the startedBy parameter contains the deployment ID of the
- // service that starts it.
- StartedBy *string `locationName:"startedBy" type:"string"`
- // The stop code indicating why a task was stopped. The stoppedReason may contain
- // additional details.
- StopCode *string `locationName:"stopCode" type:"string" enum:"TaskStopCode"`
- // The Unix timestamp for when the task was stopped (the task transitioned from
- // the RUNNING state to the STOPPED state).
- StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp"`
- // The reason that the task was stopped.
- StoppedReason *string `locationName:"stoppedReason" type:"string"`
- // The Unix timestamp for when the task stops (transitions from the RUNNING
- // state to STOPPED).
- StoppingAt *time.Time `locationName:"stoppingAt" type:"timestamp"`
- // The metadata that you apply to the task to help you categorize and organize
- // them. Each tag consists of a key and an optional value, both of which you
- // define. Tag keys can have a maximum character length of 128 characters, and
- // tag values can have a maximum length of 256 characters.
- Tags []*Tag `locationName:"tags" type:"list"`
- // The Amazon Resource Name (ARN) of the task.
- TaskArn *string `locationName:"taskArn" type:"string"`
- // The ARN of the task definition that creates the task.
- TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"`
- // The version counter for the task. Every time a task experiences a change
- // that triggers a CloudWatch event, the version counter is incremented. If
- // you are replicating your Amazon ECS task state with CloudWatch Events, you
- // can compare the version of a task reported by the Amazon ECS API actionss
- // with the version reported in CloudWatch Events for the task (inside the detail
- // object) to verify that the version in your event stream is current.
- Version *int64 `locationName:"version" type:"long"`
- }
- // String returns the string representation
- func (s Task) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Task) GoString() string {
- return s.String()
- }
- // SetAttachments sets the Attachments field's value.
- func (s *Task) SetAttachments(v []*Attachment) *Task {
- s.Attachments = v
- return s
- }
- // SetClusterArn sets the ClusterArn field's value.
- func (s *Task) SetClusterArn(v string) *Task {
- s.ClusterArn = &v
- return s
- }
- // SetConnectivity sets the Connectivity field's value.
- func (s *Task) SetConnectivity(v string) *Task {
- s.Connectivity = &v
- return s
- }
- // SetConnectivityAt sets the ConnectivityAt field's value.
- func (s *Task) SetConnectivityAt(v time.Time) *Task {
- s.ConnectivityAt = &v
- return s
- }
- // SetContainerInstanceArn sets the ContainerInstanceArn field's value.
- func (s *Task) SetContainerInstanceArn(v string) *Task {
- s.ContainerInstanceArn = &v
- return s
- }
- // SetContainers sets the Containers field's value.
- func (s *Task) SetContainers(v []*Container) *Task {
- s.Containers = v
- return s
- }
- // SetCpu sets the Cpu field's value.
- func (s *Task) SetCpu(v string) *Task {
- s.Cpu = &v
- return s
- }
- // SetCreatedAt sets the CreatedAt field's value.
- func (s *Task) SetCreatedAt(v time.Time) *Task {
- s.CreatedAt = &v
- return s
- }
- // SetDesiredStatus sets the DesiredStatus field's value.
- func (s *Task) SetDesiredStatus(v string) *Task {
- s.DesiredStatus = &v
- return s
- }
- // SetExecutionStoppedAt sets the ExecutionStoppedAt field's value.
- func (s *Task) SetExecutionStoppedAt(v time.Time) *Task {
- s.ExecutionStoppedAt = &v
- return s
- }
- // SetGroup sets the Group field's value.
- func (s *Task) SetGroup(v string) *Task {
- s.Group = &v
- return s
- }
- // SetHealthStatus sets the HealthStatus field's value.
- func (s *Task) SetHealthStatus(v string) *Task {
- s.HealthStatus = &v
- return s
- }
- // SetLastStatus sets the LastStatus field's value.
- func (s *Task) SetLastStatus(v string) *Task {
- s.LastStatus = &v
- return s
- }
- // SetLaunchType sets the LaunchType field's value.
- func (s *Task) SetLaunchType(v string) *Task {
- s.LaunchType = &v
- return s
- }
- // SetMemory sets the Memory field's value.
- func (s *Task) SetMemory(v string) *Task {
- s.Memory = &v
- return s
- }
- // SetOverrides sets the Overrides field's value.
- func (s *Task) SetOverrides(v *TaskOverride) *Task {
- s.Overrides = v
- return s
- }
- // SetPlatformVersion sets the PlatformVersion field's value.
- func (s *Task) SetPlatformVersion(v string) *Task {
- s.PlatformVersion = &v
- return s
- }
- // SetPullStartedAt sets the PullStartedAt field's value.
- func (s *Task) SetPullStartedAt(v time.Time) *Task {
- s.PullStartedAt = &v
- return s
- }
- // SetPullStoppedAt sets the PullStoppedAt field's value.
- func (s *Task) SetPullStoppedAt(v time.Time) *Task {
- s.PullStoppedAt = &v
- return s
- }
- // SetStartedAt sets the StartedAt field's value.
- func (s *Task) SetStartedAt(v time.Time) *Task {
- s.StartedAt = &v
- return s
- }
- // SetStartedBy sets the StartedBy field's value.
- func (s *Task) SetStartedBy(v string) *Task {
- s.StartedBy = &v
- return s
- }
- // SetStopCode sets the StopCode field's value.
- func (s *Task) SetStopCode(v string) *Task {
- s.StopCode = &v
- return s
- }
- // SetStoppedAt sets the StoppedAt field's value.
- func (s *Task) SetStoppedAt(v time.Time) *Task {
- s.StoppedAt = &v
- return s
- }
- // SetStoppedReason sets the StoppedReason field's value.
- func (s *Task) SetStoppedReason(v string) *Task {
- s.StoppedReason = &v
- return s
- }
- // SetStoppingAt sets the StoppingAt field's value.
- func (s *Task) SetStoppingAt(v time.Time) *Task {
- s.StoppingAt = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *Task) SetTags(v []*Tag) *Task {
- s.Tags = v
- return s
- }
- // SetTaskArn sets the TaskArn field's value.
- func (s *Task) SetTaskArn(v string) *Task {
- s.TaskArn = &v
- return s
- }
- // SetTaskDefinitionArn sets the TaskDefinitionArn field's value.
- func (s *Task) SetTaskDefinitionArn(v string) *Task {
- s.TaskDefinitionArn = &v
- return s
- }
- // SetVersion sets the Version field's value.
- func (s *Task) SetVersion(v int64) *Task {
- s.Version = &v
- return s
- }
- // Details of a task definition.
- type TaskDefinition struct {
- _ struct{} `type:"structure"`
- // The launch type to use with your task. For more information, see Amazon ECS
- // Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html)
- // in the Amazon Elastic Container Service Developer Guide.
- Compatibilities []*string `locationName:"compatibilities" type:"list"`
- // A list of container definitions in JSON format that describe the different
- // containers that make up your task. For more information about container definition
- // parameters and defaults, see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html)
- // in the Amazon Elastic Container Service Developer Guide.
- ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"`
- // The number of cpu units used by the task. If you are using the EC2 launch
- // type, this field is optional and any value can be used. If you are using
- // the Fargate launch type, this field is required and you must use one of the
- // following values, which determines your range of valid values for the memory
- // parameter:
- //
- // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB),
- // 2048 (2 GB)
- //
- // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072
- // (3 GB), 4096 (4 GB)
- //
- // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096
- // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
- //
- // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384
- // (16 GB) in increments of 1024 (1 GB)
- //
- // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720
- // (30 GB) in increments of 1024 (1 GB)
- Cpu *string `locationName:"cpu" type:"string"`
- // The Amazon Resource Name (ARN) of the task execution role that the Amazon
- // ECS container agent and the Docker daemon can assume.
- ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"`
- // The family of your task definition, used as the definition name.
- Family *string `locationName:"family" type:"string"`
- // The IPC resource namespace to use for the containers in the task. The valid
- // values are host, task, or none. If host is specified, then all containers
- // within the tasks that specified the host IPC mode on the same container instance
- // share the same IPC resources with the host Amazon EC2 instance. If task is
- // specified, all containers within the specified task share the same IPC resources.
- // If none is specified, then IPC resources within the containers of a task
- // are private and not shared with other containers in a task or on the container
- // instance. If no value is specified, then the IPC resource namespace sharing
- // depends on the Docker daemon setting on the container instance. For more
- // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc)
- // in the Docker run reference.
- //
- // If the host IPC mode is used, be aware that there is a heightened risk of
- // undesired IPC namespace expose. For more information, see Docker security
- // (https://docs.docker.com/engine/security/security/).
- //
- // If you are setting namespaced kernel parameters using systemControls for
- // the containers in the task, the following will apply to your IPC resource
- // namespace. For more information, see System Controls (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // * For tasks that use the host IPC mode, IPC namespace related systemControls
- // are not supported.
- //
- // * For tasks that use the task IPC mode, IPC namespace related systemControls
- // will apply to all containers within a task.
- //
- // This parameter is not supported for Windows containers or tasks using the
- // Fargate launch type.
- IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"`
- // The amount (in MiB) of memory used by the task. If using the EC2 launch type,
- // this field is optional and any value can be used. If using the Fargate launch
- // type, this field is required and you must use one of the following values,
- // which determines your range of valid values for the cpu parameter:
- //
- // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25
- // vCPU)
- //
- // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values:
- // 512 (.5 vCPU)
- //
- // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168
- // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)
- //
- // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) -
- // Available cpu values: 2048 (2 vCPU)
- //
- // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) -
- // Available cpu values: 4096 (4 vCPU)
- Memory *string `locationName:"memory" type:"string"`
- // The Docker networking mode to use for the containers in the task. The valid
- // values are none, bridge, awsvpc, and host. The default Docker network mode
- // is bridge. If you are using the Fargate launch type, the awsvpc network mode
- // is required. If you are using the EC2 launch type, any network mode can be
- // used. If the network mode is set to none, you cannot specify port mappings
- // in your container definitions, and the tasks containers do not have external
- // connectivity. The host and awsvpc network modes offer the highest networking
- // performance for containers because they use the EC2 network stack instead
- // of the virtualized network stack provided by the bridge mode.
- //
- // With the host and awsvpc network modes, exposed container ports are mapped
- // directly to the corresponding host port (for the host network mode) or the
- // attached elastic network interface port (for the awsvpc network mode), so
- // you cannot take advantage of dynamic host port mappings.
- //
- // If the network mode is awsvpc, the task is allocated an elastic network interface,
- // and you must specify a NetworkConfiguration value when you create a service
- // or run a task with the task definition. For more information, see Task Networking
- // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with
- // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network
- // mode.
- //
- // If the network mode is host, you cannot run multiple instantiations of the
- // same task on a single container instance when port mappings are used.
- //
- // Docker for Windows uses different network modes than Docker for Linux. When
- // you register a task definition with Windows containers, you must not specify
- // a network mode. If you use the console to register a task definition with
- // Windows containers, you must choose the <default> network mode object.
- //
- // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings)
- // in the Docker run reference.
- NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"`
- // The process namespace to use for the containers in the task. The valid values
- // are host or task. If host is specified, then all containers within the tasks
- // that specified the host PID mode on the same container instance share the
- // same IPC resources with the host Amazon EC2 instance. If task is specified,
- // all containers within the specified task share the same process namespace.
- // If no value is specified, the default is a private namespace. For more information,
- // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid)
- // in the Docker run reference.
- //
- // If the host PID mode is used, be aware that there is a heightened risk of
- // undesired process namespace expose. For more information, see Docker security
- // (https://docs.docker.com/engine/security/security/).
- //
- // This parameter is not supported for Windows containers or tasks using the
- // Fargate launch type.
- PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"`
- // An array of placement constraint objects to use for tasks. This field is
- // not valid if you are using the Fargate launch type for your task.
- PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"`
- // The container instance attributes required by your task. This field is not
- // valid if you are using the Fargate launch type for your task.
- RequiresAttributes []*Attribute `locationName:"requiresAttributes" type:"list"`
- // The launch type that the task is using.
- RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"`
- // The revision of the task in a particular family. The revision is a version
- // number of a task definition in a family. When you register a task definition
- // for the first time, the revision is 1. Each time that you register a new
- // revision of a task definition in the same family, the revision value always
- // increases by one, even if you have deregistered previous revisions in this
- // family.
- Revision *int64 `locationName:"revision" type:"integer"`
- // The status of the task definition.
- Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"`
- // The full Amazon Resource Name (ARN) of the task definition.
- TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"`
- // The ARN of the IAM role that containers in this task can assume. All containers
- // in this task are granted the permissions that are specified in this role.
- //
- // IAM roles for tasks on Windows require that the -EnableTaskIAMRole option
- // is set when you launch the Amazon ECS-optimized Windows AMI. Your containers
- // must also run some configuration code in order to take advantage of the feature.
- // For more information, see Windows IAM Roles for Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html)
- // in the Amazon Elastic Container Service Developer Guide.
- TaskRoleArn *string `locationName:"taskRoleArn" type:"string"`
- // The list of volumes in a task.
- //
- // If you are using the Fargate launch type, the host and sourcePath parameters
- // are not supported.
- //
- // For more information about volume definition parameters and defaults, see
- // Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html)
- // in the Amazon Elastic Container Service Developer Guide.
- Volumes []*Volume `locationName:"volumes" type:"list"`
- }
- // String returns the string representation
- func (s TaskDefinition) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TaskDefinition) GoString() string {
- return s.String()
- }
- // SetCompatibilities sets the Compatibilities field's value.
- func (s *TaskDefinition) SetCompatibilities(v []*string) *TaskDefinition {
- s.Compatibilities = v
- return s
- }
- // SetContainerDefinitions sets the ContainerDefinitions field's value.
- func (s *TaskDefinition) SetContainerDefinitions(v []*ContainerDefinition) *TaskDefinition {
- s.ContainerDefinitions = v
- return s
- }
- // SetCpu sets the Cpu field's value.
- func (s *TaskDefinition) SetCpu(v string) *TaskDefinition {
- s.Cpu = &v
- return s
- }
- // SetExecutionRoleArn sets the ExecutionRoleArn field's value.
- func (s *TaskDefinition) SetExecutionRoleArn(v string) *TaskDefinition {
- s.ExecutionRoleArn = &v
- return s
- }
- // SetFamily sets the Family field's value.
- func (s *TaskDefinition) SetFamily(v string) *TaskDefinition {
- s.Family = &v
- return s
- }
- // SetIpcMode sets the IpcMode field's value.
- func (s *TaskDefinition) SetIpcMode(v string) *TaskDefinition {
- s.IpcMode = &v
- return s
- }
- // SetMemory sets the Memory field's value.
- func (s *TaskDefinition) SetMemory(v string) *TaskDefinition {
- s.Memory = &v
- return s
- }
- // SetNetworkMode sets the NetworkMode field's value.
- func (s *TaskDefinition) SetNetworkMode(v string) *TaskDefinition {
- s.NetworkMode = &v
- return s
- }
- // SetPidMode sets the PidMode field's value.
- func (s *TaskDefinition) SetPidMode(v string) *TaskDefinition {
- s.PidMode = &v
- return s
- }
- // SetPlacementConstraints sets the PlacementConstraints field's value.
- func (s *TaskDefinition) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *TaskDefinition {
- s.PlacementConstraints = v
- return s
- }
- // SetRequiresAttributes sets the RequiresAttributes field's value.
- func (s *TaskDefinition) SetRequiresAttributes(v []*Attribute) *TaskDefinition {
- s.RequiresAttributes = v
- return s
- }
- // SetRequiresCompatibilities sets the RequiresCompatibilities field's value.
- func (s *TaskDefinition) SetRequiresCompatibilities(v []*string) *TaskDefinition {
- s.RequiresCompatibilities = v
- return s
- }
- // SetRevision sets the Revision field's value.
- func (s *TaskDefinition) SetRevision(v int64) *TaskDefinition {
- s.Revision = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *TaskDefinition) SetStatus(v string) *TaskDefinition {
- s.Status = &v
- return s
- }
- // SetTaskDefinitionArn sets the TaskDefinitionArn field's value.
- func (s *TaskDefinition) SetTaskDefinitionArn(v string) *TaskDefinition {
- s.TaskDefinitionArn = &v
- return s
- }
- // SetTaskRoleArn sets the TaskRoleArn field's value.
- func (s *TaskDefinition) SetTaskRoleArn(v string) *TaskDefinition {
- s.TaskRoleArn = &v
- return s
- }
- // SetVolumes sets the Volumes field's value.
- func (s *TaskDefinition) SetVolumes(v []*Volume) *TaskDefinition {
- s.Volumes = v
- return s
- }
- // An object representing a constraint on task placement in the task definition.
- //
- // If you are using the Fargate launch type, task placement constraints are
- // not supported.
- //
- // For more information, see Task Placement Constraints (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html)
- // in the Amazon Elastic Container Service Developer Guide.
- type TaskDefinitionPlacementConstraint struct {
- _ struct{} `type:"structure"`
- // A cluster query language expression to apply to the constraint. For more
- // information, see Cluster Query Language (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html)
- // in the Amazon Elastic Container Service Developer Guide.
- Expression *string `locationName:"expression" type:"string"`
- // The type of constraint. The DistinctInstance constraint ensures that each
- // task in a particular group is running on a different container instance.
- // The MemberOf constraint restricts selection to be from a group of valid candidates.
- Type *string `locationName:"type" type:"string" enum:"TaskDefinitionPlacementConstraintType"`
- }
- // String returns the string representation
- func (s TaskDefinitionPlacementConstraint) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TaskDefinitionPlacementConstraint) GoString() string {
- return s.String()
- }
- // SetExpression sets the Expression field's value.
- func (s *TaskDefinitionPlacementConstraint) SetExpression(v string) *TaskDefinitionPlacementConstraint {
- s.Expression = &v
- return s
- }
- // SetType sets the Type field's value.
- func (s *TaskDefinitionPlacementConstraint) SetType(v string) *TaskDefinitionPlacementConstraint {
- s.Type = &v
- return s
- }
- // The overrides associated with a task.
- type TaskOverride struct {
- _ struct{} `type:"structure"`
- // One or more container overrides sent to a task.
- ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"`
- // The Amazon Resource Name (ARN) of the task execution role that the Amazon
- // ECS container agent and the Docker daemon can assume.
- ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"`
- // The Amazon Resource Name (ARN) of the IAM role that containers in this task
- // can assume. All containers in this task are granted the permissions that
- // are specified in this role.
- TaskRoleArn *string `locationName:"taskRoleArn" type:"string"`
- }
- // String returns the string representation
- func (s TaskOverride) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TaskOverride) GoString() string {
- return s.String()
- }
- // SetContainerOverrides sets the ContainerOverrides field's value.
- func (s *TaskOverride) SetContainerOverrides(v []*ContainerOverride) *TaskOverride {
- s.ContainerOverrides = v
- return s
- }
- // SetExecutionRoleArn sets the ExecutionRoleArn field's value.
- func (s *TaskOverride) SetExecutionRoleArn(v string) *TaskOverride {
- s.ExecutionRoleArn = &v
- return s
- }
- // SetTaskRoleArn sets the TaskRoleArn field's value.
- func (s *TaskOverride) SetTaskRoleArn(v string) *TaskOverride {
- s.TaskRoleArn = &v
- return s
- }
- // Information about a set of Amazon ECS tasks in an AWS CodeDeploy deployment.
- // An Amazon ECS task set includes details such as the desired number of tasks,
- // how many tasks are running, and whether the task set serves production traffic.
- type TaskSet struct {
- _ struct{} `type:"structure"`
- // The computed desired count for the task set. This is calculated by multiplying
- // the service's desiredCount by the task set's scale percentage.
- ComputedDesiredCount *int64 `locationName:"computedDesiredCount" type:"integer"`
- // The Unix timestamp for when the task set was created.
- CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
- // The deployment ID of the AWS CodeDeploy deployment.
- ExternalId *string `locationName:"externalId" type:"string"`
- // The ID of the task set.
- Id *string `locationName:"id" type:"string"`
- // The launch type the tasks in the task set are using. For more information,
- // see Amazon ECS Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html)
- // in the Amazon Elastic Container Service Developer Guide.
- LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"`
- // Details on a load balancer that is used with a task set.
- LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
- // The network configuration for the task set.
- NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"`
- // The number of tasks in the task set that are in the PENDING status during
- // a deployment. A task in the PENDING state is preparing to enter the RUNNING
- // state. A task set enters the PENDING status when it launches for the first
- // time, or when it is restarted after being in the STOPPED state.
- PendingCount *int64 `locationName:"pendingCount" type:"integer"`
- // The platform version on which the tasks in the task set are running. A platform
- // version is only specified for tasks using the Fargate launch type. If one
- // is not specified, the LATEST platform version is used by default. For more
- // information, see AWS Fargate Platform Versions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html)
- // in the Amazon Elastic Container Service Developer Guide.
- PlatformVersion *string `locationName:"platformVersion" type:"string"`
- // The number of tasks in the task set that are in the RUNNING status during
- // a deployment. A task in the RUNNING state is running and ready for use.
- RunningCount *int64 `locationName:"runningCount" type:"integer"`
- // A floating-point percentage of the desired number of tasks to place and keep
- // running in the service.
- Scale *Scale `locationName:"scale" type:"structure"`
- // The stability status, which indicates whether the task set has reached a
- // steady state. If the following conditions are met, the task set will be in
- // STEADY_STATE:
- //
- // * The task runningCount is equal to the computedDesiredCount.
- //
- // * The pendingCount is 0.
- //
- // * There are no tasks running on container instances in the DRAINING status.
- //
- // * All tasks are reporting a healthy status from the load balancers, service
- // discovery, and container health checks.
- //
- // If any of those conditions are not met, the stability status returns STABILIZING.
- StabilityStatus *string `locationName:"stabilityStatus" type:"string" enum:"StabilityStatus"`
- // The Unix timestamp for when the task set stability status was retrieved.
- StabilityStatusAt *time.Time `locationName:"stabilityStatusAt" type:"timestamp"`
- // The tag specified when a task set is started. If the task is started by an
- // AWS CodeDeploy deployment, then the startedBy parameter is CODE_DEPLOY.
- StartedBy *string `locationName:"startedBy" type:"string"`
- // The status of the task set. The following describes each state:
- //
- // PRIMARYThe task set is serving production traffic.
- //
- // ACTIVEThe task set is not serving production traffic.
- //
- // DRAININGThe tasks in the task set are being stopped and their corresponding
- // targets are being deregistered from their target group.
- Status *string `locationName:"status" type:"string"`
- // The task definition the task set is using.
- TaskDefinition *string `locationName:"taskDefinition" type:"string"`
- // The Amazon Resource Name (ARN) of the task set.
- TaskSetArn *string `locationName:"taskSetArn" type:"string"`
- // The Unix timestamp for when the task set was last updated.
- UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"`
- }
- // String returns the string representation
- func (s TaskSet) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TaskSet) GoString() string {
- return s.String()
- }
- // SetComputedDesiredCount sets the ComputedDesiredCount field's value.
- func (s *TaskSet) SetComputedDesiredCount(v int64) *TaskSet {
- s.ComputedDesiredCount = &v
- return s
- }
- // SetCreatedAt sets the CreatedAt field's value.
- func (s *TaskSet) SetCreatedAt(v time.Time) *TaskSet {
- s.CreatedAt = &v
- return s
- }
- // SetExternalId sets the ExternalId field's value.
- func (s *TaskSet) SetExternalId(v string) *TaskSet {
- s.ExternalId = &v
- return s
- }
- // SetId sets the Id field's value.
- func (s *TaskSet) SetId(v string) *TaskSet {
- s.Id = &v
- return s
- }
- // SetLaunchType sets the LaunchType field's value.
- func (s *TaskSet) SetLaunchType(v string) *TaskSet {
- s.LaunchType = &v
- return s
- }
- // SetLoadBalancers sets the LoadBalancers field's value.
- func (s *TaskSet) SetLoadBalancers(v []*LoadBalancer) *TaskSet {
- s.LoadBalancers = v
- return s
- }
- // SetNetworkConfiguration sets the NetworkConfiguration field's value.
- func (s *TaskSet) SetNetworkConfiguration(v *NetworkConfiguration) *TaskSet {
- s.NetworkConfiguration = v
- return s
- }
- // SetPendingCount sets the PendingCount field's value.
- func (s *TaskSet) SetPendingCount(v int64) *TaskSet {
- s.PendingCount = &v
- return s
- }
- // SetPlatformVersion sets the PlatformVersion field's value.
- func (s *TaskSet) SetPlatformVersion(v string) *TaskSet {
- s.PlatformVersion = &v
- return s
- }
- // SetRunningCount sets the RunningCount field's value.
- func (s *TaskSet) SetRunningCount(v int64) *TaskSet {
- s.RunningCount = &v
- return s
- }
- // SetScale sets the Scale field's value.
- func (s *TaskSet) SetScale(v *Scale) *TaskSet {
- s.Scale = v
- return s
- }
- // SetStabilityStatus sets the StabilityStatus field's value.
- func (s *TaskSet) SetStabilityStatus(v string) *TaskSet {
- s.StabilityStatus = &v
- return s
- }
- // SetStabilityStatusAt sets the StabilityStatusAt field's value.
- func (s *TaskSet) SetStabilityStatusAt(v time.Time) *TaskSet {
- s.StabilityStatusAt = &v
- return s
- }
- // SetStartedBy sets the StartedBy field's value.
- func (s *TaskSet) SetStartedBy(v string) *TaskSet {
- s.StartedBy = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *TaskSet) SetStatus(v string) *TaskSet {
- s.Status = &v
- return s
- }
- // SetTaskDefinition sets the TaskDefinition field's value.
- func (s *TaskSet) SetTaskDefinition(v string) *TaskSet {
- s.TaskDefinition = &v
- return s
- }
- // SetTaskSetArn sets the TaskSetArn field's value.
- func (s *TaskSet) SetTaskSetArn(v string) *TaskSet {
- s.TaskSetArn = &v
- return s
- }
- // SetUpdatedAt sets the UpdatedAt field's value.
- func (s *TaskSet) SetUpdatedAt(v time.Time) *TaskSet {
- s.UpdatedAt = &v
- return s
- }
- // The container path, mount options, and size of the tmpfs mount.
- type Tmpfs struct {
- _ struct{} `type:"structure"`
- // The absolute file path where the tmpfs volume is to be mounted.
- //
- // ContainerPath is a required field
- ContainerPath *string `locationName:"containerPath" type:"string" required:"true"`
- // The list of tmpfs volume mount options.
- //
- // Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev"
- // | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" |
- // "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind"
- // | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared"
- // | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime"
- // | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol"
- MountOptions []*string `locationName:"mountOptions" type:"list"`
- // The size (in MiB) of the tmpfs volume.
- //
- // Size is a required field
- Size *int64 `locationName:"size" type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s Tmpfs) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Tmpfs) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Tmpfs) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Tmpfs"}
- if s.ContainerPath == nil {
- invalidParams.Add(request.NewErrParamRequired("ContainerPath"))
- }
- if s.Size == nil {
- invalidParams.Add(request.NewErrParamRequired("Size"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetContainerPath sets the ContainerPath field's value.
- func (s *Tmpfs) SetContainerPath(v string) *Tmpfs {
- s.ContainerPath = &v
- return s
- }
- // SetMountOptions sets the MountOptions field's value.
- func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs {
- s.MountOptions = v
- return s
- }
- // SetSize sets the Size field's value.
- func (s *Tmpfs) SetSize(v int64) *Tmpfs {
- s.Size = &v
- return s
- }
- // The ulimit settings to pass to the container.
- type Ulimit struct {
- _ struct{} `type:"structure"`
- // The hard limit for the ulimit type.
- //
- // HardLimit is a required field
- HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"`
- // The type of the ulimit.
- //
- // Name is a required field
- Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"`
- // The soft limit for the ulimit type.
- //
- // SoftLimit is a required field
- SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"`
- }
- // String returns the string representation
- func (s Ulimit) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Ulimit) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Ulimit) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Ulimit"}
- if s.HardLimit == nil {
- invalidParams.Add(request.NewErrParamRequired("HardLimit"))
- }
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if s.SoftLimit == nil {
- invalidParams.Add(request.NewErrParamRequired("SoftLimit"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetHardLimit sets the HardLimit field's value.
- func (s *Ulimit) SetHardLimit(v int64) *Ulimit {
- s.HardLimit = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *Ulimit) SetName(v string) *Ulimit {
- s.Name = &v
- return s
- }
- // SetSoftLimit sets the SoftLimit field's value.
- func (s *Ulimit) SetSoftLimit(v int64) *Ulimit {
- s.SoftLimit = &v
- return s
- }
- type UntagResourceInput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the resource from which to delete tags.
- // Currently, the supported resources are Amazon ECS tasks, services, task definitions,
- // clusters, and container instances.
- //
- // ResourceArn is a required field
- ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
- // The keys of the tags to be removed.
- //
- // TagKeys is a required field
- TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
- }
- // String returns the string representation
- func (s UntagResourceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UntagResourceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UntagResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
- if s.ResourceArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
- }
- if s.TagKeys == nil {
- invalidParams.Add(request.NewErrParamRequired("TagKeys"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetResourceArn sets the ResourceArn field's value.
- func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
- s.ResourceArn = &v
- return s
- }
- // SetTagKeys sets the TagKeys field's value.
- func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
- s.TagKeys = v
- return s
- }
- type UntagResourceOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s UntagResourceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UntagResourceOutput) GoString() string {
- return s.String()
- }
- type UpdateContainerAgentInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that your
- // container instance is running on. If you do not specify a cluster, the default
- // cluster is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // The container instance ID or full ARN entries for the container instance
- // on which you would like to update the Amazon ECS container agent.
- //
- // ContainerInstance is a required field
- ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s UpdateContainerAgentInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateContainerAgentInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdateContainerAgentInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateContainerAgentInput"}
- if s.ContainerInstance == nil {
- invalidParams.Add(request.NewErrParamRequired("ContainerInstance"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCluster sets the Cluster field's value.
- func (s *UpdateContainerAgentInput) SetCluster(v string) *UpdateContainerAgentInput {
- s.Cluster = &v
- return s
- }
- // SetContainerInstance sets the ContainerInstance field's value.
- func (s *UpdateContainerAgentInput) SetContainerInstance(v string) *UpdateContainerAgentInput {
- s.ContainerInstance = &v
- return s
- }
- type UpdateContainerAgentOutput struct {
- _ struct{} `type:"structure"`
- // The container instance for which the container agent was updated.
- ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"`
- }
- // String returns the string representation
- func (s UpdateContainerAgentOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateContainerAgentOutput) GoString() string {
- return s.String()
- }
- // SetContainerInstance sets the ContainerInstance field's value.
- func (s *UpdateContainerAgentOutput) SetContainerInstance(v *ContainerInstance) *UpdateContainerAgentOutput {
- s.ContainerInstance = v
- return s
- }
- type UpdateContainerInstancesStateInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that hosts
- // the container instance to update. If you do not specify a cluster, the default
- // cluster is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // A list of container instance IDs or full ARN entries.
- //
- // ContainerInstances is a required field
- ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"`
- // The container instance state with which to update the container instance.
- //
- // Status is a required field
- Status *string `locationName:"status" type:"string" required:"true" enum:"ContainerInstanceStatus"`
- }
- // String returns the string representation
- func (s UpdateContainerInstancesStateInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateContainerInstancesStateInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdateContainerInstancesStateInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateContainerInstancesStateInput"}
- if s.ContainerInstances == nil {
- invalidParams.Add(request.NewErrParamRequired("ContainerInstances"))
- }
- if s.Status == nil {
- invalidParams.Add(request.NewErrParamRequired("Status"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCluster sets the Cluster field's value.
- func (s *UpdateContainerInstancesStateInput) SetCluster(v string) *UpdateContainerInstancesStateInput {
- s.Cluster = &v
- return s
- }
- // SetContainerInstances sets the ContainerInstances field's value.
- func (s *UpdateContainerInstancesStateInput) SetContainerInstances(v []*string) *UpdateContainerInstancesStateInput {
- s.ContainerInstances = v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *UpdateContainerInstancesStateInput) SetStatus(v string) *UpdateContainerInstancesStateInput {
- s.Status = &v
- return s
- }
- type UpdateContainerInstancesStateOutput struct {
- _ struct{} `type:"structure"`
- // The list of container instances.
- ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"`
- // Any failures associated with the call.
- Failures []*Failure `locationName:"failures" type:"list"`
- }
- // String returns the string representation
- func (s UpdateContainerInstancesStateOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateContainerInstancesStateOutput) GoString() string {
- return s.String()
- }
- // SetContainerInstances sets the ContainerInstances field's value.
- func (s *UpdateContainerInstancesStateOutput) SetContainerInstances(v []*ContainerInstance) *UpdateContainerInstancesStateOutput {
- s.ContainerInstances = v
- return s
- }
- // SetFailures sets the Failures field's value.
- func (s *UpdateContainerInstancesStateOutput) SetFailures(v []*Failure) *UpdateContainerInstancesStateOutput {
- s.Failures = v
- return s
- }
- type UpdateServiceInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that your
- // service is running on. If you do not specify a cluster, the default cluster
- // is assumed.
- Cluster *string `locationName:"cluster" type:"string"`
- // Optional deployment parameters that control how many tasks run during the
- // deployment and the ordering of stopping and starting tasks.
- DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"`
- // The number of instantiations of the task to place and keep running in your
- // service.
- DesiredCount *int64 `locationName:"desiredCount" type:"integer"`
- // Whether to force a new deployment of the service. Deployments are not forced
- // by default. You can use this option to trigger a new deployment with no service
- // definition changes. For example, you can update a service's tasks to use
- // a newer Docker image with the same image/tag combination (my_image:latest)
- // or to roll Fargate tasks onto a newer platform version.
- ForceNewDeployment *bool `locationName:"forceNewDeployment" type:"boolean"`
- // The period of time, in seconds, that the Amazon ECS service scheduler should
- // ignore unhealthy Elastic Load Balancing target health checks after a task
- // has first started. This is only valid if your service is configured to use
- // a load balancer. If your service's tasks take a while to start and respond
- // to Elastic Load Balancing health checks, you can specify a health check grace
- // period of up to 1,800 seconds. During that time, the ECS service scheduler
- // ignores the Elastic Load Balancing health check status. This grace period
- // can prevent the ECS service scheduler from marking tasks as unhealthy and
- // stopping them before they have time to come up.
- HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"`
- // The network configuration for the service. This parameter is required for
- // task definitions that use the awsvpc network mode to receive their own elastic
- // network interface, and it is not supported for other network modes. For more
- // information, see Task Networking (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html)
- // in the Amazon Elastic Container Service Developer Guide.
- //
- // Updating a service to add a subnet to a list of existing subnets does not
- // trigger a service deployment. For example, if your network configuration
- // change is to keep the existing subnets and simply add another subnet to the
- // network configuration, this does not trigger a new service deployment.
- NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"`
- // The platform version on which your tasks in the service are running. A platform
- // version is only specified for tasks using the Fargate launch type. If one
- // is not specified, the LATEST platform version is used by default. For more
- // information, see AWS Fargate Platform Versions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html)
- // in the Amazon Elastic Container Service Developer Guide.
- PlatformVersion *string `locationName:"platformVersion" type:"string"`
- // The name of the service to update.
- //
- // Service is a required field
- Service *string `locationName:"service" type:"string" required:"true"`
- // The family and revision (family:revision) or full ARN of the task definition
- // to run in your service. If a revision is not specified, the latest ACTIVE
- // revision is used. If you modify the task definition with UpdateService, Amazon
- // ECS spawns a task with the new version of the task definition and then stops
- // an old task after the new version is running.
- TaskDefinition *string `locationName:"taskDefinition" type:"string"`
- }
- // String returns the string representation
- func (s UpdateServiceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateServiceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdateServiceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"}
- if s.Service == nil {
- invalidParams.Add(request.NewErrParamRequired("Service"))
- }
- if s.NetworkConfiguration != nil {
- if err := s.NetworkConfiguration.Validate(); err != nil {
- invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCluster sets the Cluster field's value.
- func (s *UpdateServiceInput) SetCluster(v string) *UpdateServiceInput {
- s.Cluster = &v
- return s
- }
- // SetDeploymentConfiguration sets the DeploymentConfiguration field's value.
- func (s *UpdateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *UpdateServiceInput {
- s.DeploymentConfiguration = v
- return s
- }
- // SetDesiredCount sets the DesiredCount field's value.
- func (s *UpdateServiceInput) SetDesiredCount(v int64) *UpdateServiceInput {
- s.DesiredCount = &v
- return s
- }
- // SetForceNewDeployment sets the ForceNewDeployment field's value.
- func (s *UpdateServiceInput) SetForceNewDeployment(v bool) *UpdateServiceInput {
- s.ForceNewDeployment = &v
- return s
- }
- // SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value.
- func (s *UpdateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *UpdateServiceInput {
- s.HealthCheckGracePeriodSeconds = &v
- return s
- }
- // SetNetworkConfiguration sets the NetworkConfiguration field's value.
- func (s *UpdateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *UpdateServiceInput {
- s.NetworkConfiguration = v
- return s
- }
- // SetPlatformVersion sets the PlatformVersion field's value.
- func (s *UpdateServiceInput) SetPlatformVersion(v string) *UpdateServiceInput {
- s.PlatformVersion = &v
- return s
- }
- // SetService sets the Service field's value.
- func (s *UpdateServiceInput) SetService(v string) *UpdateServiceInput {
- s.Service = &v
- return s
- }
- // SetTaskDefinition sets the TaskDefinition field's value.
- func (s *UpdateServiceInput) SetTaskDefinition(v string) *UpdateServiceInput {
- s.TaskDefinition = &v
- return s
- }
- type UpdateServiceOutput struct {
- _ struct{} `type:"structure"`
- // The full description of your service following the update call.
- Service *Service `locationName:"service" type:"structure"`
- }
- // String returns the string representation
- func (s UpdateServiceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateServiceOutput) GoString() string {
- return s.String()
- }
- // SetService sets the Service field's value.
- func (s *UpdateServiceOutput) SetService(v *Service) *UpdateServiceOutput {
- s.Service = v
- return s
- }
- // The Docker and Amazon ECS container agent version information about a container
- // instance.
- type VersionInfo struct {
- _ struct{} `type:"structure"`
- // The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent
- // (https://github.com/aws/amazon-ecs-agent/commits/master) GitHub repository.
- AgentHash *string `locationName:"agentHash" type:"string"`
- // The version number of the Amazon ECS container agent.
- AgentVersion *string `locationName:"agentVersion" type:"string"`
- // The Docker version running on the container instance.
- DockerVersion *string `locationName:"dockerVersion" type:"string"`
- }
- // String returns the string representation
- func (s VersionInfo) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s VersionInfo) GoString() string {
- return s.String()
- }
- // SetAgentHash sets the AgentHash field's value.
- func (s *VersionInfo) SetAgentHash(v string) *VersionInfo {
- s.AgentHash = &v
- return s
- }
- // SetAgentVersion sets the AgentVersion field's value.
- func (s *VersionInfo) SetAgentVersion(v string) *VersionInfo {
- s.AgentVersion = &v
- return s
- }
- // SetDockerVersion sets the DockerVersion field's value.
- func (s *VersionInfo) SetDockerVersion(v string) *VersionInfo {
- s.DockerVersion = &v
- return s
- }
- // A data volume used in a task definition. For tasks that use a Docker volume,
- // specify a DockerVolumeConfiguration. For tasks that use a bind mount host
- // volume, specify a host and optional sourcePath. For more information, see
- // Using Data Volumes in Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html).
- type Volume struct {
- _ struct{} `type:"structure"`
- // This parameter is specified when you are using Docker volumes. Docker volumes
- // are only supported when you are using the EC2 launch type. Windows containers
- // only support the use of the local driver. To use bind mounts, specify a host
- // instead.
- DockerVolumeConfiguration *DockerVolumeConfiguration `locationName:"dockerVolumeConfiguration" type:"structure"`
- // This parameter is specified when you are using bind mount host volumes. Bind
- // mount host volumes are supported when you are using either the EC2 or Fargate
- // launch types. The contents of the host parameter determine whether your bind
- // mount host volume persists on the host container instance and where it is
- // stored. If the host parameter is empty, then the Docker daemon assigns a
- // host path for your data volume. However, the data is not guaranteed to persist
- // after the containers associated with it stop running.
- //
- // Windows containers can mount whole directories on the same drive as $env:ProgramData.
- // Windows containers cannot mount directories on a different drive, and mount
- // point cannot be across drives. For example, you can mount C:\my\path:C:\my\path
- // and D:\:D:\, but not D:\my\path:C:\my\path or D:\:C:\my\path.
- Host *HostVolumeProperties `locationName:"host" type:"structure"`
- // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
- // hyphens, and underscores are allowed. This name is referenced in the sourceVolume
- // parameter of container definition mountPoints.
- Name *string `locationName:"name" type:"string"`
- }
- // String returns the string representation
- func (s Volume) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Volume) GoString() string {
- return s.String()
- }
- // SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value.
- func (s *Volume) SetDockerVolumeConfiguration(v *DockerVolumeConfiguration) *Volume {
- s.DockerVolumeConfiguration = v
- return s
- }
- // SetHost sets the Host field's value.
- func (s *Volume) SetHost(v *HostVolumeProperties) *Volume {
- s.Host = v
- return s
- }
- // SetName sets the Name field's value.
- func (s *Volume) SetName(v string) *Volume {
- s.Name = &v
- return s
- }
- // Details on a data volume from another container in the same task definition.
- type VolumeFrom struct {
- _ struct{} `type:"structure"`
- // If this value is true, the container has read-only access to the volume.
- // If this value is false, then the container can write to the volume. The default
- // value is false.
- ReadOnly *bool `locationName:"readOnly" type:"boolean"`
- // The name of another container within the same task definition from which
- // to mount volumes.
- SourceContainer *string `locationName:"sourceContainer" type:"string"`
- }
- // String returns the string representation
- func (s VolumeFrom) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s VolumeFrom) GoString() string {
- return s.String()
- }
- // SetReadOnly sets the ReadOnly field's value.
- func (s *VolumeFrom) SetReadOnly(v bool) *VolumeFrom {
- s.ReadOnly = &v
- return s
- }
- // SetSourceContainer sets the SourceContainer field's value.
- func (s *VolumeFrom) SetSourceContainer(v string) *VolumeFrom {
- s.SourceContainer = &v
- return s
- }
- const (
- // AgentUpdateStatusPending is a AgentUpdateStatus enum value
- AgentUpdateStatusPending = "PENDING"
- // AgentUpdateStatusStaging is a AgentUpdateStatus enum value
- AgentUpdateStatusStaging = "STAGING"
- // AgentUpdateStatusStaged is a AgentUpdateStatus enum value
- AgentUpdateStatusStaged = "STAGED"
- // AgentUpdateStatusUpdating is a AgentUpdateStatus enum value
- AgentUpdateStatusUpdating = "UPDATING"
- // AgentUpdateStatusUpdated is a AgentUpdateStatus enum value
- AgentUpdateStatusUpdated = "UPDATED"
- // AgentUpdateStatusFailed is a AgentUpdateStatus enum value
- AgentUpdateStatusFailed = "FAILED"
- )
- const (
- // AssignPublicIpEnabled is a AssignPublicIp enum value
- AssignPublicIpEnabled = "ENABLED"
- // AssignPublicIpDisabled is a AssignPublicIp enum value
- AssignPublicIpDisabled = "DISABLED"
- )
- const (
- // ClusterFieldStatistics is a ClusterField enum value
- ClusterFieldStatistics = "STATISTICS"
- // ClusterFieldTags is a ClusterField enum value
- ClusterFieldTags = "TAGS"
- )
- const (
- // CompatibilityEc2 is a Compatibility enum value
- CompatibilityEc2 = "EC2"
- // CompatibilityFargate is a Compatibility enum value
- CompatibilityFargate = "FARGATE"
- )
- const (
- // ConnectivityConnected is a Connectivity enum value
- ConnectivityConnected = "CONNECTED"
- // ConnectivityDisconnected is a Connectivity enum value
- ConnectivityDisconnected = "DISCONNECTED"
- )
- const (
- // ContainerInstanceFieldTags is a ContainerInstanceField enum value
- ContainerInstanceFieldTags = "TAGS"
- )
- const (
- // ContainerInstanceStatusActive is a ContainerInstanceStatus enum value
- ContainerInstanceStatusActive = "ACTIVE"
- // ContainerInstanceStatusDraining is a ContainerInstanceStatus enum value
- ContainerInstanceStatusDraining = "DRAINING"
- )
- const (
- // DeploymentControllerTypeEcs is a DeploymentControllerType enum value
- DeploymentControllerTypeEcs = "ECS"
- // DeploymentControllerTypeCodeDeploy is a DeploymentControllerType enum value
- DeploymentControllerTypeCodeDeploy = "CODE_DEPLOY"
- )
- const (
- // DesiredStatusRunning is a DesiredStatus enum value
- DesiredStatusRunning = "RUNNING"
- // DesiredStatusPending is a DesiredStatus enum value
- DesiredStatusPending = "PENDING"
- // DesiredStatusStopped is a DesiredStatus enum value
- DesiredStatusStopped = "STOPPED"
- )
- const (
- // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value
- DeviceCgroupPermissionRead = "read"
- // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value
- DeviceCgroupPermissionWrite = "write"
- // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value
- DeviceCgroupPermissionMknod = "mknod"
- )
- const (
- // HealthStatusHealthy is a HealthStatus enum value
- HealthStatusHealthy = "HEALTHY"
- // HealthStatusUnhealthy is a HealthStatus enum value
- HealthStatusUnhealthy = "UNHEALTHY"
- // HealthStatusUnknown is a HealthStatus enum value
- HealthStatusUnknown = "UNKNOWN"
- )
- const (
- // IpcModeHost is a IpcMode enum value
- IpcModeHost = "host"
- // IpcModeTask is a IpcMode enum value
- IpcModeTask = "task"
- // IpcModeNone is a IpcMode enum value
- IpcModeNone = "none"
- )
- const (
- // LaunchTypeEc2 is a LaunchType enum value
- LaunchTypeEc2 = "EC2"
- // LaunchTypeFargate is a LaunchType enum value
- LaunchTypeFargate = "FARGATE"
- )
- const (
- // LogDriverJsonFile is a LogDriver enum value
- LogDriverJsonFile = "json-file"
- // LogDriverSyslog is a LogDriver enum value
- LogDriverSyslog = "syslog"
- // LogDriverJournald is a LogDriver enum value
- LogDriverJournald = "journald"
- // LogDriverGelf is a LogDriver enum value
- LogDriverGelf = "gelf"
- // LogDriverFluentd is a LogDriver enum value
- LogDriverFluentd = "fluentd"
- // LogDriverAwslogs is a LogDriver enum value
- LogDriverAwslogs = "awslogs"
- // LogDriverSplunk is a LogDriver enum value
- LogDriverSplunk = "splunk"
- )
- const (
- // NetworkModeBridge is a NetworkMode enum value
- NetworkModeBridge = "bridge"
- // NetworkModeHost is a NetworkMode enum value
- NetworkModeHost = "host"
- // NetworkModeAwsvpc is a NetworkMode enum value
- NetworkModeAwsvpc = "awsvpc"
- // NetworkModeNone is a NetworkMode enum value
- NetworkModeNone = "none"
- )
- const (
- // PidModeHost is a PidMode enum value
- PidModeHost = "host"
- // PidModeTask is a PidMode enum value
- PidModeTask = "task"
- )
- const (
- // PlacementConstraintTypeDistinctInstance is a PlacementConstraintType enum value
- PlacementConstraintTypeDistinctInstance = "distinctInstance"
- // PlacementConstraintTypeMemberOf is a PlacementConstraintType enum value
- PlacementConstraintTypeMemberOf = "memberOf"
- )
- const (
- // PlacementStrategyTypeRandom is a PlacementStrategyType enum value
- PlacementStrategyTypeRandom = "random"
- // PlacementStrategyTypeSpread is a PlacementStrategyType enum value
- PlacementStrategyTypeSpread = "spread"
- // PlacementStrategyTypeBinpack is a PlacementStrategyType enum value
- PlacementStrategyTypeBinpack = "binpack"
- )
- const (
- // PropagateTagsTaskDefinition is a PropagateTags enum value
- PropagateTagsTaskDefinition = "TASK_DEFINITION"
- // PropagateTagsService is a PropagateTags enum value
- PropagateTagsService = "SERVICE"
- )
- const (
- // ScaleUnitPercent is a ScaleUnit enum value
- ScaleUnitPercent = "PERCENT"
- )
- const (
- // SchedulingStrategyReplica is a SchedulingStrategy enum value
- SchedulingStrategyReplica = "REPLICA"
- // SchedulingStrategyDaemon is a SchedulingStrategy enum value
- SchedulingStrategyDaemon = "DAEMON"
- )
- const (
- // ScopeTask is a Scope enum value
- ScopeTask = "task"
- // ScopeShared is a Scope enum value
- ScopeShared = "shared"
- )
- const (
- // ServiceFieldTags is a ServiceField enum value
- ServiceFieldTags = "TAGS"
- )
- const (
- // SettingNameServiceLongArnFormat is a SettingName enum value
- SettingNameServiceLongArnFormat = "serviceLongArnFormat"
- // SettingNameTaskLongArnFormat is a SettingName enum value
- SettingNameTaskLongArnFormat = "taskLongArnFormat"
- // SettingNameContainerInstanceLongArnFormat is a SettingName enum value
- SettingNameContainerInstanceLongArnFormat = "containerInstanceLongArnFormat"
- )
- const (
- // SortOrderAsc is a SortOrder enum value
- SortOrderAsc = "ASC"
- // SortOrderDesc is a SortOrder enum value
- SortOrderDesc = "DESC"
- )
- const (
- // StabilityStatusSteadyState is a StabilityStatus enum value
- StabilityStatusSteadyState = "STEADY_STATE"
- // StabilityStatusStabilizing is a StabilityStatus enum value
- StabilityStatusStabilizing = "STABILIZING"
- )
- const (
- // TargetTypeContainerInstance is a TargetType enum value
- TargetTypeContainerInstance = "container-instance"
- )
- const (
- // TaskDefinitionFamilyStatusActive is a TaskDefinitionFamilyStatus enum value
- TaskDefinitionFamilyStatusActive = "ACTIVE"
- // TaskDefinitionFamilyStatusInactive is a TaskDefinitionFamilyStatus enum value
- TaskDefinitionFamilyStatusInactive = "INACTIVE"
- // TaskDefinitionFamilyStatusAll is a TaskDefinitionFamilyStatus enum value
- TaskDefinitionFamilyStatusAll = "ALL"
- )
- const (
- // TaskDefinitionFieldTags is a TaskDefinitionField enum value
- TaskDefinitionFieldTags = "TAGS"
- )
- const (
- // TaskDefinitionPlacementConstraintTypeMemberOf is a TaskDefinitionPlacementConstraintType enum value
- TaskDefinitionPlacementConstraintTypeMemberOf = "memberOf"
- )
- const (
- // TaskDefinitionStatusActive is a TaskDefinitionStatus enum value
- TaskDefinitionStatusActive = "ACTIVE"
- // TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value
- TaskDefinitionStatusInactive = "INACTIVE"
- )
- const (
- // TaskFieldTags is a TaskField enum value
- TaskFieldTags = "TAGS"
- )
- const (
- // TaskStopCodeTaskFailedToStart is a TaskStopCode enum value
- TaskStopCodeTaskFailedToStart = "TaskFailedToStart"
- // TaskStopCodeEssentialContainerExited is a TaskStopCode enum value
- TaskStopCodeEssentialContainerExited = "EssentialContainerExited"
- // TaskStopCodeUserInitiated is a TaskStopCode enum value
- TaskStopCodeUserInitiated = "UserInitiated"
- )
- const (
- // TransportProtocolTcp is a TransportProtocol enum value
- TransportProtocolTcp = "tcp"
- // TransportProtocolUdp is a TransportProtocol enum value
- TransportProtocolUdp = "udp"
- )
- const (
- // UlimitNameCore is a UlimitName enum value
- UlimitNameCore = "core"
- // UlimitNameCpu is a UlimitName enum value
- UlimitNameCpu = "cpu"
- // UlimitNameData is a UlimitName enum value
- UlimitNameData = "data"
- // UlimitNameFsize is a UlimitName enum value
- UlimitNameFsize = "fsize"
- // UlimitNameLocks is a UlimitName enum value
- UlimitNameLocks = "locks"
- // UlimitNameMemlock is a UlimitName enum value
- UlimitNameMemlock = "memlock"
- // UlimitNameMsgqueue is a UlimitName enum value
- UlimitNameMsgqueue = "msgqueue"
- // UlimitNameNice is a UlimitName enum value
- UlimitNameNice = "nice"
- // UlimitNameNofile is a UlimitName enum value
- UlimitNameNofile = "nofile"
- // UlimitNameNproc is a UlimitName enum value
- UlimitNameNproc = "nproc"
- // UlimitNameRss is a UlimitName enum value
- UlimitNameRss = "rss"
- // UlimitNameRtprio is a UlimitName enum value
- UlimitNameRtprio = "rtprio"
- // UlimitNameRttime is a UlimitName enum value
- UlimitNameRttime = "rttime"
- // UlimitNameSigpending is a UlimitName enum value
- UlimitNameSigpending = "sigpending"
- // UlimitNameStack is a UlimitName enum value
- UlimitNameStack = "stack"
- )
|