api.go 102 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. // Package emr provides a client for Amazon Elastic MapReduce.
  3. package emr
  4. import (
  5. "time"
  6. "github.com/aws/aws-sdk-go/aws/awsutil"
  7. "github.com/aws/aws-sdk-go/aws/request"
  8. )
  9. const opAddInstanceGroups = "AddInstanceGroups"
  10. // AddInstanceGroupsRequest generates a request for the AddInstanceGroups operation.
  11. func (c *EMR) AddInstanceGroupsRequest(input *AddInstanceGroupsInput) (req *request.Request, output *AddInstanceGroupsOutput) {
  12. op := &request.Operation{
  13. Name: opAddInstanceGroups,
  14. HTTPMethod: "POST",
  15. HTTPPath: "/",
  16. }
  17. if input == nil {
  18. input = &AddInstanceGroupsInput{}
  19. }
  20. req = c.newRequest(op, input, output)
  21. output = &AddInstanceGroupsOutput{}
  22. req.Data = output
  23. return
  24. }
  25. // AddInstanceGroups adds an instance group to a running cluster.
  26. func (c *EMR) AddInstanceGroups(input *AddInstanceGroupsInput) (*AddInstanceGroupsOutput, error) {
  27. req, out := c.AddInstanceGroupsRequest(input)
  28. err := req.Send()
  29. return out, err
  30. }
  31. const opAddJobFlowSteps = "AddJobFlowSteps"
  32. // AddJobFlowStepsRequest generates a request for the AddJobFlowSteps operation.
  33. func (c *EMR) AddJobFlowStepsRequest(input *AddJobFlowStepsInput) (req *request.Request, output *AddJobFlowStepsOutput) {
  34. op := &request.Operation{
  35. Name: opAddJobFlowSteps,
  36. HTTPMethod: "POST",
  37. HTTPPath: "/",
  38. }
  39. if input == nil {
  40. input = &AddJobFlowStepsInput{}
  41. }
  42. req = c.newRequest(op, input, output)
  43. output = &AddJobFlowStepsOutput{}
  44. req.Data = output
  45. return
  46. }
  47. // AddJobFlowSteps adds new steps to a running job flow. A maximum of 256 steps
  48. // are allowed in each job flow.
  49. //
  50. // If your job flow is long-running (such as a Hive data warehouse) or complex,
  51. // you may require more than 256 steps to process your data. You can bypass
  52. // the 256-step limitation in various ways, including using the SSH shell to
  53. // connect to the master node and submitting queries directly to the software
  54. // running on the master node, such as Hive and Hadoop. For more information
  55. // on how to do this, go to Add More than 256 Steps to a Job Flow (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/AddMoreThan256Steps.html)
  56. // in the Amazon Elastic MapReduce Developer's Guide.
  57. //
  58. // A step specifies the location of a JAR file stored either on the master
  59. // node of the job flow or in Amazon S3. Each step is performed by the main
  60. // function of the main class of the JAR file. The main class can be specified
  61. // either in the manifest of the JAR or by using the MainFunction parameter
  62. // of the step.
  63. //
  64. // Elastic MapReduce executes each step in the order listed. For a step to
  65. // be considered complete, the main function must exit with a zero exit code
  66. // and all Hadoop jobs started while the step was running must have completed
  67. // and run successfully.
  68. //
  69. // You can only add steps to a job flow that is in one of the following states:
  70. // STARTING, BOOTSTRAPPING, RUNNING, or WAITING.
  71. func (c *EMR) AddJobFlowSteps(input *AddJobFlowStepsInput) (*AddJobFlowStepsOutput, error) {
  72. req, out := c.AddJobFlowStepsRequest(input)
  73. err := req.Send()
  74. return out, err
  75. }
  76. const opAddTags = "AddTags"
  77. // AddTagsRequest generates a request for the AddTags operation.
  78. func (c *EMR) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) {
  79. op := &request.Operation{
  80. Name: opAddTags,
  81. HTTPMethod: "POST",
  82. HTTPPath: "/",
  83. }
  84. if input == nil {
  85. input = &AddTagsInput{}
  86. }
  87. req = c.newRequest(op, input, output)
  88. output = &AddTagsOutput{}
  89. req.Data = output
  90. return
  91. }
  92. // Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters
  93. // in various ways, such as grouping clusters to track your Amazon EMR resource
  94. // allocation costs. For more information, see Tagging Amazon EMR Resources
  95. // (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-tags.html).
  96. func (c *EMR) AddTags(input *AddTagsInput) (*AddTagsOutput, error) {
  97. req, out := c.AddTagsRequest(input)
  98. err := req.Send()
  99. return out, err
  100. }
  101. const opDescribeCluster = "DescribeCluster"
  102. // DescribeClusterRequest generates a request for the DescribeCluster operation.
  103. func (c *EMR) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) {
  104. op := &request.Operation{
  105. Name: opDescribeCluster,
  106. HTTPMethod: "POST",
  107. HTTPPath: "/",
  108. }
  109. if input == nil {
  110. input = &DescribeClusterInput{}
  111. }
  112. req = c.newRequest(op, input, output)
  113. output = &DescribeClusterOutput{}
  114. req.Data = output
  115. return
  116. }
  117. // Provides cluster-level details including status, hardware and software configuration,
  118. // VPC settings, and so on. For information about the cluster steps, see ListSteps.
  119. func (c *EMR) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) {
  120. req, out := c.DescribeClusterRequest(input)
  121. err := req.Send()
  122. return out, err
  123. }
  124. const opDescribeJobFlows = "DescribeJobFlows"
  125. // DescribeJobFlowsRequest generates a request for the DescribeJobFlows operation.
  126. func (c *EMR) DescribeJobFlowsRequest(input *DescribeJobFlowsInput) (req *request.Request, output *DescribeJobFlowsOutput) {
  127. op := &request.Operation{
  128. Name: opDescribeJobFlows,
  129. HTTPMethod: "POST",
  130. HTTPPath: "/",
  131. }
  132. if input == nil {
  133. input = &DescribeJobFlowsInput{}
  134. }
  135. req = c.newRequest(op, input, output)
  136. output = &DescribeJobFlowsOutput{}
  137. req.Data = output
  138. return
  139. }
  140. // This API is deprecated and will eventually be removed. We recommend you use
  141. // ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions
  142. // instead.
  143. //
  144. // DescribeJobFlows returns a list of job flows that match all of the supplied
  145. // parameters. The parameters can include a list of job flow IDs, job flow states,
  146. // and restrictions on job flow creation date and time.
  147. //
  148. // Regardless of supplied parameters, only job flows created within the last
  149. // two months are returned.
  150. //
  151. // If no parameters are supplied, then job flows matching either of the following
  152. // criteria are returned:
  153. //
  154. // Job flows created and completed in the last two weeks Job flows created
  155. // within the last two months that are in one of the following states: RUNNING,
  156. // WAITING, SHUTTING_DOWN, STARTING Amazon Elastic MapReduce can return a
  157. // maximum of 512 job flow descriptions.
  158. func (c *EMR) DescribeJobFlows(input *DescribeJobFlowsInput) (*DescribeJobFlowsOutput, error) {
  159. req, out := c.DescribeJobFlowsRequest(input)
  160. err := req.Send()
  161. return out, err
  162. }
  163. const opDescribeStep = "DescribeStep"
  164. // DescribeStepRequest generates a request for the DescribeStep operation.
  165. func (c *EMR) DescribeStepRequest(input *DescribeStepInput) (req *request.Request, output *DescribeStepOutput) {
  166. op := &request.Operation{
  167. Name: opDescribeStep,
  168. HTTPMethod: "POST",
  169. HTTPPath: "/",
  170. }
  171. if input == nil {
  172. input = &DescribeStepInput{}
  173. }
  174. req = c.newRequest(op, input, output)
  175. output = &DescribeStepOutput{}
  176. req.Data = output
  177. return
  178. }
  179. // Provides more detail about the cluster step.
  180. func (c *EMR) DescribeStep(input *DescribeStepInput) (*DescribeStepOutput, error) {
  181. req, out := c.DescribeStepRequest(input)
  182. err := req.Send()
  183. return out, err
  184. }
  185. const opListBootstrapActions = "ListBootstrapActions"
  186. // ListBootstrapActionsRequest generates a request for the ListBootstrapActions operation.
  187. func (c *EMR) ListBootstrapActionsRequest(input *ListBootstrapActionsInput) (req *request.Request, output *ListBootstrapActionsOutput) {
  188. op := &request.Operation{
  189. Name: opListBootstrapActions,
  190. HTTPMethod: "POST",
  191. HTTPPath: "/",
  192. Paginator: &request.Paginator{
  193. InputTokens: []string{"Marker"},
  194. OutputTokens: []string{"Marker"},
  195. LimitToken: "",
  196. TruncationToken: "",
  197. },
  198. }
  199. if input == nil {
  200. input = &ListBootstrapActionsInput{}
  201. }
  202. req = c.newRequest(op, input, output)
  203. output = &ListBootstrapActionsOutput{}
  204. req.Data = output
  205. return
  206. }
  207. // Provides information about the bootstrap actions associated with a cluster.
  208. func (c *EMR) ListBootstrapActions(input *ListBootstrapActionsInput) (*ListBootstrapActionsOutput, error) {
  209. req, out := c.ListBootstrapActionsRequest(input)
  210. err := req.Send()
  211. return out, err
  212. }
  213. func (c *EMR) ListBootstrapActionsPages(input *ListBootstrapActionsInput, fn func(p *ListBootstrapActionsOutput, lastPage bool) (shouldContinue bool)) error {
  214. page, _ := c.ListBootstrapActionsRequest(input)
  215. return page.EachPage(func(p interface{}, lastPage bool) bool {
  216. return fn(p.(*ListBootstrapActionsOutput), lastPage)
  217. })
  218. }
  219. const opListClusters = "ListClusters"
  220. // ListClustersRequest generates a request for the ListClusters operation.
  221. func (c *EMR) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) {
  222. op := &request.Operation{
  223. Name: opListClusters,
  224. HTTPMethod: "POST",
  225. HTTPPath: "/",
  226. Paginator: &request.Paginator{
  227. InputTokens: []string{"Marker"},
  228. OutputTokens: []string{"Marker"},
  229. LimitToken: "",
  230. TruncationToken: "",
  231. },
  232. }
  233. if input == nil {
  234. input = &ListClustersInput{}
  235. }
  236. req = c.newRequest(op, input, output)
  237. output = &ListClustersOutput{}
  238. req.Data = output
  239. return
  240. }
  241. // Provides the status of all clusters visible to this AWS account. Allows you
  242. // to filter the list of clusters based on certain criteria; for example, filtering
  243. // by cluster creation date and time or by status. This call returns a maximum
  244. // of 50 clusters per call, but returns a marker to track the paging of the
  245. // cluster list across multiple ListClusters calls.
  246. func (c *EMR) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) {
  247. req, out := c.ListClustersRequest(input)
  248. err := req.Send()
  249. return out, err
  250. }
  251. func (c *EMR) ListClustersPages(input *ListClustersInput, fn func(p *ListClustersOutput, lastPage bool) (shouldContinue bool)) error {
  252. page, _ := c.ListClustersRequest(input)
  253. return page.EachPage(func(p interface{}, lastPage bool) bool {
  254. return fn(p.(*ListClustersOutput), lastPage)
  255. })
  256. }
  257. const opListInstanceGroups = "ListInstanceGroups"
  258. // ListInstanceGroupsRequest generates a request for the ListInstanceGroups operation.
  259. func (c *EMR) ListInstanceGroupsRequest(input *ListInstanceGroupsInput) (req *request.Request, output *ListInstanceGroupsOutput) {
  260. op := &request.Operation{
  261. Name: opListInstanceGroups,
  262. HTTPMethod: "POST",
  263. HTTPPath: "/",
  264. Paginator: &request.Paginator{
  265. InputTokens: []string{"Marker"},
  266. OutputTokens: []string{"Marker"},
  267. LimitToken: "",
  268. TruncationToken: "",
  269. },
  270. }
  271. if input == nil {
  272. input = &ListInstanceGroupsInput{}
  273. }
  274. req = c.newRequest(op, input, output)
  275. output = &ListInstanceGroupsOutput{}
  276. req.Data = output
  277. return
  278. }
  279. // Provides all available details about the instance groups in a cluster.
  280. func (c *EMR) ListInstanceGroups(input *ListInstanceGroupsInput) (*ListInstanceGroupsOutput, error) {
  281. req, out := c.ListInstanceGroupsRequest(input)
  282. err := req.Send()
  283. return out, err
  284. }
  285. func (c *EMR) ListInstanceGroupsPages(input *ListInstanceGroupsInput, fn func(p *ListInstanceGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  286. page, _ := c.ListInstanceGroupsRequest(input)
  287. return page.EachPage(func(p interface{}, lastPage bool) bool {
  288. return fn(p.(*ListInstanceGroupsOutput), lastPage)
  289. })
  290. }
  291. const opListInstances = "ListInstances"
  292. // ListInstancesRequest generates a request for the ListInstances operation.
  293. func (c *EMR) ListInstancesRequest(input *ListInstancesInput) (req *request.Request, output *ListInstancesOutput) {
  294. op := &request.Operation{
  295. Name: opListInstances,
  296. HTTPMethod: "POST",
  297. HTTPPath: "/",
  298. Paginator: &request.Paginator{
  299. InputTokens: []string{"Marker"},
  300. OutputTokens: []string{"Marker"},
  301. LimitToken: "",
  302. TruncationToken: "",
  303. },
  304. }
  305. if input == nil {
  306. input = &ListInstancesInput{}
  307. }
  308. req = c.newRequest(op, input, output)
  309. output = &ListInstancesOutput{}
  310. req.Data = output
  311. return
  312. }
  313. // Provides information about the cluster instances that Amazon EMR provisions
  314. // on behalf of a user when it creates the cluster. For example, this operation
  315. // indicates when the EC2 instances reach the Ready state, when instances become
  316. // available to Amazon EMR to use for jobs, and the IP addresses for cluster
  317. // instances, etc.
  318. func (c *EMR) ListInstances(input *ListInstancesInput) (*ListInstancesOutput, error) {
  319. req, out := c.ListInstancesRequest(input)
  320. err := req.Send()
  321. return out, err
  322. }
  323. func (c *EMR) ListInstancesPages(input *ListInstancesInput, fn func(p *ListInstancesOutput, lastPage bool) (shouldContinue bool)) error {
  324. page, _ := c.ListInstancesRequest(input)
  325. return page.EachPage(func(p interface{}, lastPage bool) bool {
  326. return fn(p.(*ListInstancesOutput), lastPage)
  327. })
  328. }
  329. const opListSteps = "ListSteps"
  330. // ListStepsRequest generates a request for the ListSteps operation.
  331. func (c *EMR) ListStepsRequest(input *ListStepsInput) (req *request.Request, output *ListStepsOutput) {
  332. op := &request.Operation{
  333. Name: opListSteps,
  334. HTTPMethod: "POST",
  335. HTTPPath: "/",
  336. Paginator: &request.Paginator{
  337. InputTokens: []string{"Marker"},
  338. OutputTokens: []string{"Marker"},
  339. LimitToken: "",
  340. TruncationToken: "",
  341. },
  342. }
  343. if input == nil {
  344. input = &ListStepsInput{}
  345. }
  346. req = c.newRequest(op, input, output)
  347. output = &ListStepsOutput{}
  348. req.Data = output
  349. return
  350. }
  351. // Provides a list of steps for the cluster.
  352. func (c *EMR) ListSteps(input *ListStepsInput) (*ListStepsOutput, error) {
  353. req, out := c.ListStepsRequest(input)
  354. err := req.Send()
  355. return out, err
  356. }
  357. func (c *EMR) ListStepsPages(input *ListStepsInput, fn func(p *ListStepsOutput, lastPage bool) (shouldContinue bool)) error {
  358. page, _ := c.ListStepsRequest(input)
  359. return page.EachPage(func(p interface{}, lastPage bool) bool {
  360. return fn(p.(*ListStepsOutput), lastPage)
  361. })
  362. }
  363. const opModifyInstanceGroups = "ModifyInstanceGroups"
  364. // ModifyInstanceGroupsRequest generates a request for the ModifyInstanceGroups operation.
  365. func (c *EMR) ModifyInstanceGroupsRequest(input *ModifyInstanceGroupsInput) (req *request.Request, output *ModifyInstanceGroupsOutput) {
  366. op := &request.Operation{
  367. Name: opModifyInstanceGroups,
  368. HTTPMethod: "POST",
  369. HTTPPath: "/",
  370. }
  371. if input == nil {
  372. input = &ModifyInstanceGroupsInput{}
  373. }
  374. req = c.newRequest(op, input, output)
  375. output = &ModifyInstanceGroupsOutput{}
  376. req.Data = output
  377. return
  378. }
  379. // ModifyInstanceGroups modifies the number of nodes and configuration settings
  380. // of an instance group. The input parameters include the new target instance
  381. // count for the group and the instance group ID. The call will either succeed
  382. // or fail atomically.
  383. func (c *EMR) ModifyInstanceGroups(input *ModifyInstanceGroupsInput) (*ModifyInstanceGroupsOutput, error) {
  384. req, out := c.ModifyInstanceGroupsRequest(input)
  385. err := req.Send()
  386. return out, err
  387. }
  388. const opRemoveTags = "RemoveTags"
  389. // RemoveTagsRequest generates a request for the RemoveTags operation.
  390. func (c *EMR) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) {
  391. op := &request.Operation{
  392. Name: opRemoveTags,
  393. HTTPMethod: "POST",
  394. HTTPPath: "/",
  395. }
  396. if input == nil {
  397. input = &RemoveTagsInput{}
  398. }
  399. req = c.newRequest(op, input, output)
  400. output = &RemoveTagsOutput{}
  401. req.Data = output
  402. return
  403. }
  404. // Removes tags from an Amazon EMR resource. Tags make it easier to associate
  405. // clusters in various ways, such as grouping clusters to track your Amazon
  406. // EMR resource allocation costs. For more information, see Tagging Amazon EMR
  407. // Resources (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-tags.html).
  408. //
  409. // The following example removes the stack tag with value Prod from a cluster:
  410. func (c *EMR) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) {
  411. req, out := c.RemoveTagsRequest(input)
  412. err := req.Send()
  413. return out, err
  414. }
  415. const opRunJobFlow = "RunJobFlow"
  416. // RunJobFlowRequest generates a request for the RunJobFlow operation.
  417. func (c *EMR) RunJobFlowRequest(input *RunJobFlowInput) (req *request.Request, output *RunJobFlowOutput) {
  418. op := &request.Operation{
  419. Name: opRunJobFlow,
  420. HTTPMethod: "POST",
  421. HTTPPath: "/",
  422. }
  423. if input == nil {
  424. input = &RunJobFlowInput{}
  425. }
  426. req = c.newRequest(op, input, output)
  427. output = &RunJobFlowOutput{}
  428. req.Data = output
  429. return
  430. }
  431. // RunJobFlow creates and starts running a new job flow. The job flow will run
  432. // the steps specified. Once the job flow completes, the cluster is stopped
  433. // and the HDFS partition is lost. To prevent loss of data, configure the last
  434. // step of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig
  435. // KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the job flow will transition
  436. // to the WAITING state rather than shutting down once the steps have completed.
  437. //
  438. // For additional protection, you can set the JobFlowInstancesConfig TerminationProtected
  439. // parameter to TRUE to lock the job flow and prevent it from being terminated
  440. // by API call, user intervention, or in the event of a job flow error.
  441. //
  442. // A maximum of 256 steps are allowed in each job flow.
  443. //
  444. // If your job flow is long-running (such as a Hive data warehouse) or complex,
  445. // you may require more than 256 steps to process your data. You can bypass
  446. // the 256-step limitation in various ways, including using the SSH shell to
  447. // connect to the master node and submitting queries directly to the software
  448. // running on the master node, such as Hive and Hadoop. For more information
  449. // on how to do this, go to Add More than 256 Steps to a Job Flow (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/AddMoreThan256Steps.html)
  450. // in the Amazon Elastic MapReduce Developer's Guide.
  451. //
  452. // For long running job flows, we recommend that you periodically store your
  453. // results.
  454. func (c *EMR) RunJobFlow(input *RunJobFlowInput) (*RunJobFlowOutput, error) {
  455. req, out := c.RunJobFlowRequest(input)
  456. err := req.Send()
  457. return out, err
  458. }
  459. const opSetTerminationProtection = "SetTerminationProtection"
  460. // SetTerminationProtectionRequest generates a request for the SetTerminationProtection operation.
  461. func (c *EMR) SetTerminationProtectionRequest(input *SetTerminationProtectionInput) (req *request.Request, output *SetTerminationProtectionOutput) {
  462. op := &request.Operation{
  463. Name: opSetTerminationProtection,
  464. HTTPMethod: "POST",
  465. HTTPPath: "/",
  466. }
  467. if input == nil {
  468. input = &SetTerminationProtectionInput{}
  469. }
  470. req = c.newRequest(op, input, output)
  471. output = &SetTerminationProtectionOutput{}
  472. req.Data = output
  473. return
  474. }
  475. // SetTerminationProtection locks a job flow so the Amazon EC2 instances in
  476. // the cluster cannot be terminated by user intervention, an API call, or in
  477. // the event of a job-flow error. The cluster still terminates upon successful
  478. // completion of the job flow. Calling SetTerminationProtection on a job flow
  479. // is analogous to calling the Amazon EC2 DisableAPITermination API on all of
  480. // the EC2 instances in a cluster.
  481. //
  482. // SetTerminationProtection is used to prevent accidental termination of a
  483. // job flow and to ensure that in the event of an error, the instances will
  484. // persist so you can recover any data stored in their ephemeral instance storage.
  485. //
  486. // To terminate a job flow that has been locked by setting SetTerminationProtection
  487. // to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection
  488. // in which you set the value to false.
  489. //
  490. // For more information, go to Protecting a Job Flow from Termination (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_TerminationProtection.html)
  491. // in the Amazon Elastic MapReduce Developer's Guide.
  492. func (c *EMR) SetTerminationProtection(input *SetTerminationProtectionInput) (*SetTerminationProtectionOutput, error) {
  493. req, out := c.SetTerminationProtectionRequest(input)
  494. err := req.Send()
  495. return out, err
  496. }
  497. const opSetVisibleToAllUsers = "SetVisibleToAllUsers"
  498. // SetVisibleToAllUsersRequest generates a request for the SetVisibleToAllUsers operation.
  499. func (c *EMR) SetVisibleToAllUsersRequest(input *SetVisibleToAllUsersInput) (req *request.Request, output *SetVisibleToAllUsersOutput) {
  500. op := &request.Operation{
  501. Name: opSetVisibleToAllUsers,
  502. HTTPMethod: "POST",
  503. HTTPPath: "/",
  504. }
  505. if input == nil {
  506. input = &SetVisibleToAllUsersInput{}
  507. }
  508. req = c.newRequest(op, input, output)
  509. output = &SetVisibleToAllUsersOutput{}
  510. req.Data = output
  511. return
  512. }
  513. // Sets whether all AWS Identity and Access Management (IAM) users under your
  514. // account can access the specified job flows. This action works on running
  515. // job flows. You can also set the visibility of a job flow when you launch
  516. // it using the VisibleToAllUsers parameter of RunJobFlow. The SetVisibleToAllUsers
  517. // action can be called only by an IAM user who created the job flow or the
  518. // AWS account that owns the job flow.
  519. func (c *EMR) SetVisibleToAllUsers(input *SetVisibleToAllUsersInput) (*SetVisibleToAllUsersOutput, error) {
  520. req, out := c.SetVisibleToAllUsersRequest(input)
  521. err := req.Send()
  522. return out, err
  523. }
  524. const opTerminateJobFlows = "TerminateJobFlows"
  525. // TerminateJobFlowsRequest generates a request for the TerminateJobFlows operation.
  526. func (c *EMR) TerminateJobFlowsRequest(input *TerminateJobFlowsInput) (req *request.Request, output *TerminateJobFlowsOutput) {
  527. op := &request.Operation{
  528. Name: opTerminateJobFlows,
  529. HTTPMethod: "POST",
  530. HTTPPath: "/",
  531. }
  532. if input == nil {
  533. input = &TerminateJobFlowsInput{}
  534. }
  535. req = c.newRequest(op, input, output)
  536. output = &TerminateJobFlowsOutput{}
  537. req.Data = output
  538. return
  539. }
  540. // TerminateJobFlows shuts a list of job flows down. When a job flow is shut
  541. // down, any step not yet completed is canceled and the EC2 instances on which
  542. // the job flow is running are stopped. Any log files not already saved are
  543. // uploaded to Amazon S3 if a LogUri was specified when the job flow was created.
  544. //
  545. // The maximum number of JobFlows allowed is 10. The call to TerminateJobFlows
  546. // is asynchronous. Depending on the configuration of the job flow, it may take
  547. // up to 5-20 minutes for the job flow to completely terminate and release allocated
  548. // resources, such as Amazon EC2 instances.
  549. func (c *EMR) TerminateJobFlows(input *TerminateJobFlowsInput) (*TerminateJobFlowsOutput, error) {
  550. req, out := c.TerminateJobFlowsRequest(input)
  551. err := req.Send()
  552. return out, err
  553. }
  554. // Input to an AddInstanceGroups call.
  555. type AddInstanceGroupsInput struct {
  556. // Instance Groups to add.
  557. InstanceGroups []*InstanceGroupConfig `type:"list" required:"true"`
  558. // Job flow in which to add the instance groups.
  559. JobFlowId *string `type:"string" required:"true"`
  560. metadataAddInstanceGroupsInput `json:"-" xml:"-"`
  561. }
  562. type metadataAddInstanceGroupsInput struct {
  563. SDKShapeTraits bool `type:"structure"`
  564. }
  565. // String returns the string representation
  566. func (s AddInstanceGroupsInput) String() string {
  567. return awsutil.Prettify(s)
  568. }
  569. // GoString returns the string representation
  570. func (s AddInstanceGroupsInput) GoString() string {
  571. return s.String()
  572. }
  573. // Output from an AddInstanceGroups call.
  574. type AddInstanceGroupsOutput struct {
  575. // Instance group IDs of the newly created instance groups.
  576. InstanceGroupIds []*string `type:"list"`
  577. // The job flow ID in which the instance groups are added.
  578. JobFlowId *string `type:"string"`
  579. metadataAddInstanceGroupsOutput `json:"-" xml:"-"`
  580. }
  581. type metadataAddInstanceGroupsOutput struct {
  582. SDKShapeTraits bool `type:"structure"`
  583. }
  584. // String returns the string representation
  585. func (s AddInstanceGroupsOutput) String() string {
  586. return awsutil.Prettify(s)
  587. }
  588. // GoString returns the string representation
  589. func (s AddInstanceGroupsOutput) GoString() string {
  590. return s.String()
  591. }
  592. // The input argument to the AddJobFlowSteps operation.
  593. type AddJobFlowStepsInput struct {
  594. // A string that uniquely identifies the job flow. This identifier is returned
  595. // by RunJobFlow and can also be obtained from ListClusters.
  596. JobFlowId *string `type:"string" required:"true"`
  597. // A list of StepConfig to be executed by the job flow.
  598. Steps []*StepConfig `type:"list" required:"true"`
  599. metadataAddJobFlowStepsInput `json:"-" xml:"-"`
  600. }
  601. type metadataAddJobFlowStepsInput struct {
  602. SDKShapeTraits bool `type:"structure"`
  603. }
  604. // String returns the string representation
  605. func (s AddJobFlowStepsInput) String() string {
  606. return awsutil.Prettify(s)
  607. }
  608. // GoString returns the string representation
  609. func (s AddJobFlowStepsInput) GoString() string {
  610. return s.String()
  611. }
  612. // The output for the AddJobFlowSteps operation.
  613. type AddJobFlowStepsOutput struct {
  614. // The identifiers of the list of steps added to the job flow.
  615. StepIds []*string `type:"list"`
  616. metadataAddJobFlowStepsOutput `json:"-" xml:"-"`
  617. }
  618. type metadataAddJobFlowStepsOutput struct {
  619. SDKShapeTraits bool `type:"structure"`
  620. }
  621. // String returns the string representation
  622. func (s AddJobFlowStepsOutput) String() string {
  623. return awsutil.Prettify(s)
  624. }
  625. // GoString returns the string representation
  626. func (s AddJobFlowStepsOutput) GoString() string {
  627. return s.String()
  628. }
  629. // This input identifies a cluster and a list of tags to attach.
  630. type AddTagsInput struct {
  631. // The Amazon EMR resource identifier to which tags will be added. This value
  632. // must be a cluster identifier.
  633. ResourceId *string `type:"string" required:"true"`
  634. // A list of tags to associate with a cluster and propagate to Amazon EC2 instances.
  635. // Tags are user-defined key/value pairs that consist of a required key string
  636. // with a maximum of 128 characters, and an optional value string with a maximum
  637. // of 256 characters.
  638. Tags []*Tag `type:"list" required:"true"`
  639. metadataAddTagsInput `json:"-" xml:"-"`
  640. }
  641. type metadataAddTagsInput struct {
  642. SDKShapeTraits bool `type:"structure"`
  643. }
  644. // String returns the string representation
  645. func (s AddTagsInput) String() string {
  646. return awsutil.Prettify(s)
  647. }
  648. // GoString returns the string representation
  649. func (s AddTagsInput) GoString() string {
  650. return s.String()
  651. }
  652. // This output indicates the result of adding tags to a resource.
  653. type AddTagsOutput struct {
  654. metadataAddTagsOutput `json:"-" xml:"-"`
  655. }
  656. type metadataAddTagsOutput struct {
  657. SDKShapeTraits bool `type:"structure"`
  658. }
  659. // String returns the string representation
  660. func (s AddTagsOutput) String() string {
  661. return awsutil.Prettify(s)
  662. }
  663. // GoString returns the string representation
  664. func (s AddTagsOutput) GoString() string {
  665. return s.String()
  666. }
  667. // An application is any Amazon or third-party software that you can add to
  668. // the cluster. This structure contains a list of strings that indicates the
  669. // software to use with the cluster and accepts a user argument list. Amazon
  670. // EMR accepts and forwards the argument list to the corresponding installation
  671. // script as bootstrap action argument. For more information, see Launch a Job
  672. // Flow on the MapR Distribution for Hadoop (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-mapr.html).
  673. // Currently supported values are:
  674. //
  675. // "mapr-m3" - launch the job flow using MapR M3 Edition. "mapr-m5" - launch
  676. // the job flow using MapR M5 Edition. "mapr" with the user arguments specifying
  677. // "--edition,m3" or "--edition,m5" - launch the job flow using MapR M3 or M5
  678. // Edition, respectively. In Amazon EMR releases 4.0 and greater, the only
  679. // accepted parameter is the application name. To pass arguments to applications,
  680. // you supply a configuration for each application.
  681. type Application struct {
  682. // This option is for advanced users only. This is meta information about third-party
  683. // applications that third-party vendors use for testing purposes.
  684. AdditionalInfo map[string]*string `type:"map"`
  685. // Arguments for Amazon EMR to pass to the application.
  686. Args []*string `type:"list"`
  687. // The name of the application.
  688. Name *string `type:"string"`
  689. // The version of the application.
  690. Version *string `type:"string"`
  691. metadataApplication `json:"-" xml:"-"`
  692. }
  693. type metadataApplication struct {
  694. SDKShapeTraits bool `type:"structure"`
  695. }
  696. // String returns the string representation
  697. func (s Application) String() string {
  698. return awsutil.Prettify(s)
  699. }
  700. // GoString returns the string representation
  701. func (s Application) GoString() string {
  702. return s.String()
  703. }
  704. // Configuration of a bootstrap action.
  705. type BootstrapActionConfig struct {
  706. // The name of the bootstrap action.
  707. Name *string `type:"string" required:"true"`
  708. // The script run by the bootstrap action.
  709. ScriptBootstrapAction *ScriptBootstrapActionConfig `type:"structure" required:"true"`
  710. metadataBootstrapActionConfig `json:"-" xml:"-"`
  711. }
  712. type metadataBootstrapActionConfig struct {
  713. SDKShapeTraits bool `type:"structure"`
  714. }
  715. // String returns the string representation
  716. func (s BootstrapActionConfig) String() string {
  717. return awsutil.Prettify(s)
  718. }
  719. // GoString returns the string representation
  720. func (s BootstrapActionConfig) GoString() string {
  721. return s.String()
  722. }
  723. // Reports the configuration of a bootstrap action in a job flow.
  724. type BootstrapActionDetail struct {
  725. // A description of the bootstrap action.
  726. BootstrapActionConfig *BootstrapActionConfig `type:"structure"`
  727. metadataBootstrapActionDetail `json:"-" xml:"-"`
  728. }
  729. type metadataBootstrapActionDetail struct {
  730. SDKShapeTraits bool `type:"structure"`
  731. }
  732. // String returns the string representation
  733. func (s BootstrapActionDetail) String() string {
  734. return awsutil.Prettify(s)
  735. }
  736. // GoString returns the string representation
  737. func (s BootstrapActionDetail) GoString() string {
  738. return s.String()
  739. }
  740. // The detailed description of the cluster.
  741. type Cluster struct {
  742. // The applications installed on this cluster.
  743. Applications []*Application `type:"list"`
  744. // Specifies whether the cluster should terminate after completing all steps.
  745. AutoTerminate *bool `type:"boolean"`
  746. // Amazon EMR releases 4.x or later.
  747. //
  748. // The list of Configurations supplied to the EMR cluster.
  749. Configurations []*Configuration `type:"list"`
  750. // Provides information about the EC2 instances in a cluster grouped by category.
  751. // For example, key name, subnet ID, IAM instance profile, and so on.
  752. Ec2InstanceAttributes *Ec2InstanceAttributes `type:"structure"`
  753. // The unique identifier for the cluster.
  754. Id *string `type:"string"`
  755. // The path to the Amazon S3 location where logs for this cluster are stored.
  756. LogUri *string `type:"string"`
  757. // The public DNS name of the master EC2 instance.
  758. MasterPublicDnsName *string `type:"string"`
  759. // The name of the cluster.
  760. Name *string `type:"string"`
  761. // An approximation of the cost of the job flow, represented in m1.small/hours.
  762. // This value is incremented one time for every hour an m1.small instance runs.
  763. // Larger instances are weighted more, so an EC2 instance that is roughly four
  764. // times more expensive would result in the normalized instance hours being
  765. // incremented by four. This result is only an approximation and does not reflect
  766. // the actual billing rate.
  767. NormalizedInstanceHours *int64 `type:"integer"`
  768. // The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x
  769. // AMIs, use amiVersion instead instead of ReleaseLabel.
  770. ReleaseLabel *string `type:"string"`
  771. // The AMI version requested for this cluster.
  772. RequestedAmiVersion *string `type:"string"`
  773. // The AMI version running on this cluster.
  774. RunningAmiVersion *string `type:"string"`
  775. // The IAM role that will be assumed by the Amazon EMR service to access AWS
  776. // resources on your behalf.
  777. ServiceRole *string `type:"string"`
  778. // The current status details about the cluster.
  779. Status *ClusterStatus `type:"structure"`
  780. // A list of tags associated with a cluster.
  781. Tags []*Tag `type:"list"`
  782. // Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances
  783. // from being terminated by an API call or user intervention, or in the event
  784. // of a cluster error.
  785. TerminationProtected *bool `type:"boolean"`
  786. // Indicates whether the job flow is visible to all IAM users of the AWS account
  787. // associated with the job flow. If this value is set to true, all IAM users
  788. // of that AWS account can view and manage the job flow if they have the proper
  789. // policy permissions set. If this value is false, only the IAM user that created
  790. // the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers
  791. // action.
  792. VisibleToAllUsers *bool `type:"boolean"`
  793. metadataCluster `json:"-" xml:"-"`
  794. }
  795. type metadataCluster struct {
  796. SDKShapeTraits bool `type:"structure"`
  797. }
  798. // String returns the string representation
  799. func (s Cluster) String() string {
  800. return awsutil.Prettify(s)
  801. }
  802. // GoString returns the string representation
  803. func (s Cluster) GoString() string {
  804. return s.String()
  805. }
  806. // The reason that the cluster changed to its current state.
  807. type ClusterStateChangeReason struct {
  808. // The programmatic code for the state change reason.
  809. Code *string `type:"string" enum:"ClusterStateChangeReasonCode"`
  810. // The descriptive message for the state change reason.
  811. Message *string `type:"string"`
  812. metadataClusterStateChangeReason `json:"-" xml:"-"`
  813. }
  814. type metadataClusterStateChangeReason struct {
  815. SDKShapeTraits bool `type:"structure"`
  816. }
  817. // String returns the string representation
  818. func (s ClusterStateChangeReason) String() string {
  819. return awsutil.Prettify(s)
  820. }
  821. // GoString returns the string representation
  822. func (s ClusterStateChangeReason) GoString() string {
  823. return s.String()
  824. }
  825. // The detailed status of the cluster.
  826. type ClusterStatus struct {
  827. // The current state of the cluster.
  828. State *string `type:"string" enum:"ClusterState"`
  829. // The reason for the cluster status change.
  830. StateChangeReason *ClusterStateChangeReason `type:"structure"`
  831. // A timeline that represents the status of a cluster over the lifetime of the
  832. // cluster.
  833. Timeline *ClusterTimeline `type:"structure"`
  834. metadataClusterStatus `json:"-" xml:"-"`
  835. }
  836. type metadataClusterStatus struct {
  837. SDKShapeTraits bool `type:"structure"`
  838. }
  839. // String returns the string representation
  840. func (s ClusterStatus) String() string {
  841. return awsutil.Prettify(s)
  842. }
  843. // GoString returns the string representation
  844. func (s ClusterStatus) GoString() string {
  845. return s.String()
  846. }
  847. // The summary description of the cluster.
  848. type ClusterSummary struct {
  849. // The unique identifier for the cluster.
  850. Id *string `type:"string"`
  851. // The name of the cluster.
  852. Name *string `type:"string"`
  853. // An approximation of the cost of the job flow, represented in m1.small/hours.
  854. // This value is incremented one time for every hour an m1.small instance runs.
  855. // Larger instances are weighted more, so an EC2 instance that is roughly four
  856. // times more expensive would result in the normalized instance hours being
  857. // incremented by four. This result is only an approximation and does not reflect
  858. // the actual billing rate.
  859. NormalizedInstanceHours *int64 `type:"integer"`
  860. // The details about the current status of the cluster.
  861. Status *ClusterStatus `type:"structure"`
  862. metadataClusterSummary `json:"-" xml:"-"`
  863. }
  864. type metadataClusterSummary struct {
  865. SDKShapeTraits bool `type:"structure"`
  866. }
  867. // String returns the string representation
  868. func (s ClusterSummary) String() string {
  869. return awsutil.Prettify(s)
  870. }
  871. // GoString returns the string representation
  872. func (s ClusterSummary) GoString() string {
  873. return s.String()
  874. }
  875. // Represents the timeline of the cluster's lifecycle.
  876. type ClusterTimeline struct {
  877. // The creation date and time of the cluster.
  878. CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  879. // The date and time when the cluster was terminated.
  880. EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  881. // The date and time when the cluster was ready to execute steps.
  882. ReadyDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  883. metadataClusterTimeline `json:"-" xml:"-"`
  884. }
  885. type metadataClusterTimeline struct {
  886. SDKShapeTraits bool `type:"structure"`
  887. }
  888. // String returns the string representation
  889. func (s ClusterTimeline) String() string {
  890. return awsutil.Prettify(s)
  891. }
  892. // GoString returns the string representation
  893. func (s ClusterTimeline) GoString() string {
  894. return s.String()
  895. }
  896. // An entity describing an executable that runs on a cluster.
  897. type Command struct {
  898. // Arguments for Amazon EMR to pass to the command for execution.
  899. Args []*string `type:"list"`
  900. // The name of the command.
  901. Name *string `type:"string"`
  902. // The Amazon S3 location of the command script.
  903. ScriptPath *string `type:"string"`
  904. metadataCommand `json:"-" xml:"-"`
  905. }
  906. type metadataCommand struct {
  907. SDKShapeTraits bool `type:"structure"`
  908. }
  909. // String returns the string representation
  910. func (s Command) String() string {
  911. return awsutil.Prettify(s)
  912. }
  913. // GoString returns the string representation
  914. func (s Command) GoString() string {
  915. return s.String()
  916. }
  917. // Amazon EMR releases 4.x or later.
  918. //
  919. // Specifies a hardware and software configuration of the EMR cluster. This
  920. // includes configurations for applications and software bundled with Amazon
  921. // EMR. The Configuration object is a JSON object which is defined by a classification
  922. // and a set of properties. Configurations can be nested, so a configuration
  923. // may have its own Configuration objects listed.
  924. type Configuration struct {
  925. // The classification of a configuration. For more information see, Amazon EMR
  926. // Configurations (http://docs.aws.amazon.com/ElasticMapReduce/latest/API/EmrConfigurations.html).
  927. Classification *string `type:"string"`
  928. // A list of configurations you apply to this configuration object.
  929. Configurations []*Configuration `type:"list"`
  930. // A set of properties supplied to the Configuration object.
  931. Properties map[string]*string `type:"map"`
  932. metadataConfiguration `json:"-" xml:"-"`
  933. }
  934. type metadataConfiguration struct {
  935. SDKShapeTraits bool `type:"structure"`
  936. }
  937. // String returns the string representation
  938. func (s Configuration) String() string {
  939. return awsutil.Prettify(s)
  940. }
  941. // GoString returns the string representation
  942. func (s Configuration) GoString() string {
  943. return s.String()
  944. }
  945. // This input determines which cluster to describe.
  946. type DescribeClusterInput struct {
  947. // The identifier of the cluster to describe.
  948. ClusterId *string `type:"string" required:"true"`
  949. metadataDescribeClusterInput `json:"-" xml:"-"`
  950. }
  951. type metadataDescribeClusterInput struct {
  952. SDKShapeTraits bool `type:"structure"`
  953. }
  954. // String returns the string representation
  955. func (s DescribeClusterInput) String() string {
  956. return awsutil.Prettify(s)
  957. }
  958. // GoString returns the string representation
  959. func (s DescribeClusterInput) GoString() string {
  960. return s.String()
  961. }
  962. // This output contains the description of the cluster.
  963. type DescribeClusterOutput struct {
  964. // This output contains the details for the requested cluster.
  965. Cluster *Cluster `type:"structure"`
  966. metadataDescribeClusterOutput `json:"-" xml:"-"`
  967. }
  968. type metadataDescribeClusterOutput struct {
  969. SDKShapeTraits bool `type:"structure"`
  970. }
  971. // String returns the string representation
  972. func (s DescribeClusterOutput) String() string {
  973. return awsutil.Prettify(s)
  974. }
  975. // GoString returns the string representation
  976. func (s DescribeClusterOutput) GoString() string {
  977. return s.String()
  978. }
  979. // The input for the DescribeJobFlows operation.
  980. type DescribeJobFlowsInput struct {
  981. // Return only job flows created after this date and time.
  982. CreatedAfter *time.Time `type:"timestamp" timestampFormat:"unix"`
  983. // Return only job flows created before this date and time.
  984. CreatedBefore *time.Time `type:"timestamp" timestampFormat:"unix"`
  985. // Return only job flows whose job flow ID is contained in this list.
  986. JobFlowIds []*string `type:"list"`
  987. // Return only job flows whose state is contained in this list.
  988. JobFlowStates []*string `type:"list"`
  989. metadataDescribeJobFlowsInput `json:"-" xml:"-"`
  990. }
  991. type metadataDescribeJobFlowsInput struct {
  992. SDKShapeTraits bool `type:"structure"`
  993. }
  994. // String returns the string representation
  995. func (s DescribeJobFlowsInput) String() string {
  996. return awsutil.Prettify(s)
  997. }
  998. // GoString returns the string representation
  999. func (s DescribeJobFlowsInput) GoString() string {
  1000. return s.String()
  1001. }
  1002. // The output for the DescribeJobFlows operation.
  1003. type DescribeJobFlowsOutput struct {
  1004. // A list of job flows matching the parameters supplied.
  1005. JobFlows []*JobFlowDetail `type:"list"`
  1006. metadataDescribeJobFlowsOutput `json:"-" xml:"-"`
  1007. }
  1008. type metadataDescribeJobFlowsOutput struct {
  1009. SDKShapeTraits bool `type:"structure"`
  1010. }
  1011. // String returns the string representation
  1012. func (s DescribeJobFlowsOutput) String() string {
  1013. return awsutil.Prettify(s)
  1014. }
  1015. // GoString returns the string representation
  1016. func (s DescribeJobFlowsOutput) GoString() string {
  1017. return s.String()
  1018. }
  1019. // This input determines which step to describe.
  1020. type DescribeStepInput struct {
  1021. // The identifier of the cluster with steps to describe.
  1022. ClusterId *string `type:"string" required:"true"`
  1023. // The identifier of the step to describe.
  1024. StepId *string `type:"string" required:"true"`
  1025. metadataDescribeStepInput `json:"-" xml:"-"`
  1026. }
  1027. type metadataDescribeStepInput struct {
  1028. SDKShapeTraits bool `type:"structure"`
  1029. }
  1030. // String returns the string representation
  1031. func (s DescribeStepInput) String() string {
  1032. return awsutil.Prettify(s)
  1033. }
  1034. // GoString returns the string representation
  1035. func (s DescribeStepInput) GoString() string {
  1036. return s.String()
  1037. }
  1038. // This output contains the description of the cluster step.
  1039. type DescribeStepOutput struct {
  1040. // The step details for the requested step identifier.
  1041. Step *Step `type:"structure"`
  1042. metadataDescribeStepOutput `json:"-" xml:"-"`
  1043. }
  1044. type metadataDescribeStepOutput struct {
  1045. SDKShapeTraits bool `type:"structure"`
  1046. }
  1047. // String returns the string representation
  1048. func (s DescribeStepOutput) String() string {
  1049. return awsutil.Prettify(s)
  1050. }
  1051. // GoString returns the string representation
  1052. func (s DescribeStepOutput) GoString() string {
  1053. return s.String()
  1054. }
  1055. // Provides information about the EC2 instances in a cluster grouped by category.
  1056. // For example, key name, subnet ID, IAM instance profile, and so on.
  1057. type Ec2InstanceAttributes struct {
  1058. // A list of additional Amazon EC2 security group IDs for the master node.
  1059. AdditionalMasterSecurityGroups []*string `type:"list"`
  1060. // A list of additional Amazon EC2 security group IDs for the slave nodes.
  1061. AdditionalSlaveSecurityGroups []*string `type:"list"`
  1062. // The Availability Zone in which the cluster will run.
  1063. Ec2AvailabilityZone *string `type:"string"`
  1064. // The name of the Amazon EC2 key pair to use when connecting with SSH into
  1065. // the master node as a user named "hadoop".
  1066. Ec2KeyName *string `type:"string"`
  1067. // To launch the job flow in Amazon VPC, set this parameter to the identifier
  1068. // of the Amazon VPC subnet where you want the job flow to launch. If you do
  1069. // not specify this value, the job flow is launched in the normal AWS cloud,
  1070. // outside of a VPC.
  1071. //
  1072. // Amazon VPC currently does not support cluster compute quadruple extra large
  1073. // (cc1.4xlarge) instances. Thus, you cannot specify the cc1.4xlarge instance
  1074. // type for nodes of a job flow launched in a VPC.
  1075. Ec2SubnetId *string `type:"string"`
  1076. // The identifier of the Amazon EC2 security group (managed by Amazon Elastic
  1077. // MapReduce) for the master node.
  1078. EmrManagedMasterSecurityGroup *string `type:"string"`
  1079. // The identifier of the Amazon EC2 security group (managed by Amazon Elastic
  1080. // MapReduce) for the slave nodes.
  1081. EmrManagedSlaveSecurityGroup *string `type:"string"`
  1082. // The IAM role that was specified when the job flow was launched. The EC2 instances
  1083. // of the job flow assume this role.
  1084. IamInstanceProfile *string `type:"string"`
  1085. metadataEc2InstanceAttributes `json:"-" xml:"-"`
  1086. }
  1087. type metadataEc2InstanceAttributes struct {
  1088. SDKShapeTraits bool `type:"structure"`
  1089. }
  1090. // String returns the string representation
  1091. func (s Ec2InstanceAttributes) String() string {
  1092. return awsutil.Prettify(s)
  1093. }
  1094. // GoString returns the string representation
  1095. func (s Ec2InstanceAttributes) GoString() string {
  1096. return s.String()
  1097. }
  1098. // A job flow step consisting of a JAR file whose main function will be executed.
  1099. // The main function submits a job for Hadoop to execute and waits for the job
  1100. // to finish or fail.
  1101. type HadoopJarStepConfig struct {
  1102. // A list of command line arguments passed to the JAR file's main function when
  1103. // executed.
  1104. Args []*string `type:"list"`
  1105. // A path to a JAR file run during the step.
  1106. Jar *string `type:"string" required:"true"`
  1107. // The name of the main class in the specified Java file. If not specified,
  1108. // the JAR file should specify a Main-Class in its manifest file.
  1109. MainClass *string `type:"string"`
  1110. // A list of Java properties that are set when the step runs. You can use these
  1111. // properties to pass key value pairs to your main function.
  1112. Properties []*KeyValue `type:"list"`
  1113. metadataHadoopJarStepConfig `json:"-" xml:"-"`
  1114. }
  1115. type metadataHadoopJarStepConfig struct {
  1116. SDKShapeTraits bool `type:"structure"`
  1117. }
  1118. // String returns the string representation
  1119. func (s HadoopJarStepConfig) String() string {
  1120. return awsutil.Prettify(s)
  1121. }
  1122. // GoString returns the string representation
  1123. func (s HadoopJarStepConfig) GoString() string {
  1124. return s.String()
  1125. }
  1126. // A cluster step consisting of a JAR file whose main function will be executed.
  1127. // The main function submits a job for Hadoop to execute and waits for the job
  1128. // to finish or fail.
  1129. type HadoopStepConfig struct {
  1130. // The list of command line arguments to pass to the JAR file's main function
  1131. // for execution.
  1132. Args []*string `type:"list"`
  1133. // The path to the JAR file that runs during the step.
  1134. Jar *string `type:"string"`
  1135. // The name of the main class in the specified Java file. If not specified,
  1136. // the JAR file should specify a main class in its manifest file.
  1137. MainClass *string `type:"string"`
  1138. // The list of Java properties that are set when the step runs. You can use
  1139. // these properties to pass key value pairs to your main function.
  1140. Properties map[string]*string `type:"map"`
  1141. metadataHadoopStepConfig `json:"-" xml:"-"`
  1142. }
  1143. type metadataHadoopStepConfig struct {
  1144. SDKShapeTraits bool `type:"structure"`
  1145. }
  1146. // String returns the string representation
  1147. func (s HadoopStepConfig) String() string {
  1148. return awsutil.Prettify(s)
  1149. }
  1150. // GoString returns the string representation
  1151. func (s HadoopStepConfig) GoString() string {
  1152. return s.String()
  1153. }
  1154. // Represents an EC2 instance provisioned as part of cluster.
  1155. type Instance struct {
  1156. // The unique identifier of the instance in Amazon EC2.
  1157. Ec2InstanceId *string `type:"string"`
  1158. // The unique identifier for the instance in Amazon EMR.
  1159. Id *string `type:"string"`
  1160. // The private DNS name of the instance.
  1161. PrivateDnsName *string `type:"string"`
  1162. // The private IP address of the instance.
  1163. PrivateIpAddress *string `type:"string"`
  1164. // The public DNS name of the instance.
  1165. PublicDnsName *string `type:"string"`
  1166. // The public IP address of the instance.
  1167. PublicIpAddress *string `type:"string"`
  1168. // The current status of the instance.
  1169. Status *InstanceStatus `type:"structure"`
  1170. metadataInstance `json:"-" xml:"-"`
  1171. }
  1172. type metadataInstance struct {
  1173. SDKShapeTraits bool `type:"structure"`
  1174. }
  1175. // String returns the string representation
  1176. func (s Instance) String() string {
  1177. return awsutil.Prettify(s)
  1178. }
  1179. // GoString returns the string representation
  1180. func (s Instance) GoString() string {
  1181. return s.String()
  1182. }
  1183. // This entity represents an instance group, which is a group of instances that
  1184. // have common purpose. For example, CORE instance group is used for HDFS.
  1185. type InstanceGroup struct {
  1186. // The bid price for each EC2 instance in the instance group when launching
  1187. // nodes as Spot Instances, expressed in USD.
  1188. BidPrice *string `type:"string"`
  1189. // Amazon EMR releases 4.x or later.
  1190. //
  1191. // The list of configurations supplied for an EMR cluster instance group. You
  1192. // can specify a separate configuration for each instance group (master, core,
  1193. // and task).
  1194. Configurations []*Configuration `type:"list"`
  1195. // The identifier of the instance group.
  1196. Id *string `type:"string"`
  1197. // The type of the instance group. Valid values are MASTER, CORE or TASK.
  1198. InstanceGroupType *string `type:"string" enum:"InstanceGroupType"`
  1199. // The EC2 instance type for all instances in the instance group.
  1200. InstanceType *string `type:"string"`
  1201. // The marketplace to provision instances for this group. Valid values are ON_DEMAND
  1202. // or SPOT.
  1203. Market *string `type:"string" enum:"MarketType"`
  1204. // The name of the instance group.
  1205. Name *string `type:"string"`
  1206. // The target number of instances for the instance group.
  1207. RequestedInstanceCount *int64 `type:"integer"`
  1208. // The number of instances currently running in this instance group.
  1209. RunningInstanceCount *int64 `type:"integer"`
  1210. // The current status of the instance group.
  1211. Status *InstanceGroupStatus `type:"structure"`
  1212. metadataInstanceGroup `json:"-" xml:"-"`
  1213. }
  1214. type metadataInstanceGroup struct {
  1215. SDKShapeTraits bool `type:"structure"`
  1216. }
  1217. // String returns the string representation
  1218. func (s InstanceGroup) String() string {
  1219. return awsutil.Prettify(s)
  1220. }
  1221. // GoString returns the string representation
  1222. func (s InstanceGroup) GoString() string {
  1223. return s.String()
  1224. }
  1225. // Configuration defining a new instance group.
  1226. type InstanceGroupConfig struct {
  1227. // Bid price for each Amazon EC2 instance in the instance group when launching
  1228. // nodes as Spot Instances, expressed in USD.
  1229. BidPrice *string `type:"string"`
  1230. // Amazon EMR releases 4.x or later.
  1231. //
  1232. // The list of configurations supplied for an EMR cluster instance group. You
  1233. // can specify a separate configuration for each instance group (master, core,
  1234. // and task).
  1235. Configurations []*Configuration `type:"list"`
  1236. // Target number of instances for the instance group.
  1237. InstanceCount *int64 `type:"integer" required:"true"`
  1238. // The role of the instance group in the cluster.
  1239. InstanceRole *string `type:"string" required:"true" enum:"InstanceRoleType"`
  1240. // The Amazon EC2 instance type for all instances in the instance group.
  1241. InstanceType *string `type:"string" required:"true"`
  1242. // Market type of the Amazon EC2 instances used to create a cluster node.
  1243. Market *string `type:"string" enum:"MarketType"`
  1244. // Friendly name given to the instance group.
  1245. Name *string `type:"string"`
  1246. metadataInstanceGroupConfig `json:"-" xml:"-"`
  1247. }
  1248. type metadataInstanceGroupConfig struct {
  1249. SDKShapeTraits bool `type:"structure"`
  1250. }
  1251. // String returns the string representation
  1252. func (s InstanceGroupConfig) String() string {
  1253. return awsutil.Prettify(s)
  1254. }
  1255. // GoString returns the string representation
  1256. func (s InstanceGroupConfig) GoString() string {
  1257. return s.String()
  1258. }
  1259. // Detailed information about an instance group.
  1260. type InstanceGroupDetail struct {
  1261. // Bid price for EC2 Instances when launching nodes as Spot Instances, expressed
  1262. // in USD.
  1263. BidPrice *string `type:"string"`
  1264. // The date/time the instance group was created.
  1265. CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
  1266. // The date/time the instance group was terminated.
  1267. EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1268. // Unique identifier for the instance group.
  1269. InstanceGroupId *string `type:"string"`
  1270. // Target number of instances to run in the instance group.
  1271. InstanceRequestCount *int64 `type:"integer" required:"true"`
  1272. // Instance group role in the cluster
  1273. InstanceRole *string `type:"string" required:"true" enum:"InstanceRoleType"`
  1274. // Actual count of running instances.
  1275. InstanceRunningCount *int64 `type:"integer" required:"true"`
  1276. // Amazon EC2 Instance type.
  1277. InstanceType *string `type:"string" required:"true"`
  1278. // Details regarding the state of the instance group.
  1279. LastStateChangeReason *string `type:"string"`
  1280. // Market type of the Amazon EC2 instances used to create a cluster node.
  1281. Market *string `type:"string" required:"true" enum:"MarketType"`
  1282. // Friendly name for the instance group.
  1283. Name *string `type:"string"`
  1284. // The date/time the instance group was available to the cluster.
  1285. ReadyDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1286. // The date/time the instance group was started.
  1287. StartDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1288. // State of instance group. The following values are deprecated: STARTING, TERMINATED,
  1289. // and FAILED.
  1290. State *string `type:"string" required:"true" enum:"InstanceGroupState"`
  1291. metadataInstanceGroupDetail `json:"-" xml:"-"`
  1292. }
  1293. type metadataInstanceGroupDetail struct {
  1294. SDKShapeTraits bool `type:"structure"`
  1295. }
  1296. // String returns the string representation
  1297. func (s InstanceGroupDetail) String() string {
  1298. return awsutil.Prettify(s)
  1299. }
  1300. // GoString returns the string representation
  1301. func (s InstanceGroupDetail) GoString() string {
  1302. return s.String()
  1303. }
  1304. // Modify an instance group size.
  1305. type InstanceGroupModifyConfig struct {
  1306. // The EC2 InstanceIds to terminate. For advanced users only. Once you terminate
  1307. // the instances, the instance group will not return to its original requested
  1308. // size.
  1309. EC2InstanceIdsToTerminate []*string `type:"list"`
  1310. // Target size for the instance group.
  1311. InstanceCount *int64 `type:"integer"`
  1312. // Unique ID of the instance group to expand or shrink.
  1313. InstanceGroupId *string `type:"string" required:"true"`
  1314. metadataInstanceGroupModifyConfig `json:"-" xml:"-"`
  1315. }
  1316. type metadataInstanceGroupModifyConfig struct {
  1317. SDKShapeTraits bool `type:"structure"`
  1318. }
  1319. // String returns the string representation
  1320. func (s InstanceGroupModifyConfig) String() string {
  1321. return awsutil.Prettify(s)
  1322. }
  1323. // GoString returns the string representation
  1324. func (s InstanceGroupModifyConfig) GoString() string {
  1325. return s.String()
  1326. }
  1327. // The status change reason details for the instance group.
  1328. type InstanceGroupStateChangeReason struct {
  1329. // The programmable code for the state change reason.
  1330. Code *string `type:"string" enum:"InstanceGroupStateChangeReasonCode"`
  1331. // The status change reason description.
  1332. Message *string `type:"string"`
  1333. metadataInstanceGroupStateChangeReason `json:"-" xml:"-"`
  1334. }
  1335. type metadataInstanceGroupStateChangeReason struct {
  1336. SDKShapeTraits bool `type:"structure"`
  1337. }
  1338. // String returns the string representation
  1339. func (s InstanceGroupStateChangeReason) String() string {
  1340. return awsutil.Prettify(s)
  1341. }
  1342. // GoString returns the string representation
  1343. func (s InstanceGroupStateChangeReason) GoString() string {
  1344. return s.String()
  1345. }
  1346. // The details of the instance group status.
  1347. type InstanceGroupStatus struct {
  1348. // The current state of the instance group.
  1349. State *string `type:"string" enum:"InstanceGroupState"`
  1350. // The status change reason details for the instance group.
  1351. StateChangeReason *InstanceGroupStateChangeReason `type:"structure"`
  1352. // The timeline of the instance group status over time.
  1353. Timeline *InstanceGroupTimeline `type:"structure"`
  1354. metadataInstanceGroupStatus `json:"-" xml:"-"`
  1355. }
  1356. type metadataInstanceGroupStatus struct {
  1357. SDKShapeTraits bool `type:"structure"`
  1358. }
  1359. // String returns the string representation
  1360. func (s InstanceGroupStatus) String() string {
  1361. return awsutil.Prettify(s)
  1362. }
  1363. // GoString returns the string representation
  1364. func (s InstanceGroupStatus) GoString() string {
  1365. return s.String()
  1366. }
  1367. // The timeline of the instance group lifecycle.
  1368. type InstanceGroupTimeline struct {
  1369. // The creation date and time of the instance group.
  1370. CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1371. // The date and time when the instance group terminated.
  1372. EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1373. // The date and time when the instance group became ready to perform tasks.
  1374. ReadyDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1375. metadataInstanceGroupTimeline `json:"-" xml:"-"`
  1376. }
  1377. type metadataInstanceGroupTimeline struct {
  1378. SDKShapeTraits bool `type:"structure"`
  1379. }
  1380. // String returns the string representation
  1381. func (s InstanceGroupTimeline) String() string {
  1382. return awsutil.Prettify(s)
  1383. }
  1384. // GoString returns the string representation
  1385. func (s InstanceGroupTimeline) GoString() string {
  1386. return s.String()
  1387. }
  1388. // The details of the status change reason for the instance.
  1389. type InstanceStateChangeReason struct {
  1390. // The programmable code for the state change reason.
  1391. Code *string `type:"string" enum:"InstanceStateChangeReasonCode"`
  1392. // The status change reason description.
  1393. Message *string `type:"string"`
  1394. metadataInstanceStateChangeReason `json:"-" xml:"-"`
  1395. }
  1396. type metadataInstanceStateChangeReason struct {
  1397. SDKShapeTraits bool `type:"structure"`
  1398. }
  1399. // String returns the string representation
  1400. func (s InstanceStateChangeReason) String() string {
  1401. return awsutil.Prettify(s)
  1402. }
  1403. // GoString returns the string representation
  1404. func (s InstanceStateChangeReason) GoString() string {
  1405. return s.String()
  1406. }
  1407. // The instance status details.
  1408. type InstanceStatus struct {
  1409. // The current state of the instance.
  1410. State *string `type:"string" enum:"InstanceState"`
  1411. // The details of the status change reason for the instance.
  1412. StateChangeReason *InstanceStateChangeReason `type:"structure"`
  1413. // The timeline of the instance status over time.
  1414. Timeline *InstanceTimeline `type:"structure"`
  1415. metadataInstanceStatus `json:"-" xml:"-"`
  1416. }
  1417. type metadataInstanceStatus struct {
  1418. SDKShapeTraits bool `type:"structure"`
  1419. }
  1420. // String returns the string representation
  1421. func (s InstanceStatus) String() string {
  1422. return awsutil.Prettify(s)
  1423. }
  1424. // GoString returns the string representation
  1425. func (s InstanceStatus) GoString() string {
  1426. return s.String()
  1427. }
  1428. // The timeline of the instance lifecycle.
  1429. type InstanceTimeline struct {
  1430. // The creation date and time of the instance.
  1431. CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1432. // The date and time when the instance was terminated.
  1433. EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1434. // The date and time when the instance was ready to perform tasks.
  1435. ReadyDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1436. metadataInstanceTimeline `json:"-" xml:"-"`
  1437. }
  1438. type metadataInstanceTimeline struct {
  1439. SDKShapeTraits bool `type:"structure"`
  1440. }
  1441. // String returns the string representation
  1442. func (s InstanceTimeline) String() string {
  1443. return awsutil.Prettify(s)
  1444. }
  1445. // GoString returns the string representation
  1446. func (s InstanceTimeline) GoString() string {
  1447. return s.String()
  1448. }
  1449. // A description of a job flow.
  1450. type JobFlowDetail struct {
  1451. // The version of the AMI used to initialize Amazon EC2 instances in the job
  1452. // flow. For a list of AMI versions currently supported by Amazon ElasticMapReduce,
  1453. // go to AMI Versions Supported in Elastic MapReduce (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/EnvironmentConfig_AMIVersion.html#ami-versions-supported)
  1454. // in the Amazon Elastic MapReduce Developer Guide.
  1455. AmiVersion *string `type:"string"`
  1456. // A list of the bootstrap actions run by the job flow.
  1457. BootstrapActions []*BootstrapActionDetail `type:"list"`
  1458. // Describes the execution status of the job flow.
  1459. ExecutionStatusDetail *JobFlowExecutionStatusDetail `type:"structure" required:"true"`
  1460. // Describes the Amazon EC2 instances of the job flow.
  1461. Instances *JobFlowInstancesDetail `type:"structure" required:"true"`
  1462. // The job flow identifier.
  1463. JobFlowId *string `type:"string" required:"true"`
  1464. // The IAM role that was specified when the job flow was launched. The EC2 instances
  1465. // of the job flow assume this role.
  1466. JobFlowRole *string `type:"string"`
  1467. // The location in Amazon S3 where log files for the job are stored.
  1468. LogUri *string `type:"string"`
  1469. // The name of the job flow.
  1470. Name *string `type:"string" required:"true"`
  1471. // The IAM role that will be assumed by the Amazon EMR service to access AWS
  1472. // resources on your behalf.
  1473. ServiceRole *string `type:"string"`
  1474. // A list of steps run by the job flow.
  1475. Steps []*StepDetail `type:"list"`
  1476. // A list of strings set by third party software when the job flow is launched.
  1477. // If you are not using third party software to manage the job flow this value
  1478. // is empty.
  1479. SupportedProducts []*string `type:"list"`
  1480. // Specifies whether the job flow is visible to all IAM users of the AWS account
  1481. // associated with the job flow. If this value is set to true, all IAM users
  1482. // of that AWS account can view and (if they have the proper policy permissions
  1483. // set) manage the job flow. If it is set to false, only the IAM user that created
  1484. // the job flow can view and manage it. This value can be changed using the
  1485. // SetVisibleToAllUsers action.
  1486. VisibleToAllUsers *bool `type:"boolean"`
  1487. metadataJobFlowDetail `json:"-" xml:"-"`
  1488. }
  1489. type metadataJobFlowDetail struct {
  1490. SDKShapeTraits bool `type:"structure"`
  1491. }
  1492. // String returns the string representation
  1493. func (s JobFlowDetail) String() string {
  1494. return awsutil.Prettify(s)
  1495. }
  1496. // GoString returns the string representation
  1497. func (s JobFlowDetail) GoString() string {
  1498. return s.String()
  1499. }
  1500. // Describes the status of the job flow.
  1501. type JobFlowExecutionStatusDetail struct {
  1502. // The creation date and time of the job flow.
  1503. CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
  1504. // The completion date and time of the job flow.
  1505. EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1506. // Description of the job flow last changed state.
  1507. LastStateChangeReason *string `type:"string"`
  1508. // The date and time when the job flow was ready to start running bootstrap
  1509. // actions.
  1510. ReadyDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1511. // The start date and time of the job flow.
  1512. StartDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1513. // The state of the job flow.
  1514. State *string `type:"string" required:"true" enum:"JobFlowExecutionState"`
  1515. metadataJobFlowExecutionStatusDetail `json:"-" xml:"-"`
  1516. }
  1517. type metadataJobFlowExecutionStatusDetail struct {
  1518. SDKShapeTraits bool `type:"structure"`
  1519. }
  1520. // String returns the string representation
  1521. func (s JobFlowExecutionStatusDetail) String() string {
  1522. return awsutil.Prettify(s)
  1523. }
  1524. // GoString returns the string representation
  1525. func (s JobFlowExecutionStatusDetail) GoString() string {
  1526. return s.String()
  1527. }
  1528. // A description of the Amazon EC2 instance running the job flow. A valid JobFlowInstancesConfig
  1529. // must contain at least InstanceGroups, which is the recommended configuration.
  1530. // However, a valid alternative is to have MasterInstanceType, SlaveInstanceType,
  1531. // and InstanceCount (all three must be present).
  1532. type JobFlowInstancesConfig struct {
  1533. // A list of additional Amazon EC2 security group IDs for the master node.
  1534. AdditionalMasterSecurityGroups []*string `type:"list"`
  1535. // A list of additional Amazon EC2 security group IDs for the slave nodes.
  1536. AdditionalSlaveSecurityGroups []*string `type:"list"`
  1537. // The name of the Amazon EC2 key pair that can be used to ssh to the master
  1538. // node as the user called "hadoop."
  1539. Ec2KeyName *string `type:"string"`
  1540. // To launch the job flow in Amazon Virtual Private Cloud (Amazon VPC), set
  1541. // this parameter to the identifier of the Amazon VPC subnet where you want
  1542. // the job flow to launch. If you do not specify this value, the job flow is
  1543. // launched in the normal Amazon Web Services cloud, outside of an Amazon VPC.
  1544. //
  1545. // Amazon VPC currently does not support cluster compute quadruple extra large
  1546. // (cc1.4xlarge) instances. Thus you cannot specify the cc1.4xlarge instance
  1547. // type for nodes of a job flow launched in a Amazon VPC.
  1548. Ec2SubnetId *string `type:"string"`
  1549. // The identifier of the Amazon EC2 security group (managed by Amazon ElasticMapReduce)
  1550. // for the master node.
  1551. EmrManagedMasterSecurityGroup *string `type:"string"`
  1552. // The identifier of the Amazon EC2 security group (managed by Amazon ElasticMapReduce)
  1553. // for the slave nodes.
  1554. EmrManagedSlaveSecurityGroup *string `type:"string"`
  1555. // The Hadoop version for the job flow. Valid inputs are "0.18" (deprecated),
  1556. // "0.20" (deprecated), "0.20.205" (deprecated), "1.0.3", "2.2.0", or "2.4.0".
  1557. // If you do not set this value, the default of 0.18 is used, unless the AmiVersion
  1558. // parameter is set in the RunJobFlow call, in which case the default version
  1559. // of Hadoop for that AMI version is used.
  1560. HadoopVersion *string `type:"string"`
  1561. // The number of Amazon EC2 instances used to execute the job flow.
  1562. InstanceCount *int64 `type:"integer"`
  1563. // Configuration for the job flow's instance groups.
  1564. InstanceGroups []*InstanceGroupConfig `type:"list"`
  1565. // Specifies whether the job flow should be kept alive after completing all
  1566. // steps.
  1567. KeepJobFlowAliveWhenNoSteps *bool `type:"boolean"`
  1568. // The EC2 instance type of the master node.
  1569. MasterInstanceType *string `type:"string"`
  1570. // The Availability Zone the job flow will run in.
  1571. Placement *PlacementType `type:"structure"`
  1572. // The EC2 instance type of the slave nodes.
  1573. SlaveInstanceType *string `type:"string"`
  1574. // Specifies whether to lock the job flow to prevent the Amazon EC2 instances
  1575. // from being terminated by API call, user intervention, or in the event of
  1576. // a job flow error.
  1577. TerminationProtected *bool `type:"boolean"`
  1578. metadataJobFlowInstancesConfig `json:"-" xml:"-"`
  1579. }
  1580. type metadataJobFlowInstancesConfig struct {
  1581. SDKShapeTraits bool `type:"structure"`
  1582. }
  1583. // String returns the string representation
  1584. func (s JobFlowInstancesConfig) String() string {
  1585. return awsutil.Prettify(s)
  1586. }
  1587. // GoString returns the string representation
  1588. func (s JobFlowInstancesConfig) GoString() string {
  1589. return s.String()
  1590. }
  1591. // Specify the type of Amazon EC2 instances to run the job flow on.
  1592. type JobFlowInstancesDetail struct {
  1593. // The name of an Amazon EC2 key pair that can be used to ssh to the master
  1594. // node of job flow.
  1595. Ec2KeyName *string `type:"string"`
  1596. // For job flows launched within Amazon Virtual Private Cloud, this value specifies
  1597. // the identifier of the subnet where the job flow was launched.
  1598. Ec2SubnetId *string `type:"string"`
  1599. // The Hadoop version for the job flow.
  1600. HadoopVersion *string `type:"string"`
  1601. // The number of Amazon EC2 instances in the cluster. If the value is 1, the
  1602. // same instance serves as both the master and slave node. If the value is greater
  1603. // than 1, one instance is the master node and all others are slave nodes.
  1604. InstanceCount *int64 `type:"integer" required:"true"`
  1605. // Details about the job flow's instance groups.
  1606. InstanceGroups []*InstanceGroupDetail `type:"list"`
  1607. // Specifies whether the job flow should terminate after completing all steps.
  1608. KeepJobFlowAliveWhenNoSteps *bool `type:"boolean"`
  1609. // The Amazon EC2 instance identifier of the master node.
  1610. MasterInstanceId *string `type:"string"`
  1611. // The Amazon EC2 master node instance type.
  1612. MasterInstanceType *string `type:"string" required:"true"`
  1613. // The DNS name of the master node.
  1614. MasterPublicDnsName *string `type:"string"`
  1615. // An approximation of the cost of the job flow, represented in m1.small/hours.
  1616. // This value is incremented once for every hour an m1.small runs. Larger instances
  1617. // are weighted more, so an Amazon EC2 instance that is roughly four times more
  1618. // expensive would result in the normalized instance hours being incremented
  1619. // by four. This result is only an approximation and does not reflect the actual
  1620. // billing rate.
  1621. NormalizedInstanceHours *int64 `type:"integer"`
  1622. // The Amazon EC2 Availability Zone for the job flow.
  1623. Placement *PlacementType `type:"structure"`
  1624. // The Amazon EC2 slave node instance type.
  1625. SlaveInstanceType *string `type:"string" required:"true"`
  1626. // Specifies whether the Amazon EC2 instances in the cluster are protected from
  1627. // termination by API calls, user intervention, or in the event of a job flow
  1628. // error.
  1629. TerminationProtected *bool `type:"boolean"`
  1630. metadataJobFlowInstancesDetail `json:"-" xml:"-"`
  1631. }
  1632. type metadataJobFlowInstancesDetail struct {
  1633. SDKShapeTraits bool `type:"structure"`
  1634. }
  1635. // String returns the string representation
  1636. func (s JobFlowInstancesDetail) String() string {
  1637. return awsutil.Prettify(s)
  1638. }
  1639. // GoString returns the string representation
  1640. func (s JobFlowInstancesDetail) GoString() string {
  1641. return s.String()
  1642. }
  1643. // A key value pair.
  1644. type KeyValue struct {
  1645. // The unique identifier of a key value pair.
  1646. Key *string `type:"string"`
  1647. // The value part of the identified key.
  1648. Value *string `type:"string"`
  1649. metadataKeyValue `json:"-" xml:"-"`
  1650. }
  1651. type metadataKeyValue struct {
  1652. SDKShapeTraits bool `type:"structure"`
  1653. }
  1654. // String returns the string representation
  1655. func (s KeyValue) String() string {
  1656. return awsutil.Prettify(s)
  1657. }
  1658. // GoString returns the string representation
  1659. func (s KeyValue) GoString() string {
  1660. return s.String()
  1661. }
  1662. // This input determines which bootstrap actions to retrieve.
  1663. type ListBootstrapActionsInput struct {
  1664. // The cluster identifier for the bootstrap actions to list .
  1665. ClusterId *string `type:"string" required:"true"`
  1666. // The pagination token that indicates the next set of results to retrieve .
  1667. Marker *string `type:"string"`
  1668. metadataListBootstrapActionsInput `json:"-" xml:"-"`
  1669. }
  1670. type metadataListBootstrapActionsInput struct {
  1671. SDKShapeTraits bool `type:"structure"`
  1672. }
  1673. // String returns the string representation
  1674. func (s ListBootstrapActionsInput) String() string {
  1675. return awsutil.Prettify(s)
  1676. }
  1677. // GoString returns the string representation
  1678. func (s ListBootstrapActionsInput) GoString() string {
  1679. return s.String()
  1680. }
  1681. // This output contains the boostrap actions detail .
  1682. type ListBootstrapActionsOutput struct {
  1683. // The bootstrap actions associated with the cluster .
  1684. BootstrapActions []*Command `type:"list"`
  1685. // The pagination token that indicates the next set of results to retrieve .
  1686. Marker *string `type:"string"`
  1687. metadataListBootstrapActionsOutput `json:"-" xml:"-"`
  1688. }
  1689. type metadataListBootstrapActionsOutput struct {
  1690. SDKShapeTraits bool `type:"structure"`
  1691. }
  1692. // String returns the string representation
  1693. func (s ListBootstrapActionsOutput) String() string {
  1694. return awsutil.Prettify(s)
  1695. }
  1696. // GoString returns the string representation
  1697. func (s ListBootstrapActionsOutput) GoString() string {
  1698. return s.String()
  1699. }
  1700. // This input determines how the ListClusters action filters the list of clusters
  1701. // that it returns.
  1702. type ListClustersInput struct {
  1703. // The cluster state filters to apply when listing clusters.
  1704. ClusterStates []*string `type:"list"`
  1705. // The creation date and time beginning value filter for listing clusters .
  1706. CreatedAfter *time.Time `type:"timestamp" timestampFormat:"unix"`
  1707. // The creation date and time end value filter for listing clusters .
  1708. CreatedBefore *time.Time `type:"timestamp" timestampFormat:"unix"`
  1709. // The pagination token that indicates the next set of results to retrieve.
  1710. Marker *string `type:"string"`
  1711. metadataListClustersInput `json:"-" xml:"-"`
  1712. }
  1713. type metadataListClustersInput struct {
  1714. SDKShapeTraits bool `type:"structure"`
  1715. }
  1716. // String returns the string representation
  1717. func (s ListClustersInput) String() string {
  1718. return awsutil.Prettify(s)
  1719. }
  1720. // GoString returns the string representation
  1721. func (s ListClustersInput) GoString() string {
  1722. return s.String()
  1723. }
  1724. // This contains a ClusterSummaryList with the cluster details; for example,
  1725. // the cluster IDs, names, and status.
  1726. type ListClustersOutput struct {
  1727. // The list of clusters for the account based on the given filters.
  1728. Clusters []*ClusterSummary `type:"list"`
  1729. // The pagination token that indicates the next set of results to retrieve.
  1730. Marker *string `type:"string"`
  1731. metadataListClustersOutput `json:"-" xml:"-"`
  1732. }
  1733. type metadataListClustersOutput struct {
  1734. SDKShapeTraits bool `type:"structure"`
  1735. }
  1736. // String returns the string representation
  1737. func (s ListClustersOutput) String() string {
  1738. return awsutil.Prettify(s)
  1739. }
  1740. // GoString returns the string representation
  1741. func (s ListClustersOutput) GoString() string {
  1742. return s.String()
  1743. }
  1744. // This input determines which instance groups to retrieve.
  1745. type ListInstanceGroupsInput struct {
  1746. // The identifier of the cluster for which to list the instance groups.
  1747. ClusterId *string `type:"string" required:"true"`
  1748. // The pagination token that indicates the next set of results to retrieve.
  1749. Marker *string `type:"string"`
  1750. metadataListInstanceGroupsInput `json:"-" xml:"-"`
  1751. }
  1752. type metadataListInstanceGroupsInput struct {
  1753. SDKShapeTraits bool `type:"structure"`
  1754. }
  1755. // String returns the string representation
  1756. func (s ListInstanceGroupsInput) String() string {
  1757. return awsutil.Prettify(s)
  1758. }
  1759. // GoString returns the string representation
  1760. func (s ListInstanceGroupsInput) GoString() string {
  1761. return s.String()
  1762. }
  1763. // This input determines which instance groups to retrieve.
  1764. type ListInstanceGroupsOutput struct {
  1765. // The list of instance groups for the cluster and given filters.
  1766. InstanceGroups []*InstanceGroup `type:"list"`
  1767. // The pagination token that indicates the next set of results to retrieve.
  1768. Marker *string `type:"string"`
  1769. metadataListInstanceGroupsOutput `json:"-" xml:"-"`
  1770. }
  1771. type metadataListInstanceGroupsOutput struct {
  1772. SDKShapeTraits bool `type:"structure"`
  1773. }
  1774. // String returns the string representation
  1775. func (s ListInstanceGroupsOutput) String() string {
  1776. return awsutil.Prettify(s)
  1777. }
  1778. // GoString returns the string representation
  1779. func (s ListInstanceGroupsOutput) GoString() string {
  1780. return s.String()
  1781. }
  1782. // This input determines which instances to list.
  1783. type ListInstancesInput struct {
  1784. // The identifier of the cluster for which to list the instances.
  1785. ClusterId *string `type:"string" required:"true"`
  1786. // The identifier of the instance group for which to list the instances.
  1787. InstanceGroupId *string `type:"string"`
  1788. // The type of instance group for which to list the instances.
  1789. InstanceGroupTypes []*string `type:"list"`
  1790. // The pagination token that indicates the next set of results to retrieve.
  1791. Marker *string `type:"string"`
  1792. metadataListInstancesInput `json:"-" xml:"-"`
  1793. }
  1794. type metadataListInstancesInput struct {
  1795. SDKShapeTraits bool `type:"structure"`
  1796. }
  1797. // String returns the string representation
  1798. func (s ListInstancesInput) String() string {
  1799. return awsutil.Prettify(s)
  1800. }
  1801. // GoString returns the string representation
  1802. func (s ListInstancesInput) GoString() string {
  1803. return s.String()
  1804. }
  1805. // This output contains the list of instances.
  1806. type ListInstancesOutput struct {
  1807. // The list of instances for the cluster and given filters.
  1808. Instances []*Instance `type:"list"`
  1809. // The pagination token that indicates the next set of results to retrieve.
  1810. Marker *string `type:"string"`
  1811. metadataListInstancesOutput `json:"-" xml:"-"`
  1812. }
  1813. type metadataListInstancesOutput struct {
  1814. SDKShapeTraits bool `type:"structure"`
  1815. }
  1816. // String returns the string representation
  1817. func (s ListInstancesOutput) String() string {
  1818. return awsutil.Prettify(s)
  1819. }
  1820. // GoString returns the string representation
  1821. func (s ListInstancesOutput) GoString() string {
  1822. return s.String()
  1823. }
  1824. // This input determines which steps to list.
  1825. type ListStepsInput struct {
  1826. // The identifier of the cluster for which to list the steps.
  1827. ClusterId *string `type:"string" required:"true"`
  1828. // The pagination token that indicates the next set of results to retrieve.
  1829. Marker *string `type:"string"`
  1830. // The filter to limit the step list based on the identifier of the steps.
  1831. StepIds []*string `type:"list"`
  1832. // The filter to limit the step list based on certain states.
  1833. StepStates []*string `type:"list"`
  1834. metadataListStepsInput `json:"-" xml:"-"`
  1835. }
  1836. type metadataListStepsInput struct {
  1837. SDKShapeTraits bool `type:"structure"`
  1838. }
  1839. // String returns the string representation
  1840. func (s ListStepsInput) String() string {
  1841. return awsutil.Prettify(s)
  1842. }
  1843. // GoString returns the string representation
  1844. func (s ListStepsInput) GoString() string {
  1845. return s.String()
  1846. }
  1847. // This output contains the list of steps.
  1848. type ListStepsOutput struct {
  1849. // The pagination token that indicates the next set of results to retrieve.
  1850. Marker *string `type:"string"`
  1851. // The filtered list of steps for the cluster.
  1852. Steps []*StepSummary `type:"list"`
  1853. metadataListStepsOutput `json:"-" xml:"-"`
  1854. }
  1855. type metadataListStepsOutput struct {
  1856. SDKShapeTraits bool `type:"structure"`
  1857. }
  1858. // String returns the string representation
  1859. func (s ListStepsOutput) String() string {
  1860. return awsutil.Prettify(s)
  1861. }
  1862. // GoString returns the string representation
  1863. func (s ListStepsOutput) GoString() string {
  1864. return s.String()
  1865. }
  1866. // Change the size of some instance groups.
  1867. type ModifyInstanceGroupsInput struct {
  1868. // Instance groups to change.
  1869. InstanceGroups []*InstanceGroupModifyConfig `type:"list"`
  1870. metadataModifyInstanceGroupsInput `json:"-" xml:"-"`
  1871. }
  1872. type metadataModifyInstanceGroupsInput struct {
  1873. SDKShapeTraits bool `type:"structure"`
  1874. }
  1875. // String returns the string representation
  1876. func (s ModifyInstanceGroupsInput) String() string {
  1877. return awsutil.Prettify(s)
  1878. }
  1879. // GoString returns the string representation
  1880. func (s ModifyInstanceGroupsInput) GoString() string {
  1881. return s.String()
  1882. }
  1883. type ModifyInstanceGroupsOutput struct {
  1884. metadataModifyInstanceGroupsOutput `json:"-" xml:"-"`
  1885. }
  1886. type metadataModifyInstanceGroupsOutput struct {
  1887. SDKShapeTraits bool `type:"structure"`
  1888. }
  1889. // String returns the string representation
  1890. func (s ModifyInstanceGroupsOutput) String() string {
  1891. return awsutil.Prettify(s)
  1892. }
  1893. // GoString returns the string representation
  1894. func (s ModifyInstanceGroupsOutput) GoString() string {
  1895. return s.String()
  1896. }
  1897. // The Amazon EC2 location for the job flow.
  1898. type PlacementType struct {
  1899. // The Amazon EC2 Availability Zone for the job flow.
  1900. AvailabilityZone *string `type:"string" required:"true"`
  1901. metadataPlacementType `json:"-" xml:"-"`
  1902. }
  1903. type metadataPlacementType struct {
  1904. SDKShapeTraits bool `type:"structure"`
  1905. }
  1906. // String returns the string representation
  1907. func (s PlacementType) String() string {
  1908. return awsutil.Prettify(s)
  1909. }
  1910. // GoString returns the string representation
  1911. func (s PlacementType) GoString() string {
  1912. return s.String()
  1913. }
  1914. // This input identifies a cluster and a list of tags to remove.
  1915. type RemoveTagsInput struct {
  1916. // The Amazon EMR resource identifier from which tags will be removed. This
  1917. // value must be a cluster identifier.
  1918. ResourceId *string `type:"string" required:"true"`
  1919. // A list of tag keys to remove from a resource.
  1920. TagKeys []*string `type:"list" required:"true"`
  1921. metadataRemoveTagsInput `json:"-" xml:"-"`
  1922. }
  1923. type metadataRemoveTagsInput struct {
  1924. SDKShapeTraits bool `type:"structure"`
  1925. }
  1926. // String returns the string representation
  1927. func (s RemoveTagsInput) String() string {
  1928. return awsutil.Prettify(s)
  1929. }
  1930. // GoString returns the string representation
  1931. func (s RemoveTagsInput) GoString() string {
  1932. return s.String()
  1933. }
  1934. // This output indicates the result of removing tags from a resource.
  1935. type RemoveTagsOutput struct {
  1936. metadataRemoveTagsOutput `json:"-" xml:"-"`
  1937. }
  1938. type metadataRemoveTagsOutput struct {
  1939. SDKShapeTraits bool `type:"structure"`
  1940. }
  1941. // String returns the string representation
  1942. func (s RemoveTagsOutput) String() string {
  1943. return awsutil.Prettify(s)
  1944. }
  1945. // GoString returns the string representation
  1946. func (s RemoveTagsOutput) GoString() string {
  1947. return s.String()
  1948. }
  1949. // Input to the RunJobFlow operation.
  1950. type RunJobFlowInput struct {
  1951. // A JSON string for selecting additional features.
  1952. AdditionalInfo *string `type:"string"`
  1953. // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater,
  1954. // use ReleaseLabel.
  1955. //
  1956. // The version of the Amazon Machine Image (AMI) to use when launching Amazon
  1957. // EC2 instances in the job flow. The following values are valid:
  1958. //
  1959. // The version number of the AMI to use, for example, "2.0." If the AMI supports
  1960. // multiple versions of Hadoop (for example, AMI 1.0 supports both Hadoop 0.18
  1961. // and 0.20) you can use the JobFlowInstancesConfig HadoopVersion parameter
  1962. // to modify the version of Hadoop from the defaults shown above.
  1963. //
  1964. // For details about the AMI versions currently supported by Amazon Elastic
  1965. // MapReduce, go to AMI Versions Supported in Elastic MapReduce (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/EnvironmentConfig_AMIVersion.html#ami-versions-supported)
  1966. // in the Amazon Elastic MapReduce Developer's Guide.
  1967. AmiVersion *string `type:"string"`
  1968. // Amazon EMR releases 4.x or later.
  1969. //
  1970. // A list of applications for the cluster. Valid values are: "Hadoop", "Hive",
  1971. // "Mahout", "Pig", and "Spark." They are case insensitive.
  1972. Applications []*Application `type:"list"`
  1973. // A list of bootstrap actions that will be run before Hadoop is started on
  1974. // the cluster nodes.
  1975. BootstrapActions []*BootstrapActionConfig `type:"list"`
  1976. // Amazon EMR releases 4.x or later.
  1977. //
  1978. // The list of configurations supplied for the EMR cluster you are creating.
  1979. Configurations []*Configuration `type:"list"`
  1980. // A specification of the number and type of Amazon EC2 instances on which to
  1981. // run the job flow.
  1982. Instances *JobFlowInstancesConfig `type:"structure" required:"true"`
  1983. // An IAM role for the job flow. The EC2 instances of the job flow assume this
  1984. // role. The default role is EMRJobflowDefault. In order to use the default
  1985. // role, you must have already created it using the CLI.
  1986. JobFlowRole *string `type:"string"`
  1987. // The location in Amazon S3 to write the log files of the job flow. If a value
  1988. // is not provided, logs are not created.
  1989. LogUri *string `type:"string"`
  1990. // The name of the job flow.
  1991. Name *string `type:"string" required:"true"`
  1992. // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater,
  1993. // use Applications.
  1994. //
  1995. // A list of strings that indicates third-party software to use with the job
  1996. // flow that accepts a user argument list. EMR accepts and forwards the argument
  1997. // list to the corresponding installation script as bootstrap action arguments.
  1998. // For more information, see Launch a Job Flow on the MapR Distribution for
  1999. // Hadoop (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-mapr.html).
  2000. // Currently supported values are:
  2001. //
  2002. // "mapr-m3" - launch the cluster using MapR M3 Edition. "mapr-m5" - launch
  2003. // the cluster using MapR M5 Edition. "mapr" with the user arguments specifying
  2004. // "--edition,m3" or "--edition,m5" - launch the job flow using MapR M3 or M5
  2005. // Edition respectively. "mapr-m7" - launch the cluster using MapR M7 Edition.
  2006. // "hunk" - launch the cluster with the Hunk Big Data Analtics Platform. "hue"-
  2007. // launch the cluster with Hue installed. "spark" - launch the cluster with
  2008. // Apache Spark installed. "ganglia" - launch the cluster with the Ganglia Monitoring
  2009. // System installed.
  2010. NewSupportedProducts []*SupportedProductConfig `type:"list"`
  2011. // Amazon EMR releases 4.x or later.
  2012. //
  2013. // The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x
  2014. // AMIs, use amiVersion instead instead of ReleaseLabel.
  2015. ReleaseLabel *string `type:"string"`
  2016. // The IAM role that will be assumed by the Amazon EMR service to access AWS
  2017. // resources on your behalf.
  2018. ServiceRole *string `type:"string"`
  2019. // A list of steps to be executed by the job flow.
  2020. Steps []*StepConfig `type:"list"`
  2021. // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater,
  2022. // use Applications.
  2023. //
  2024. // A list of strings that indicates third-party software to use with the job
  2025. // flow. For more information, go to Use Third Party Applications with Amazon
  2026. // EMR (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-supported-products.html).
  2027. // Currently supported values are:
  2028. //
  2029. // "mapr-m3" - launch the job flow using MapR M3 Edition. "mapr-m5" - launch
  2030. // the job flow using MapR M5 Edition.
  2031. SupportedProducts []*string `type:"list"`
  2032. // A list of tags to associate with a cluster and propagate to Amazon EC2 instances.
  2033. Tags []*Tag `type:"list"`
  2034. // Whether the job flow is visible to all IAM users of the AWS account associated
  2035. // with the job flow. If this value is set to true, all IAM users of that AWS
  2036. // account can view and (if they have the proper policy permissions set) manage
  2037. // the job flow. If it is set to false, only the IAM user that created the job
  2038. // flow can view and manage it.
  2039. VisibleToAllUsers *bool `type:"boolean"`
  2040. metadataRunJobFlowInput `json:"-" xml:"-"`
  2041. }
  2042. type metadataRunJobFlowInput struct {
  2043. SDKShapeTraits bool `type:"structure"`
  2044. }
  2045. // String returns the string representation
  2046. func (s RunJobFlowInput) String() string {
  2047. return awsutil.Prettify(s)
  2048. }
  2049. // GoString returns the string representation
  2050. func (s RunJobFlowInput) GoString() string {
  2051. return s.String()
  2052. }
  2053. // The result of the RunJobFlow operation.
  2054. type RunJobFlowOutput struct {
  2055. // An unique identifier for the job flow.
  2056. JobFlowId *string `type:"string"`
  2057. metadataRunJobFlowOutput `json:"-" xml:"-"`
  2058. }
  2059. type metadataRunJobFlowOutput struct {
  2060. SDKShapeTraits bool `type:"structure"`
  2061. }
  2062. // String returns the string representation
  2063. func (s RunJobFlowOutput) String() string {
  2064. return awsutil.Prettify(s)
  2065. }
  2066. // GoString returns the string representation
  2067. func (s RunJobFlowOutput) GoString() string {
  2068. return s.String()
  2069. }
  2070. // Configuration of the script to run during a bootstrap action.
  2071. type ScriptBootstrapActionConfig struct {
  2072. // A list of command line arguments to pass to the bootstrap action script.
  2073. Args []*string `type:"list"`
  2074. // Location of the script to run during a bootstrap action. Can be either a
  2075. // location in Amazon S3 or on a local file system.
  2076. Path *string `type:"string" required:"true"`
  2077. metadataScriptBootstrapActionConfig `json:"-" xml:"-"`
  2078. }
  2079. type metadataScriptBootstrapActionConfig struct {
  2080. SDKShapeTraits bool `type:"structure"`
  2081. }
  2082. // String returns the string representation
  2083. func (s ScriptBootstrapActionConfig) String() string {
  2084. return awsutil.Prettify(s)
  2085. }
  2086. // GoString returns the string representation
  2087. func (s ScriptBootstrapActionConfig) GoString() string {
  2088. return s.String()
  2089. }
  2090. // The input argument to the TerminationProtection operation.
  2091. type SetTerminationProtectionInput struct {
  2092. // A list of strings that uniquely identify the job flows to protect. This identifier
  2093. // is returned by RunJobFlow and can also be obtained from DescribeJobFlows
  2094. // .
  2095. JobFlowIds []*string `type:"list" required:"true"`
  2096. // A Boolean that indicates whether to protect the job flow and prevent the
  2097. // Amazon EC2 instances in the cluster from shutting down due to API calls,
  2098. // user intervention, or job-flow error.
  2099. TerminationProtected *bool `type:"boolean" required:"true"`
  2100. metadataSetTerminationProtectionInput `json:"-" xml:"-"`
  2101. }
  2102. type metadataSetTerminationProtectionInput struct {
  2103. SDKShapeTraits bool `type:"structure"`
  2104. }
  2105. // String returns the string representation
  2106. func (s SetTerminationProtectionInput) String() string {
  2107. return awsutil.Prettify(s)
  2108. }
  2109. // GoString returns the string representation
  2110. func (s SetTerminationProtectionInput) GoString() string {
  2111. return s.String()
  2112. }
  2113. type SetTerminationProtectionOutput struct {
  2114. metadataSetTerminationProtectionOutput `json:"-" xml:"-"`
  2115. }
  2116. type metadataSetTerminationProtectionOutput struct {
  2117. SDKShapeTraits bool `type:"structure"`
  2118. }
  2119. // String returns the string representation
  2120. func (s SetTerminationProtectionOutput) String() string {
  2121. return awsutil.Prettify(s)
  2122. }
  2123. // GoString returns the string representation
  2124. func (s SetTerminationProtectionOutput) GoString() string {
  2125. return s.String()
  2126. }
  2127. // The input to the SetVisibleToAllUsers action.
  2128. type SetVisibleToAllUsersInput struct {
  2129. // Identifiers of the job flows to receive the new visibility setting.
  2130. JobFlowIds []*string `type:"list" required:"true"`
  2131. // Whether the specified job flows are visible to all IAM users of the AWS account
  2132. // associated with the job flow. If this value is set to True, all IAM users
  2133. // of that AWS account can view and, if they have the proper IAM policy permissions
  2134. // set, manage the job flows. If it is set to False, only the IAM user that
  2135. // created a job flow can view and manage it.
  2136. VisibleToAllUsers *bool `type:"boolean" required:"true"`
  2137. metadataSetVisibleToAllUsersInput `json:"-" xml:"-"`
  2138. }
  2139. type metadataSetVisibleToAllUsersInput struct {
  2140. SDKShapeTraits bool `type:"structure"`
  2141. }
  2142. // String returns the string representation
  2143. func (s SetVisibleToAllUsersInput) String() string {
  2144. return awsutil.Prettify(s)
  2145. }
  2146. // GoString returns the string representation
  2147. func (s SetVisibleToAllUsersInput) GoString() string {
  2148. return s.String()
  2149. }
  2150. type SetVisibleToAllUsersOutput struct {
  2151. metadataSetVisibleToAllUsersOutput `json:"-" xml:"-"`
  2152. }
  2153. type metadataSetVisibleToAllUsersOutput struct {
  2154. SDKShapeTraits bool `type:"structure"`
  2155. }
  2156. // String returns the string representation
  2157. func (s SetVisibleToAllUsersOutput) String() string {
  2158. return awsutil.Prettify(s)
  2159. }
  2160. // GoString returns the string representation
  2161. func (s SetVisibleToAllUsersOutput) GoString() string {
  2162. return s.String()
  2163. }
  2164. // This represents a step in a cluster.
  2165. type Step struct {
  2166. // This specifies what action to take when the cluster step fails. Possible
  2167. // values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE.
  2168. ActionOnFailure *string `type:"string" enum:"ActionOnFailure"`
  2169. // The Hadoop job configuration of the cluster step.
  2170. Config *HadoopStepConfig `type:"structure"`
  2171. // The identifier of the cluster step.
  2172. Id *string `type:"string"`
  2173. // The name of the cluster step.
  2174. Name *string `type:"string"`
  2175. // The current execution status details of the cluster step.
  2176. Status *StepStatus `type:"structure"`
  2177. metadataStep `json:"-" xml:"-"`
  2178. }
  2179. type metadataStep struct {
  2180. SDKShapeTraits bool `type:"structure"`
  2181. }
  2182. // String returns the string representation
  2183. func (s Step) String() string {
  2184. return awsutil.Prettify(s)
  2185. }
  2186. // GoString returns the string representation
  2187. func (s Step) GoString() string {
  2188. return s.String()
  2189. }
  2190. // Specification of a job flow step.
  2191. type StepConfig struct {
  2192. // The action to take if the job flow step fails.
  2193. ActionOnFailure *string `type:"string" enum:"ActionOnFailure"`
  2194. // The JAR file used for the job flow step.
  2195. HadoopJarStep *HadoopJarStepConfig `type:"structure" required:"true"`
  2196. // The name of the job flow step.
  2197. Name *string `type:"string" required:"true"`
  2198. metadataStepConfig `json:"-" xml:"-"`
  2199. }
  2200. type metadataStepConfig struct {
  2201. SDKShapeTraits bool `type:"structure"`
  2202. }
  2203. // String returns the string representation
  2204. func (s StepConfig) String() string {
  2205. return awsutil.Prettify(s)
  2206. }
  2207. // GoString returns the string representation
  2208. func (s StepConfig) GoString() string {
  2209. return s.String()
  2210. }
  2211. // Combines the execution state and configuration of a step.
  2212. type StepDetail struct {
  2213. // The description of the step status.
  2214. ExecutionStatusDetail *StepExecutionStatusDetail `type:"structure" required:"true"`
  2215. // The step configuration.
  2216. StepConfig *StepConfig `type:"structure" required:"true"`
  2217. metadataStepDetail `json:"-" xml:"-"`
  2218. }
  2219. type metadataStepDetail struct {
  2220. SDKShapeTraits bool `type:"structure"`
  2221. }
  2222. // String returns the string representation
  2223. func (s StepDetail) String() string {
  2224. return awsutil.Prettify(s)
  2225. }
  2226. // GoString returns the string representation
  2227. func (s StepDetail) GoString() string {
  2228. return s.String()
  2229. }
  2230. // The execution state of a step.
  2231. type StepExecutionStatusDetail struct {
  2232. // The creation date and time of the step.
  2233. CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
  2234. // The completion date and time of the step.
  2235. EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  2236. // A description of the step's current state.
  2237. LastStateChangeReason *string `type:"string"`
  2238. // The start date and time of the step.
  2239. StartDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  2240. // The state of the job flow step.
  2241. State *string `type:"string" required:"true" enum:"StepExecutionState"`
  2242. metadataStepExecutionStatusDetail `json:"-" xml:"-"`
  2243. }
  2244. type metadataStepExecutionStatusDetail struct {
  2245. SDKShapeTraits bool `type:"structure"`
  2246. }
  2247. // String returns the string representation
  2248. func (s StepExecutionStatusDetail) String() string {
  2249. return awsutil.Prettify(s)
  2250. }
  2251. // GoString returns the string representation
  2252. func (s StepExecutionStatusDetail) GoString() string {
  2253. return s.String()
  2254. }
  2255. // The details of the step state change reason.
  2256. type StepStateChangeReason struct {
  2257. // The programmable code for the state change reason. Note: Currently, the service
  2258. // provides no code for the state change.
  2259. Code *string `type:"string" enum:"StepStateChangeReasonCode"`
  2260. // The descriptive message for the state change reason.
  2261. Message *string `type:"string"`
  2262. metadataStepStateChangeReason `json:"-" xml:"-"`
  2263. }
  2264. type metadataStepStateChangeReason struct {
  2265. SDKShapeTraits bool `type:"structure"`
  2266. }
  2267. // String returns the string representation
  2268. func (s StepStateChangeReason) String() string {
  2269. return awsutil.Prettify(s)
  2270. }
  2271. // GoString returns the string representation
  2272. func (s StepStateChangeReason) GoString() string {
  2273. return s.String()
  2274. }
  2275. // The execution status details of the cluster step.
  2276. type StepStatus struct {
  2277. // The execution state of the cluster step.
  2278. State *string `type:"string" enum:"StepState"`
  2279. // The reason for the step execution status change.
  2280. StateChangeReason *StepStateChangeReason `type:"structure"`
  2281. // The timeline of the cluster step status over time.
  2282. Timeline *StepTimeline `type:"structure"`
  2283. metadataStepStatus `json:"-" xml:"-"`
  2284. }
  2285. type metadataStepStatus struct {
  2286. SDKShapeTraits bool `type:"structure"`
  2287. }
  2288. // String returns the string representation
  2289. func (s StepStatus) String() string {
  2290. return awsutil.Prettify(s)
  2291. }
  2292. // GoString returns the string representation
  2293. func (s StepStatus) GoString() string {
  2294. return s.String()
  2295. }
  2296. // The summary of the cluster step.
  2297. type StepSummary struct {
  2298. // This specifies what action to take when the cluster step fails. Possible
  2299. // values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE.
  2300. ActionOnFailure *string `type:"string" enum:"ActionOnFailure"`
  2301. // The Hadoop job configuration of the cluster step.
  2302. Config *HadoopStepConfig `type:"structure"`
  2303. // The identifier of the cluster step.
  2304. Id *string `type:"string"`
  2305. // The name of the cluster step.
  2306. Name *string `type:"string"`
  2307. // The current execution status details of the cluster step.
  2308. Status *StepStatus `type:"structure"`
  2309. metadataStepSummary `json:"-" xml:"-"`
  2310. }
  2311. type metadataStepSummary struct {
  2312. SDKShapeTraits bool `type:"structure"`
  2313. }
  2314. // String returns the string representation
  2315. func (s StepSummary) String() string {
  2316. return awsutil.Prettify(s)
  2317. }
  2318. // GoString returns the string representation
  2319. func (s StepSummary) GoString() string {
  2320. return s.String()
  2321. }
  2322. // The timeline of the cluster step lifecycle.
  2323. type StepTimeline struct {
  2324. // The date and time when the cluster step was created.
  2325. CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  2326. // The date and time when the cluster step execution completed or failed.
  2327. EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  2328. // The date and time when the cluster step execution started.
  2329. StartDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  2330. metadataStepTimeline `json:"-" xml:"-"`
  2331. }
  2332. type metadataStepTimeline struct {
  2333. SDKShapeTraits bool `type:"structure"`
  2334. }
  2335. // String returns the string representation
  2336. func (s StepTimeline) String() string {
  2337. return awsutil.Prettify(s)
  2338. }
  2339. // GoString returns the string representation
  2340. func (s StepTimeline) GoString() string {
  2341. return s.String()
  2342. }
  2343. // The list of supported product configurations which allow user-supplied arguments.
  2344. // EMR accepts these arguments and forwards them to the corresponding installation
  2345. // script as bootstrap action arguments.
  2346. type SupportedProductConfig struct {
  2347. // The list of user-supplied arguments.
  2348. Args []*string `type:"list"`
  2349. // The name of the product configuration.
  2350. Name *string `type:"string"`
  2351. metadataSupportedProductConfig `json:"-" xml:"-"`
  2352. }
  2353. type metadataSupportedProductConfig struct {
  2354. SDKShapeTraits bool `type:"structure"`
  2355. }
  2356. // String returns the string representation
  2357. func (s SupportedProductConfig) String() string {
  2358. return awsutil.Prettify(s)
  2359. }
  2360. // GoString returns the string representation
  2361. func (s SupportedProductConfig) GoString() string {
  2362. return s.String()
  2363. }
  2364. // A key/value pair containing user-defined metadata that you can associate
  2365. // with an Amazon EMR resource. Tags make it easier to associate clusters in
  2366. // various ways, such as grouping clu\ sters to track your Amazon EMR resource
  2367. // allocation costs. For more information, see Tagging Amazon EMR Resources
  2368. // (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-tags.html).
  2369. type Tag struct {
  2370. // A user-defined key, which is the minimum required information for a valid
  2371. // tag. For more information, see Tagging Amazon EMR Resources (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-tags.html).
  2372. Key *string `type:"string"`
  2373. // A user-defined value, which is optional in a tag. For more information, see
  2374. // Tagging Amazon EMR Resources (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-tags.html).
  2375. Value *string `type:"string"`
  2376. metadataTag `json:"-" xml:"-"`
  2377. }
  2378. type metadataTag struct {
  2379. SDKShapeTraits bool `type:"structure"`
  2380. }
  2381. // String returns the string representation
  2382. func (s Tag) String() string {
  2383. return awsutil.Prettify(s)
  2384. }
  2385. // GoString returns the string representation
  2386. func (s Tag) GoString() string {
  2387. return s.String()
  2388. }
  2389. // Input to the TerminateJobFlows operation.
  2390. type TerminateJobFlowsInput struct {
  2391. // A list of job flows to be shutdown.
  2392. JobFlowIds []*string `type:"list" required:"true"`
  2393. metadataTerminateJobFlowsInput `json:"-" xml:"-"`
  2394. }
  2395. type metadataTerminateJobFlowsInput struct {
  2396. SDKShapeTraits bool `type:"structure"`
  2397. }
  2398. // String returns the string representation
  2399. func (s TerminateJobFlowsInput) String() string {
  2400. return awsutil.Prettify(s)
  2401. }
  2402. // GoString returns the string representation
  2403. func (s TerminateJobFlowsInput) GoString() string {
  2404. return s.String()
  2405. }
  2406. type TerminateJobFlowsOutput struct {
  2407. metadataTerminateJobFlowsOutput `json:"-" xml:"-"`
  2408. }
  2409. type metadataTerminateJobFlowsOutput struct {
  2410. SDKShapeTraits bool `type:"structure"`
  2411. }
  2412. // String returns the string representation
  2413. func (s TerminateJobFlowsOutput) String() string {
  2414. return awsutil.Prettify(s)
  2415. }
  2416. // GoString returns the string representation
  2417. func (s TerminateJobFlowsOutput) GoString() string {
  2418. return s.String()
  2419. }
  2420. const (
  2421. // @enum ActionOnFailure
  2422. ActionOnFailureTerminateJobFlow = "TERMINATE_JOB_FLOW"
  2423. // @enum ActionOnFailure
  2424. ActionOnFailureTerminateCluster = "TERMINATE_CLUSTER"
  2425. // @enum ActionOnFailure
  2426. ActionOnFailureCancelAndWait = "CANCEL_AND_WAIT"
  2427. // @enum ActionOnFailure
  2428. ActionOnFailureContinue = "CONTINUE"
  2429. )
  2430. const (
  2431. // @enum ClusterState
  2432. ClusterStateStarting = "STARTING"
  2433. // @enum ClusterState
  2434. ClusterStateBootstrapping = "BOOTSTRAPPING"
  2435. // @enum ClusterState
  2436. ClusterStateRunning = "RUNNING"
  2437. // @enum ClusterState
  2438. ClusterStateWaiting = "WAITING"
  2439. // @enum ClusterState
  2440. ClusterStateTerminating = "TERMINATING"
  2441. // @enum ClusterState
  2442. ClusterStateTerminated = "TERMINATED"
  2443. // @enum ClusterState
  2444. ClusterStateTerminatedWithErrors = "TERMINATED_WITH_ERRORS"
  2445. )
  2446. const (
  2447. // @enum ClusterStateChangeReasonCode
  2448. ClusterStateChangeReasonCodeInternalError = "INTERNAL_ERROR"
  2449. // @enum ClusterStateChangeReasonCode
  2450. ClusterStateChangeReasonCodeValidationError = "VALIDATION_ERROR"
  2451. // @enum ClusterStateChangeReasonCode
  2452. ClusterStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE"
  2453. // @enum ClusterStateChangeReasonCode
  2454. ClusterStateChangeReasonCodeBootstrapFailure = "BOOTSTRAP_FAILURE"
  2455. // @enum ClusterStateChangeReasonCode
  2456. ClusterStateChangeReasonCodeUserRequest = "USER_REQUEST"
  2457. // @enum ClusterStateChangeReasonCode
  2458. ClusterStateChangeReasonCodeStepFailure = "STEP_FAILURE"
  2459. // @enum ClusterStateChangeReasonCode
  2460. ClusterStateChangeReasonCodeAllStepsCompleted = "ALL_STEPS_COMPLETED"
  2461. )
  2462. const (
  2463. // @enum InstanceGroupState
  2464. InstanceGroupStateProvisioning = "PROVISIONING"
  2465. // @enum InstanceGroupState
  2466. InstanceGroupStateBootstrapping = "BOOTSTRAPPING"
  2467. // @enum InstanceGroupState
  2468. InstanceGroupStateRunning = "RUNNING"
  2469. // @enum InstanceGroupState
  2470. InstanceGroupStateResizing = "RESIZING"
  2471. // @enum InstanceGroupState
  2472. InstanceGroupStateSuspended = "SUSPENDED"
  2473. // @enum InstanceGroupState
  2474. InstanceGroupStateTerminating = "TERMINATING"
  2475. // @enum InstanceGroupState
  2476. InstanceGroupStateTerminated = "TERMINATED"
  2477. // @enum InstanceGroupState
  2478. InstanceGroupStateArrested = "ARRESTED"
  2479. // @enum InstanceGroupState
  2480. InstanceGroupStateShuttingDown = "SHUTTING_DOWN"
  2481. // @enum InstanceGroupState
  2482. InstanceGroupStateEnded = "ENDED"
  2483. )
  2484. const (
  2485. // @enum InstanceGroupStateChangeReasonCode
  2486. InstanceGroupStateChangeReasonCodeInternalError = "INTERNAL_ERROR"
  2487. // @enum InstanceGroupStateChangeReasonCode
  2488. InstanceGroupStateChangeReasonCodeValidationError = "VALIDATION_ERROR"
  2489. // @enum InstanceGroupStateChangeReasonCode
  2490. InstanceGroupStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE"
  2491. // @enum InstanceGroupStateChangeReasonCode
  2492. InstanceGroupStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED"
  2493. )
  2494. const (
  2495. // @enum InstanceGroupType
  2496. InstanceGroupTypeMaster = "MASTER"
  2497. // @enum InstanceGroupType
  2498. InstanceGroupTypeCore = "CORE"
  2499. // @enum InstanceGroupType
  2500. InstanceGroupTypeTask = "TASK"
  2501. )
  2502. const (
  2503. // @enum InstanceRoleType
  2504. InstanceRoleTypeMaster = "MASTER"
  2505. // @enum InstanceRoleType
  2506. InstanceRoleTypeCore = "CORE"
  2507. // @enum InstanceRoleType
  2508. InstanceRoleTypeTask = "TASK"
  2509. )
  2510. const (
  2511. // @enum InstanceState
  2512. InstanceStateAwaitingFulfillment = "AWAITING_FULFILLMENT"
  2513. // @enum InstanceState
  2514. InstanceStateProvisioning = "PROVISIONING"
  2515. // @enum InstanceState
  2516. InstanceStateBootstrapping = "BOOTSTRAPPING"
  2517. // @enum InstanceState
  2518. InstanceStateRunning = "RUNNING"
  2519. // @enum InstanceState
  2520. InstanceStateTerminated = "TERMINATED"
  2521. )
  2522. const (
  2523. // @enum InstanceStateChangeReasonCode
  2524. InstanceStateChangeReasonCodeInternalError = "INTERNAL_ERROR"
  2525. // @enum InstanceStateChangeReasonCode
  2526. InstanceStateChangeReasonCodeValidationError = "VALIDATION_ERROR"
  2527. // @enum InstanceStateChangeReasonCode
  2528. InstanceStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE"
  2529. // @enum InstanceStateChangeReasonCode
  2530. InstanceStateChangeReasonCodeBootstrapFailure = "BOOTSTRAP_FAILURE"
  2531. // @enum InstanceStateChangeReasonCode
  2532. InstanceStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED"
  2533. )
  2534. // The type of instance.
  2535. //
  2536. // A small instance
  2537. //
  2538. // A large instance
  2539. const (
  2540. // @enum JobFlowExecutionState
  2541. JobFlowExecutionStateStarting = "STARTING"
  2542. // @enum JobFlowExecutionState
  2543. JobFlowExecutionStateBootstrapping = "BOOTSTRAPPING"
  2544. // @enum JobFlowExecutionState
  2545. JobFlowExecutionStateRunning = "RUNNING"
  2546. // @enum JobFlowExecutionState
  2547. JobFlowExecutionStateWaiting = "WAITING"
  2548. // @enum JobFlowExecutionState
  2549. JobFlowExecutionStateShuttingDown = "SHUTTING_DOWN"
  2550. // @enum JobFlowExecutionState
  2551. JobFlowExecutionStateTerminated = "TERMINATED"
  2552. // @enum JobFlowExecutionState
  2553. JobFlowExecutionStateCompleted = "COMPLETED"
  2554. // @enum JobFlowExecutionState
  2555. JobFlowExecutionStateFailed = "FAILED"
  2556. )
  2557. const (
  2558. // @enum MarketType
  2559. MarketTypeOnDemand = "ON_DEMAND"
  2560. // @enum MarketType
  2561. MarketTypeSpot = "SPOT"
  2562. )
  2563. const (
  2564. // @enum StepExecutionState
  2565. StepExecutionStatePending = "PENDING"
  2566. // @enum StepExecutionState
  2567. StepExecutionStateRunning = "RUNNING"
  2568. // @enum StepExecutionState
  2569. StepExecutionStateContinue = "CONTINUE"
  2570. // @enum StepExecutionState
  2571. StepExecutionStateCompleted = "COMPLETED"
  2572. // @enum StepExecutionState
  2573. StepExecutionStateCancelled = "CANCELLED"
  2574. // @enum StepExecutionState
  2575. StepExecutionStateFailed = "FAILED"
  2576. // @enum StepExecutionState
  2577. StepExecutionStateInterrupted = "INTERRUPTED"
  2578. )
  2579. const (
  2580. // @enum StepState
  2581. StepStatePending = "PENDING"
  2582. // @enum StepState
  2583. StepStateRunning = "RUNNING"
  2584. // @enum StepState
  2585. StepStateCompleted = "COMPLETED"
  2586. // @enum StepState
  2587. StepStateCancelled = "CANCELLED"
  2588. // @enum StepState
  2589. StepStateFailed = "FAILED"
  2590. // @enum StepState
  2591. StepStateInterrupted = "INTERRUPTED"
  2592. )
  2593. const (
  2594. // @enum StepStateChangeReasonCode
  2595. StepStateChangeReasonCodeNone = "NONE"
  2596. )