| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793 |
- // 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // 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 instantiation 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 of
- // a service with an UpdateService operation), the service scheduler uses the
- // minimumHealthyPercent and maximumPercent parameters 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
- // 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
- // 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). 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.
- 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // 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 with a connected Amazon ECS
- // container agent, the agent automatically deregisters the instance from your
- // cluster (stopped container instances or instances with disconnected agents
- // are not automatically deregistered when terminated).
- 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.
- //
- // 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
- }
- // 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).
- 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.
- //
- // 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
- }
- // Describes one or more of your clusters.
- 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.
- //
- // 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
- }
- // Describes Amazon EC2 Container Service container instances. Returns metadata
- // about registered and remaining resources on each container instance requested.
- 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.
- //
- // 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
- }
- // Describes the specified services running in your cluster.
- 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // Describes a specified task or tasks.
- 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // Returns a list of existing clusters.
- 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.
- //
- // 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
- }
- // Returns a list of container instances in a specified cluster.
- 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.
- //
- // 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
- }
- // Lists the services that are running in a specified cluster.
- 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // 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 may also 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.
- 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // 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.
- 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.
- //
- // 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
- }
- // 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.
- 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 *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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the COMMAND parameter to docker run (https://docs.docker.com/reference/commandline/run/).
- // For more information, see https://docs.docker.com/reference/builder/#cmd
- // (https://docs.docker.com/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --cpu-shares option to docker run (https://docs.docker.com/reference/commandline/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/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/).
- 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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --dns-search option to docker run (https://docs.docker.com/reference/commandline/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --dns option to docker run (https://docs.docker.com/reference/commandline/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --label option to docker run (https://docs.docker.com/reference/commandline/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --security-opt option to docker run (https://docs.docker.com/reference/commandline/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --entrypoint option to docker run (https://docs.docker.com/reference/commandline/run/).
- // For more information, see https://docs.docker.com/reference/builder/#entrypoint
- // (https://docs.docker.com/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --env option to docker run (https://docs.docker.com/reference/commandline/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --add-host option to docker run (https://docs.docker.com/reference/commandline/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --hostname option to docker run (https://docs.docker.com/reference/commandline/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the IMAGE parameter of docker run (https://docs.docker.com/reference/commandline/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/userguide/dockerlinks/ (https://docs.docker.com/userguide/dockerlinks/).
- // This parameter maps to Links in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --link option to docker run (https://docs.docker.com/reference/commandline/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --log-driver option to docker run (https://docs.docker.com/reference/commandline/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 number of MiB of memory to reserve for the container. You must specify
- // a non-zero integer for this parameter; 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. If your container attempts to exceed
- // the memory allocated here, the container is killed. This parameter maps to
- // Memory in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --memory option to docker run (https://docs.docker.com/reference/commandline/run/).
- Memory *int64 `locationName:"memory" 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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --volume option to docker run (https://docs.docker.com/reference/commandline/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --name option to docker run (https://docs.docker.com/reference/commandline/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --publish option to docker run (https://docs.docker.com/reference/commandline/run/).
- //
- // 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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --privileged option to docker run (https://docs.docker.com/reference/commandline/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // 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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --ulimit option to docker run (https://docs.docker.com/reference/commandline/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --user option to docker run (https://docs.docker.com/reference/commandline/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --volumes-from option to docker run (https://docs.docker.com/reference/commandline/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/reference/api/docker_remote_api_v1.19/#create-a-container)
- // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
- // and the --workdir option to docker run (https://docs.docker.com/reference/commandline/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"`
- // The registered resources on the container instance that are in use by current
- // tasks.
- RegisteredResources []*Resource `locationName:"registeredResources" type:"list"`
- // The remaining resources of the container instance that are 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 *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 *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 *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 *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 *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 running tasks that can be running 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 running and healthy 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 *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 and they continue to pass Elastic Load Balancing load
- // balancer health checks 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.
- 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 *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 []*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.
- 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 *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 []*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 *string `locationName:"hostname" type:"string" required:"true"`
- // The IP address to use in the /etc/hosts entry.
- 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 *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 port 51678. 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 []*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 *string `locationName:"family" type:"string" required:"true"`
- // 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"`
- // 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 *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 []*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 *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 *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 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 *int64 `locationName:"hardLimit" type:"integer" required:"true"`
- // The type of the ulimit.
- Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"`
- // The soft limit for the ulimit type.
- 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 *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 *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 (
- // @enum AgentUpdateStatus
- AgentUpdateStatusPending = "PENDING"
- // @enum AgentUpdateStatus
- AgentUpdateStatusStaging = "STAGING"
- // @enum AgentUpdateStatus
- AgentUpdateStatusStaged = "STAGED"
- // @enum AgentUpdateStatus
- AgentUpdateStatusUpdating = "UPDATING"
- // @enum AgentUpdateStatus
- AgentUpdateStatusUpdated = "UPDATED"
- // @enum AgentUpdateStatus
- AgentUpdateStatusFailed = "FAILED"
- )
- const (
- // @enum DesiredStatus
- DesiredStatusRunning = "RUNNING"
- // @enum DesiredStatus
- DesiredStatusPending = "PENDING"
- // @enum DesiredStatus
- DesiredStatusStopped = "STOPPED"
- )
- const (
- // @enum LogDriver
- LogDriverJsonFile = "json-file"
- // @enum LogDriver
- LogDriverSyslog = "syslog"
- // @enum LogDriver
- LogDriverJournald = "journald"
- // @enum LogDriver
- LogDriverGelf = "gelf"
- // @enum LogDriver
- LogDriverFluentd = "fluentd"
- // @enum LogDriver
- LogDriverAwslogs = "awslogs"
- )
- const (
- // @enum SortOrder
- SortOrderAsc = "ASC"
- // @enum SortOrder
- SortOrderDesc = "DESC"
- )
- const (
- // @enum TaskDefinitionFamilyStatus
- TaskDefinitionFamilyStatusActive = "ACTIVE"
- // @enum TaskDefinitionFamilyStatus
- TaskDefinitionFamilyStatusInactive = "INACTIVE"
- // @enum TaskDefinitionFamilyStatus
- TaskDefinitionFamilyStatusAll = "ALL"
- )
- const (
- // @enum TaskDefinitionStatus
- TaskDefinitionStatusActive = "ACTIVE"
- // @enum TaskDefinitionStatus
- TaskDefinitionStatusInactive = "INACTIVE"
- )
- const (
- // @enum TransportProtocol
- TransportProtocolTcp = "tcp"
- // @enum TransportProtocol
- TransportProtocolUdp = "udp"
- )
- const (
- // @enum UlimitName
- UlimitNameCore = "core"
- // @enum UlimitName
- UlimitNameCpu = "cpu"
- // @enum UlimitName
- UlimitNameData = "data"
- // @enum UlimitName
- UlimitNameFsize = "fsize"
- // @enum UlimitName
- UlimitNameLocks = "locks"
- // @enum UlimitName
- UlimitNameMemlock = "memlock"
- // @enum UlimitName
- UlimitNameMsgqueue = "msgqueue"
- // @enum UlimitName
- UlimitNameNice = "nice"
- // @enum UlimitName
- UlimitNameNofile = "nofile"
- // @enum UlimitName
- UlimitNameNproc = "nproc"
- // @enum UlimitName
- UlimitNameRss = "rss"
- // @enum UlimitName
- UlimitNameRtprio = "rtprio"
- // @enum UlimitName
- UlimitNameRttime = "rttime"
- // @enum UlimitName
- UlimitNameSigpending = "sigpending"
- // @enum UlimitName
- UlimitNameStack = "stack"
- )
|