123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736 |
- // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
- // Package ecs provides a client for Amazon EC2 Container Service.
- package ecs
- import (
- "fmt"
- "time"
- "github.com/aws/aws-sdk-go/aws/awsutil"
- "github.com/aws/aws-sdk-go/aws/request"
- )
- const opCreateCluster = "CreateCluster"
- // CreateClusterRequest generates a "aws/request.Request" representing the
- // client's request for the CreateCluster operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See CreateCluster for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the CreateCluster method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) {
- op := &request.Operation{
- Name: opCreateCluster,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateClusterInput{}
- }
- req = c.newRequest(op, input, output)
- output = &CreateClusterOutput{}
- req.Data = 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.
- //
- // 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- func (c *ECS) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) {
- req, out := c.CreateClusterRequest(input)
- err := req.Send()
- return out, err
- }
- const opCreateService = "CreateService"
- // CreateServiceRequest generates a "aws/request.Request" representing the
- // client's request for the CreateService operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See CreateService for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the CreateService method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Request, output *CreateServiceOutput) {
- op := &request.Operation{
- Name: opCreateService,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateServiceInput{}
- }
- req = c.newRequest(op, input, output)
- output = &CreateServiceOutput{}
- req.Data = 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 EC2 Container Service Developer Guide.
- //
- // You can optionally specify a deployment configuration for your service. During
- // a deployment (which is triggered by changing the task definition or the desired
- // count of a service with an UpdateService operation), the service scheduler
- // uses the minimumHealthyPercent and maximumPercent parameters to determine
- // the deployment strategy.
- //
- // The minimumHealthyPercent represents a lower limit on the number of your
- // service's tasks that must remain in the RUNNING state during a deployment,
- // as a percentage of the desiredCount (rounded up to the nearest integer).
- // This parameter enables you to deploy without using additional cluster capacity.
- // For example, if your service has a desiredCount of four tasks and a minimumHealthyPercent
- // 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 the container instance it is hosted on is reported
- // as healthy by the load balancer. The default value for minimumHealthyPercent
- // is 50% in the console and 100% for the AWS CLI, the AWS SDKs, and the APIs.
- //
- // The maximumPercent parameter represents an upper limit on the number of your
- // service's tasks that are allowed in the RUNNING or PENDING state during a
- // deployment, as a percentage of the desiredCount (rounded down to the nearest
- // integer). This parameter enables you to define the deployment batch size.
- // For example, if your service has a desiredCount of four tasks and a maximumPercent
- // 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 maximumPercent is 200%.
- //
- // When the service scheduler launches new tasks, it attempts to balance them
- // across the Availability Zones 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).
- //
- // * 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.
- //
- // 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- func (c *ECS) CreateService(input *CreateServiceInput) (*CreateServiceOutput, error) {
- req, out := c.CreateServiceRequest(input)
- err := req.Send()
- return out, err
- }
- const opDeleteCluster = "DeleteCluster"
- // DeleteClusterRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteCluster operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DeleteCluster for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeleteCluster method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) {
- op := &request.Operation{
- Name: opDeleteCluster,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteClusterInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DeleteClusterOutput{}
- req.Data = 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- // * ClusterContainsContainerInstancesException
- // You cannot delete a cluster that has registered container instances. You
- // must first deregister the container instances before you can delete the cluster.
- // For more information, see DeregisterContainerInstance.
- //
- // * ClusterContainsServicesException
- // You cannot delete a cluster that contains services. You must first update
- // the service to reduce its desired task count to 0 and then delete the service.
- // For more information, see UpdateService and DeleteService.
- //
- func (c *ECS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) {
- req, out := c.DeleteClusterRequest(input)
- err := req.Send()
- return out, err
- }
- const opDeleteService = "DeleteService"
- // DeleteServiceRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteService operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DeleteService for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeleteService method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Request, output *DeleteServiceOutput) {
- op := &request.Operation{
- Name: opDeleteService,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteServiceInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DeleteServiceOutput{}
- req.Data = 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 ListServices API operations. 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 DescribeServices
- // API operations; however, in the future, INACTIVE services may be cleaned
- // up and purged from Amazon ECS record keeping, and DescribeServices API operations
- // on those services will return a ServiceNotFoundException 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- // * 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.
- //
- func (c *ECS) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, error) {
- req, out := c.DeleteServiceRequest(input)
- err := req.Send()
- return out, err
- }
- const opDeregisterContainerInstance = "DeregisterContainerInstance"
- // DeregisterContainerInstanceRequest generates a "aws/request.Request" representing the
- // client's request for the DeregisterContainerInstance operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DeregisterContainerInstance for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeregisterContainerInstance method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) DeregisterContainerInstanceRequest(input *DeregisterContainerInstanceInput) (req *request.Request, output *DeregisterContainerInstanceOutput) {
- op := &request.Operation{
- Name: opDeregisterContainerInstance,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeregisterContainerInstanceInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DeregisterContainerInstanceOutput{}
- req.Data = 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 to avoid 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- func (c *ECS) DeregisterContainerInstance(input *DeregisterContainerInstanceInput) (*DeregisterContainerInstanceOutput, error) {
- req, out := c.DeregisterContainerInstanceRequest(input)
- err := req.Send()
- return out, err
- }
- const opDeregisterTaskDefinition = "DeregisterTaskDefinition"
- // DeregisterTaskDefinitionRequest generates a "aws/request.Request" representing the
- // client's request for the DeregisterTaskDefinition operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DeregisterTaskDefinition for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeregisterTaskDefinition method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInput) (req *request.Request, output *DeregisterTaskDefinitionOutput) {
- op := &request.Operation{
- Name: opDeregisterTaskDefinition,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeregisterTaskDefinitionInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DeregisterTaskDefinitionOutput{}
- req.Data = 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 (although there may be up to a 10 minute window following
- // deregistration where these restrictions have not yet taken effect).
- //
- // 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- func (c *ECS) DeregisterTaskDefinition(input *DeregisterTaskDefinitionInput) (*DeregisterTaskDefinitionOutput, error) {
- req, out := c.DeregisterTaskDefinitionRequest(input)
- err := req.Send()
- return out, err
- }
- const opDescribeClusters = "DescribeClusters"
- // DescribeClustersRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeClusters operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DescribeClusters for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DescribeClusters method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) {
- op := &request.Operation{
- Name: opDescribeClusters,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeClustersInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DescribeClustersOutput{}
- req.Data = 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- func (c *ECS) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) {
- req, out := c.DescribeClustersRequest(input)
- err := req.Send()
- return out, err
- }
- const opDescribeContainerInstances = "DescribeContainerInstances"
- // DescribeContainerInstancesRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeContainerInstances operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DescribeContainerInstances for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DescribeContainerInstances method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) DescribeContainerInstancesRequest(input *DescribeContainerInstancesInput) (req *request.Request, output *DescribeContainerInstancesOutput) {
- op := &request.Operation{
- Name: opDescribeContainerInstances,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeContainerInstancesInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DescribeContainerInstancesOutput{}
- req.Data = output
- return
- }
- // DescribeContainerInstances API operation for Amazon EC2 Container Service.
- //
- // Describes Amazon EC2 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- func (c *ECS) DescribeContainerInstances(input *DescribeContainerInstancesInput) (*DescribeContainerInstancesOutput, error) {
- req, out := c.DescribeContainerInstancesRequest(input)
- err := req.Send()
- return out, err
- }
- const opDescribeServices = "DescribeServices"
- // DescribeServicesRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeServices operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DescribeServices for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DescribeServices method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) DescribeServicesRequest(input *DescribeServicesInput) (req *request.Request, output *DescribeServicesOutput) {
- op := &request.Operation{
- Name: opDescribeServices,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeServicesInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DescribeServicesOutput{}
- req.Data = 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- func (c *ECS) DescribeServices(input *DescribeServicesInput) (*DescribeServicesOutput, error) {
- req, out := c.DescribeServicesRequest(input)
- err := req.Send()
- return out, err
- }
- const opDescribeTaskDefinition = "DescribeTaskDefinition"
- // DescribeTaskDefinitionRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeTaskDefinition operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DescribeTaskDefinition for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DescribeTaskDefinition method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) DescribeTaskDefinitionRequest(input *DescribeTaskDefinitionInput) (req *request.Request, output *DescribeTaskDefinitionOutput) {
- op := &request.Operation{
- Name: opDescribeTaskDefinition,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeTaskDefinitionInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DescribeTaskDefinitionOutput{}
- req.Data = 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- func (c *ECS) DescribeTaskDefinition(input *DescribeTaskDefinitionInput) (*DescribeTaskDefinitionOutput, error) {
- req, out := c.DescribeTaskDefinitionRequest(input)
- err := req.Send()
- return out, err
- }
- const opDescribeTasks = "DescribeTasks"
- // DescribeTasksRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeTasks operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DescribeTasks for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DescribeTasks method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) DescribeTasksRequest(input *DescribeTasksInput) (req *request.Request, output *DescribeTasksOutput) {
- op := &request.Operation{
- Name: opDescribeTasks,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeTasksInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DescribeTasksOutput{}
- req.Data = 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- func (c *ECS) DescribeTasks(input *DescribeTasksInput) (*DescribeTasksOutput, error) {
- req, out := c.DescribeTasksRequest(input)
- err := req.Send()
- return out, err
- }
- const opDiscoverPollEndpoint = "DiscoverPollEndpoint"
- // DiscoverPollEndpointRequest generates a "aws/request.Request" representing the
- // client's request for the DiscoverPollEndpoint operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DiscoverPollEndpoint for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DiscoverPollEndpoint method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) DiscoverPollEndpointRequest(input *DiscoverPollEndpointInput) (req *request.Request, output *DiscoverPollEndpointOutput) {
- op := &request.Operation{
- Name: opDiscoverPollEndpoint,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DiscoverPollEndpointInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DiscoverPollEndpointOutput{}
- req.Data = output
- return
- }
- // DiscoverPollEndpoint API operation for Amazon EC2 Container Service.
- //
- // This action is only used by the Amazon EC2 Container Service agent, and it
- // is not intended for use outside of the agent.
- //
- // Returns an endpoint for the Amazon EC2 Container Service 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- func (c *ECS) DiscoverPollEndpoint(input *DiscoverPollEndpointInput) (*DiscoverPollEndpointOutput, error) {
- req, out := c.DiscoverPollEndpointRequest(input)
- err := req.Send()
- return out, err
- }
- const opListClusters = "ListClusters"
- // ListClustersRequest generates a "aws/request.Request" representing the
- // client's request for the ListClusters operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See ListClusters for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListClusters method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- 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{}
- }
- req = c.newRequest(op, input, output)
- output = &ListClustersOutput{}
- req.Data = 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- func (c *ECS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) {
- req, out := c.ListClustersRequest(input)
- err := req.Send()
- return out, err
- }
- // 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(p *ListClustersOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListClustersRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListClustersOutput), lastPage)
- })
- }
- const opListContainerInstances = "ListContainerInstances"
- // ListContainerInstancesRequest generates a "aws/request.Request" representing the
- // client's request for the ListContainerInstances operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See ListContainerInstances for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListContainerInstances method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- 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{}
- }
- req = c.newRequest(op, input, output)
- output = &ListContainerInstancesOutput{}
- req.Data = output
- return
- }
- // ListContainerInstances API operation for Amazon EC2 Container Service.
- //
- // Returns a list of container instances 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 ListContainerInstances for usage and error information.
- //
- // Returned Error Codes:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- func (c *ECS) ListContainerInstances(input *ListContainerInstancesInput) (*ListContainerInstancesOutput, error) {
- req, out := c.ListContainerInstancesRequest(input)
- err := req.Send()
- return out, err
- }
- // 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(p *ListContainerInstancesOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListContainerInstancesRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListContainerInstancesOutput), lastPage)
- })
- }
- const opListServices = "ListServices"
- // ListServicesRequest generates a "aws/request.Request" representing the
- // client's request for the ListServices operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See ListServices for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListServices method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- 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{}
- }
- req = c.newRequest(op, input, output)
- output = &ListServicesOutput{}
- req.Data = 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- func (c *ECS) ListServices(input *ListServicesInput) (*ListServicesOutput, error) {
- req, out := c.ListServicesRequest(input)
- err := req.Send()
- return out, err
- }
- // 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(p *ListServicesOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListServicesRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListServicesOutput), lastPage)
- })
- }
- const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies"
- // ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the
- // client's request for the ListTaskDefinitionFamilies operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See ListTaskDefinitionFamilies for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListTaskDefinitionFamilies method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- 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{}
- }
- req = c.newRequest(op, input, output)
- output = &ListTaskDefinitionFamiliesOutput{}
- req.Data = 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- func (c *ECS) ListTaskDefinitionFamilies(input *ListTaskDefinitionFamiliesInput) (*ListTaskDefinitionFamiliesOutput, error) {
- req, out := c.ListTaskDefinitionFamiliesRequest(input)
- err := req.Send()
- return out, err
- }
- // 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(p *ListTaskDefinitionFamiliesOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListTaskDefinitionFamiliesRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListTaskDefinitionFamiliesOutput), lastPage)
- })
- }
- const opListTaskDefinitions = "ListTaskDefinitions"
- // ListTaskDefinitionsRequest generates a "aws/request.Request" representing the
- // client's request for the ListTaskDefinitions operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See ListTaskDefinitions for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListTaskDefinitions method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- 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{}
- }
- req = c.newRequest(op, input, output)
- output = &ListTaskDefinitionsOutput{}
- req.Data = 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- func (c *ECS) ListTaskDefinitions(input *ListTaskDefinitionsInput) (*ListTaskDefinitionsOutput, error) {
- req, out := c.ListTaskDefinitionsRequest(input)
- err := req.Send()
- return out, err
- }
- // 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(p *ListTaskDefinitionsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListTaskDefinitionsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListTaskDefinitionsOutput), lastPage)
- })
- }
- const opListTasks = "ListTasks"
- // ListTasksRequest generates a "aws/request.Request" representing the
- // client's request for the ListTasks operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See ListTasks for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListTasks method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- 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{}
- }
- req = c.newRequest(op, input, output)
- output = &ListTasksOutput{}
- req.Data = 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- // * 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.
- //
- func (c *ECS) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) {
- req, out := c.ListTasksRequest(input)
- err := req.Send()
- return out, err
- }
- // 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(p *ListTasksOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListTasksRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListTasksOutput), lastPage)
- })
- }
- const opRegisterContainerInstance = "RegisterContainerInstance"
- // RegisterContainerInstanceRequest generates a "aws/request.Request" representing the
- // client's request for the RegisterContainerInstance operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See RegisterContainerInstance for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the RegisterContainerInstance method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceInput) (req *request.Request, output *RegisterContainerInstanceOutput) {
- op := &request.Operation{
- Name: opRegisterContainerInstance,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &RegisterContainerInstanceInput{}
- }
- req = c.newRequest(op, input, output)
- output = &RegisterContainerInstanceOutput{}
- req.Data = output
- return
- }
- // RegisterContainerInstance API operation for Amazon EC2 Container Service.
- //
- // This action is only used by the Amazon EC2 Container Service 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) (*RegisterContainerInstanceOutput, error) {
- req, out := c.RegisterContainerInstanceRequest(input)
- err := req.Send()
- return out, err
- }
- const opRegisterTaskDefinition = "RegisterTaskDefinition"
- // RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the
- // client's request for the RegisterTaskDefinition operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See RegisterTaskDefinition for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the RegisterTaskDefinition method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) (req *request.Request, output *RegisterTaskDefinitionOutput) {
- op := &request.Operation{
- Name: opRegisterTaskDefinition,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &RegisterTaskDefinitionInput{}
- }
- req = c.newRequest(op, input, output)
- output = &RegisterTaskDefinitionOutput{}
- req.Data = 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 EC2 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 EC2 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.
- //
- // 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*RegisterTaskDefinitionOutput, error) {
- req, out := c.RegisterTaskDefinitionRequest(input)
- err := req.Send()
- return out, err
- }
- const opRunTask = "RunTask"
- // RunTaskRequest generates a "aws/request.Request" representing the
- // client's request for the RunTask operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See RunTask for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the RunTask method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output *RunTaskOutput) {
- op := &request.Operation{
- Name: opRunTask,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &RunTaskInput{}
- }
- req = c.newRequest(op, input, output)
- output = &RunTaskOutput{}
- req.Data = output
- return
- }
- // RunTask API operation for Amazon EC2 Container Service.
- //
- // Start a task using random placement and the default Amazon ECS scheduler.
- // To use your own scheduler or place a task on a specific container instance,
- // use StartTask instead.
- //
- // The count parameter is limited to 10 tasks per call.
- //
- // 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) {
- req, out := c.RunTaskRequest(input)
- err := req.Send()
- return out, err
- }
- const opStartTask = "StartTask"
- // StartTaskRequest generates a "aws/request.Request" representing the
- // client's request for the StartTask operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See StartTask for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the StartTask method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, output *StartTaskOutput) {
- op := &request.Operation{
- Name: opStartTask,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &StartTaskInput{}
- }
- req = c.newRequest(op, input, output)
- output = &StartTaskOutput{}
- req.Data = 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. To use the default Amazon ECS scheduler to place your
- // task, use RunTask instead.
- //
- // The list of container instances to start tasks on is limited to 10.
- //
- // 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) {
- req, out := c.StartTaskRequest(input)
- err := req.Send()
- return out, err
- }
- const opStopTask = "StopTask"
- // StopTaskRequest generates a "aws/request.Request" representing the
- // client's request for the StopTask operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See StopTask for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the StopTask method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, output *StopTaskOutput) {
- op := &request.Operation{
- Name: opStopTask,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &StopTaskInput{}
- }
- req = c.newRequest(op, input, output)
- output = &StopTaskOutput{}
- req.Data = output
- return
- }
- // StopTask API operation for Amazon EC2 Container Service.
- //
- // Stops a running task.
- //
- // 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 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.
- //
- // 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) {
- req, out := c.StopTaskRequest(input)
- err := req.Send()
- return out, err
- }
- const opSubmitContainerStateChange = "SubmitContainerStateChange"
- // SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the
- // client's request for the SubmitContainerStateChange operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See SubmitContainerStateChange for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the SubmitContainerStateChange method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChangeInput) (req *request.Request, output *SubmitContainerStateChangeOutput) {
- op := &request.Operation{
- Name: opSubmitContainerStateChange,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &SubmitContainerStateChangeInput{}
- }
- req = c.newRequest(op, input, output)
- output = &SubmitContainerStateChangeOutput{}
- req.Data = output
- return
- }
- // SubmitContainerStateChange API operation for Amazon EC2 Container Service.
- //
- // This action is only used by the Amazon EC2 Container Service 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) (*SubmitContainerStateChangeOutput, error) {
- req, out := c.SubmitContainerStateChangeRequest(input)
- err := req.Send()
- return out, err
- }
- const opSubmitTaskStateChange = "SubmitTaskStateChange"
- // SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the
- // client's request for the SubmitTaskStateChange operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See SubmitTaskStateChange for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the SubmitTaskStateChange method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (req *request.Request, output *SubmitTaskStateChangeOutput) {
- op := &request.Operation{
- Name: opSubmitTaskStateChange,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &SubmitTaskStateChangeInput{}
- }
- req = c.newRequest(op, input, output)
- output = &SubmitTaskStateChangeOutput{}
- req.Data = output
- return
- }
- // SubmitTaskStateChange API operation for Amazon EC2 Container Service.
- //
- // This action is only used by the Amazon EC2 Container Service 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitTaskStateChangeOutput, error) {
- req, out := c.SubmitTaskStateChangeRequest(input)
- err := req.Send()
- return out, err
- }
- const opUpdateContainerAgent = "UpdateContainerAgent"
- // UpdateContainerAgentRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateContainerAgent operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See UpdateContainerAgent for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the UpdateContainerAgent method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) {
- op := &request.Operation{
- Name: opUpdateContainerAgent,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UpdateContainerAgentInput{}
- }
- req = c.newRequest(op, input, output)
- output = &UpdateContainerAgentOutput{}
- req.Data = 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 EC2 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- // * 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.
- //
- // * 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.
- //
- // * 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.
- //
- func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) {
- req, out := c.UpdateContainerAgentRequest(input)
- err := req.Send()
- return out, err
- }
- const opUpdateService = "UpdateService"
- // UpdateServiceRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateService operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See UpdateService for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the UpdateService method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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)
- // }
- //
- func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) {
- op := &request.Operation{
- Name: opUpdateService,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UpdateServiceInput{}
- }
- req = c.newRequest(op, input, output)
- output = &UpdateServiceOutput{}
- req.Data = output
- return
- }
- // UpdateService API operation for Amazon EC2 Container Service.
- //
- // Modifies the desired count, deployment configuration, or task definition
- // used in a service.
- //
- // 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.
- //
- // You can use UpdateService to modify your task definition and deploy a new
- // version of your service.
- //
- // 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 the minimumHealthyPercent is below 100%, the scheduler can ignore the
- // desiredCount temporarily during a deployment. For example, if your service
- // has a desiredCount of four tasks, a minimumHealthyPercent 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 do use a load balancer
- // are considered healthy if they are in the RUNNING state and the container
- // instance it is 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 your service has a desiredCount of four tasks, a maximumPercent
- // value 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 attempts to balance them
- // across the Availability Zones 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).
- //
- // * 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.
- //
- // 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:
- // * ServerException
- // These errors are usually caused by a server issue.
- //
- // * 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 permission to use the action
- // or resource, or specifying an identifier that is not valid.
- //
- // * InvalidParameterException
- // The specified parameter is invalid. Review the available parameters for the
- // API request.
- //
- // * ClusterNotFoundException
- // The specified cluster could not be found. You can view your available clusters
- // with ListClusters. Amazon ECS clusters are region-specific.
- //
- // * 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.
- //
- // * ServiceNotActiveException
- // The specified service is not active. You cannot update a service that is
- // not active. If you have previously deleted a service, you can re-create it
- // with CreateService.
- //
- func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) {
- req, out := c.UpdateServiceRequest(input)
- err := req.Send()
- return out, err
- }
- // The attributes applicable to a container instance when it is registered.
- type Attribute struct {
- _ struct{} `type:"structure"`
- // The name of the container instance attribute.
- //
- // Name is a required field
- Name *string `locationName:"name" type:"string" required:"true"`
- // The value of the container instance attribute (at this time, the value here
- // is Null, but this could change in future revisions for expandability).
- 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
- }
- // 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.
- 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"`
- // 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"`
- }
- // 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()
- }
- // 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 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"`
- // A short (255 max characters) human-readable string to provide additional
- // detail about a running or stopped container.
- Reason *string `locationName:"reason" type:"string"`
- // The Amazon Resource Name (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()
- }
- // 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // 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. A container instance
- // has 1,024 cpu units for every CPU core. This parameter specifies the minimum
- // amount of CPU to reserve for a container, and containers share unallocated
- // CPU units with other containers on the instance with the same ratio as their
- // allocated amount. This parameter maps to CpuShares in the Create a container
- // (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // 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.
- //
- // 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 2 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.
- 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/).
- 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // and the --dns-search option to docker run (https://docs.docker.com/engine/reference/run/).
- 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // and the --dns option to docker run (https://docs.docker.com/engine/reference/run/).
- 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // 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 into your container instance and run the following
- // command: sudo docker version | grep "Server API version"
- 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 parameter maps to SecurityOpt in the Create a container
- // (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // 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 EC2 Container Service Developer Guide.
- 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // and the --env option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // We do not recommend using plain text 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 EC2 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // and the --add-host option to docker run (https://docs.docker.com/engine/reference/run/).
- ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"`
- // The hostname to use for your container. This parameter maps to Hostname in
- // the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // and the --hostname option to docker run (https://docs.docker.com/engine/reference/run/).
- 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 repository-url/image:tag. 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // and the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/).
- //
- // * 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"`
- // The link parameter allows containers to communicate with each other without
- // the need for port mappings, using the name parameter and optionally, an alias
- // for the link. This construct is analogous to name:alias in Docker links.
- // Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores
- // are allowed for each name and alias. For more information on linking Docker
- // containers, see 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // and the --link option to docker run (https://docs.docker.com/engine/reference/run/).
- //
- // 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"`
- // The log configuration specification for the container. This parameter maps
- // to LogConfig in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // 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). Currently unsupported
- // 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 into your container instance and run the following
- // command: sudo docker version | grep "Server API version"
- //
- // 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 EC2 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // and the --memory 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.
- //
- // 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // 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.
- 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/).
- 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // 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.
- // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // 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 cannot
- // 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 of a selected task in the Amazon ECS console, or 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/).
- Privileged *bool `locationName:"privileged" 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // and the --read-only option to docker run.
- ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"`
- // A list of ulimits to set in the container. This parameter maps to Ulimits
- // in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // 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 into your container instance and run the following command: sudo docker
- // version | grep "Server API version"
- 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // and the --user option to docker run (https://docs.docker.com/engine/reference/run/).
- 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // 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/reference/api/docker_remote_api_v1.23/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/)
- // 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.LogConfiguration != nil {
- if err := s.LogConfiguration.Validate(); err != nil {
- invalidParams.AddNested("LogConfiguration", 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
- }
- // 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 actually connected to Amazon
- // ECS. Registered instances with an agent that may be unhealthy or stopped
- // return false, and instances without a connected agent cannot 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 attributes set for the container instance by the Amazon ECS container
- // agent at instance registration.
- 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"`
- // For most resource types, this parameter describes the registered resources
- // on the container instance that are in use by current 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 most resource types, this parameter describes the remaining resources
- // of the container instance that are available for new tasks. For port resource
- // types, this parameter describes the ports that are reserved by the Amazon
- // ECS container agent and any containers that have reserved port mappings;
- // 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 or INACTIVE.
- // ACTIVE indicates that the container instance can accept tasks.
- Status *string `locationName:"status" type:"string"`
- // 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()
- }
- // 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.
- Command []*string `locationName:"command" type:"list"`
- // 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.
- Environment []*KeyValuePair `locationName:"environment" type:"list"`
- // The name of the container that receives the override.
- 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()
- }
- 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"`
- }
- // 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()
- }
- 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()
- }
- type CreateServiceInput struct {
- _ struct{} `type:"structure"`
- // Unique, case-sensitive identifier 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 number of instantiations of the specified task definition to place and
- // keep running on your cluster.
- //
- // DesiredCount is a required field
- DesiredCount *int64 `locationName:"desiredCount" type:"integer" required:"true"`
- // A load balancer object representing the load balancer to use with your service.
- // Currently, you are limited to one load balancer per service. After you create
- // a service, the load balancer name, container name, and container port specified
- // in the service definition are immutable.
- //
- // For Elastic Load Balancing 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 Elastic Load Balancing Application 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.
- LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
- // 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
- // required if you are using a load balancer with your service. If you specify
- // the role parameter, you must also specify a load balancer object with the
- // loadBalancers parameter.
- //
- // 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 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 family and revision (family:revision) or full Amazon Resource Name (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.DesiredCount == nil {
- invalidParams.Add(request.NewErrParamRequired("DesiredCount"))
- }
- if s.ServiceName == nil {
- invalidParams.Add(request.NewErrParamRequired("ServiceName"))
- }
- if s.TaskDefinition == nil {
- invalidParams.Add(request.NewErrParamRequired("TaskDefinition"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type CreateServiceOutput struct {
- _ struct{} `type:"structure"`
- // The full description of your service following the create call.
- 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()
- }
- 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
- }
- 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()
- }
- type DeleteServiceInput struct {
- _ struct{} `type:"structure"`
- // The name 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"`
- // 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
- }
- 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()
- }
- // The details of an Amazon ECS service deployment.
- type Deployment struct {
- _ struct{} `type:"structure"`
- // The Unix timestamp for when the service was created.
- CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"`
- // 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 number of tasks in the deployment that are in the PENDING status.
- PendingCount *int64 `locationName:"pendingCount" type:"integer"`
- // The number of tasks in the deployment that are in the RUNNING status.
- RunningCount *int64 `locationName:"runningCount" type:"integer"`
- // The status of the deployment. Valid values are PRIMARY (for the most recent
- // deployment), ACTIVE (for previous deployments that still have tasks running,
- // but are being replaced with the PRIMARY deployment), and INACTIVE (for deployments
- // that have been completely replaced).
- Status *string `locationName:"status" type:"string"`
- // The most recent task definition that was specified for the service to use.
- TaskDefinition *string `locationName:"taskDefinition" type:"string"`
- // The Unix timestamp for when the service was last updated.
- UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"unix"`
- }
- // 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()
- }
- // 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"`
- // The upper limit (as a percentage of the service's desiredCount) of the number
- // of tasks that are allowed in the RUNNING or PENDING state in a service during
- // a deployment. The maximum number of tasks during a deployment is the desiredCount
- // multiplied by the maximumPercent/100, rounded down to the nearest integer
- // value.
- MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"`
- // The lower limit (as a percentage of the service's desiredCount) of the number
- // of running tasks that must remain in the RUNNING state in a service during
- // a deployment. The minimum healthy tasks during a deployment is the desiredCount
- // multiplied by the minimumHealthyPercent/100, rounded up to the nearest integer
- // value.
- 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()
- }
- 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 Amazon Resource Name (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,
- // and they will 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
- }
- type DeregisterContainerInstanceOutput struct {
- _ struct{} `type:"structure"`
- // An EC2 instance that is running the Amazon ECS agent and has been registered
- // with a cluster.
- 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()
- }
- 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
- }
- 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()
- }
- type DescribeClustersInput struct {
- _ struct{} `type:"structure"`
- // A space-separated 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"`
- }
- // 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()
- }
- 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()
- }
- 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 space-separated list of container instance IDs or full Amazon Resource
- // Name (ARN) entries.
- //
- // ContainerInstances is a required field
- ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"`
- }
- // 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
- }
- 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()
- }
- type DescribeServicesInput struct {
- _ struct{} `type:"structure"`
- // The name of 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"`
- // 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
- }
- 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()
- }
- type DescribeTaskDefinitionInput struct {
- _ struct{} `type:"structure"`
- // 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
- }
- type DescribeTaskDefinitionOutput struct {
- _ struct{} `type:"structure"`
- // 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()
- }
- 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"`
- // A space-separated list of task IDs or full Amazon Resource Name (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
- }
- 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()
- }
- type DiscoverPollEndpointInput struct {
- _ struct{} `type:"structure"`
- // The cluster that the container instance belongs to.
- Cluster *string `locationName:"cluster" type:"string"`
- // The container instance ID or full 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.
- 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()
- }
- 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()
- }
- // 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()
- }
- // 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
- }
- // Details on a container instance host volume.
- type HostVolumeProperties struct {
- _ struct{} `type:"structure"`
- // 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.
- 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()
- }
- // A key and 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()
- }
- 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 value is null when there are no more results to return.
- //
- // 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()
- }
- 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()
- }
- 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"`
- // 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 value is null when there are no more results
- // to return.
- //
- // 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 ListContainerInstancesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListContainerInstancesInput) GoString() string {
- return s.String()
- }
- type ListContainerInstancesOutput struct {
- _ struct{} `type:"structure"`
- // The list of container instances with full Amazon Resource Name (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()
- }
- 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 maximum number of container instance 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 10. 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 value is null when there are no more results to return.
- //
- // 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 ListServicesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListServicesInput) GoString() string {
- return s.String()
- }
- 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 Amazon Resource Name (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()
- }
- 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 value is null when there are no more results
- // to return.
- //
- // 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()
- }
- 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()
- }
- 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 value is null when there are no more results
- // to return.
- //
- // 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()
- }
- 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()
- }
- 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 Amazon Resource Name (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 ECS has set the
- // desired status to STOPPED, which 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 ECS has set the desired status to RUNNING.
- //
- // Although you can filter results based on a desired status of PENDING, this
- // will not return any results because 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 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 value is null when there are no more results to return.
- //
- // 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()
- }
- 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 Amazon Resource Name (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()
- }
- // Details on a load balancer that is used with a service.
- 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 the load balancer.
- LoadBalancerName *string `locationName:"loadBalancerName" type:"string"`
- // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target
- // group associated with a service.
- 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()
- }
- // 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 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 provide support for 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 into your container instance and run the following
- // command: sudo docker version | grep "Server API version"
- //
- // 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 into
- // your container instance and run the following command: sudo docker version
- // | grep "Server API version"
- 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
- }
- // 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.
- 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()
- }
- // 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 be 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()
- }
- // 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. 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 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.
- // 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 is 49153 to 65535, and this range is used
- // for Docker versions prior to 1.6.0. For Docker version 1.6.0 and later, the
- // Docker daemon tries to read the ephemeral port range from /proc/sys/net/ipv4/ip_local_port_range;
- // if this kernel parameter is unavailable, the default ephemeral port range
- // is used. You should not attempt to specify a host port in the ephemeral port
- // range, because these are reserved for automatic assignment. In general, ports
- // below 32768 are outside of the ephemeral port range.
- //
- // 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, and a container instance may have up to 100 reserved ports at a time,
- // including the default reserved ports (automatically 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()
- }
- 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 Amazon Resource Name (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 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 invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type RegisterContainerInstanceOutput struct {
- _ struct{} `type:"structure"`
- // An EC2 instance that is running the Amazon ECS agent and has been registered
- // with a cluster.
- 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()
- }
- 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"`
- // 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 Docker networking mode to use for the containers in the task. The valid
- // values are none, bridge, and host.
- //
- // The default Docker network mode is bridge. If the network mode is set to
- // none, you cannot specify port mappings in your container definitions, and
- // the task's containers do not have external connectivity. The host network
- // mode offers the highest networking performance for containers because they
- // use the host network stack instead of the virtualized network stack provided
- // by the bridge mode; however, exposed container ports are mapped directly
- // to the corresponding host port, so you cannot take advantage of dynamic host
- // port mappings or run multiple instantiations of the same task on a single
- // container instance if port mappings are used.
- //
- // 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 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 EC2 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 invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type RegisterTaskDefinitionOutput struct {
- _ struct{} `type:"structure"`
- // 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()
- }
- // 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, 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()
- }
- 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.
- //
- // The count parameter is limited to 10 tasks per call.
- Count *int64 `locationName:"count" type:"integer"`
- // 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 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 family and revision (family:revision) or full Amazon Resource Name (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 invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- 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. Each task that was 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()
- }
- // 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" timestampFormat:"unix"`
- // 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 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"`
- // The event stream for your service. A maximum of 100 of the latest events
- // are displayed.
- Events []*ServiceEvent `locationName:"events" type:"list"`
- // 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.
- LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
- // The number of tasks in the cluster that are in the PENDING state.
- PendingCount *int64 `locationName:"pendingCount" type:"integer"`
- // The Amazon Resource Name (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 Amazon Resource Name (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"`
- // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE.
- Status *string `locationName:"status" type:"string"`
- // 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"`
- }
- // 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()
- }
- // 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" timestampFormat:"unix"`
- // 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()
- }
- 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 Amazon Resource Name (ARN) entries for
- // the container instances on which you would like to place your task.
- //
- // The list of container instances to start tasks on is limited to 10.
- //
- // ContainerInstances is a required field
- ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"`
- // 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 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 family and revision (family:revision) or full Amazon Resource Name (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 invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- 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 are described here.
- 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()
- }
- 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 will appear 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 Amazon Resource Name (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
- }
- type StopTaskOutput struct {
- _ struct{} `type:"structure"`
- // Details on a task in a cluster.
- 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()
- }
- type SubmitContainerStateChangeInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (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()
- }
- 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()
- }
- type SubmitTaskStateChangeInput struct {
- _ struct{} `type:"structure"`
- // The short name or full Amazon Resource Name (ARN) of the cluster that hosts
- // the task.
- Cluster *string `locationName:"cluster" type:"string"`
- // 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 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()
- }
- 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()
- }
- // Details on a task in a cluster.
- type Task struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the cluster that hosts the task.
- ClusterArn *string `locationName:"clusterArn" type:"string"`
- // The Amazon Resource Name (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 Unix timestamp for when the task was created (the task entered the PENDING
- // state).
- CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"`
- // The desired status of the task.
- DesiredStatus *string `locationName:"desiredStatus" type:"string"`
- // The last known status of the task.
- LastStatus *string `locationName:"lastStatus" type:"string"`
- // One or more container overrides.
- Overrides *TaskOverride `locationName:"overrides" type:"structure"`
- // The Unix timestamp for when the task was started (the task transitioned from
- // the PENDING state to the RUNNING state).
- StartedAt *time.Time `locationName:"startedAt" type:"timestamp" timestampFormat:"unix"`
- // 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 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" timestampFormat:"unix"`
- // The reason the task was stopped.
- StoppedReason *string `locationName:"stoppedReason" type:"string"`
- // The Amazon Resource Name (ARN) of the task.
- TaskArn *string `locationName:"taskArn" type:"string"`
- // The Amazon Resource Name (ARN) of the task definition that creates the task.
- TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"`
- }
- // 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()
- }
- // Details of a task definition.
- type TaskDefinition struct {
- _ struct{} `type:"structure"`
- // 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 EC2 Container Service Developer Guide.
- ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"`
- // The family of your task definition, used as the definition name.
- Family *string `locationName:"family" type:"string"`
- // The Docker networking mode to use for the containers in the task. The valid
- // values are none, bridge, and host.
- //
- // If the network mode is none, the containers do not have external connectivity.
- // The default Docker network mode is bridge. The host network mode offers the
- // highest networking performance for containers because it uses the host network
- // stack instead of the virtualized network stack provided by the bridge mode.
- //
- // 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 container instance attributes required by your task.
- RequiresAttributes []*Attribute `locationName:"requiresAttributes" 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 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 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"`
- // The list of volumes in a task. For more information about volume definition
- // parameters and defaults, see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html)
- // in the Amazon EC2 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()
- }
- // 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 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()
- }
- // 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
- }
- 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 Amazon Resource Name (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
- }
- type UpdateContainerAgentOutput struct {
- _ struct{} `type:"structure"`
- // An EC2 instance that is running the Amazon ECS agent and has been registered
- // with a cluster.
- 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()
- }
- 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"`
- // 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 Amazon Resource Name (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 invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- 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()
- }
- // 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()
- }
- // A data volume used in a task definition.
- type Volume struct {
- _ struct{} `type:"structure"`
- // The contents of the host parameter determine whether your data 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,
- // but the data is not guaranteed to persist after the containers associated
- // with it stop running.
- 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()
- }
- // Details on a data volume from another container.
- 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 the container to mount volumes from.
- 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()
- }
- 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 (
- // 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 (
- // 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"
- // NetworkModeNone is a NetworkMode enum value
- NetworkModeNone = "none"
- )
- const (
- // SortOrderAsc is a SortOrder enum value
- SortOrderAsc = "ASC"
- // SortOrderDesc is a SortOrder enum value
- SortOrderDesc = "DESC"
- )
- 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 (
- // TaskDefinitionStatusActive is a TaskDefinitionStatus enum value
- TaskDefinitionStatusActive = "ACTIVE"
- // TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value
- TaskDefinitionStatusInactive = "INACTIVE"
- )
- 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"
- )
|