api-2.json 37 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397
  1. {
  2. "version":"2.0",
  3. "metadata":{
  4. "apiVersion":"2014-11-13",
  5. "endpointPrefix":"ecs",
  6. "jsonVersion":"1.1",
  7. "protocol":"json",
  8. "serviceAbbreviation":"Amazon ECS",
  9. "serviceFullName":"Amazon EC2 Container Service",
  10. "signatureVersion":"v4",
  11. "targetPrefix":"AmazonEC2ContainerServiceV20141113"
  12. },
  13. "operations":{
  14. "CreateCluster":{
  15. "name":"CreateCluster",
  16. "http":{
  17. "method":"POST",
  18. "requestUri":"/"
  19. },
  20. "input":{"shape":"CreateClusterRequest"},
  21. "output":{"shape":"CreateClusterResponse"},
  22. "errors":[
  23. {"shape":"ServerException"},
  24. {"shape":"ClientException"},
  25. {"shape":"InvalidParameterException"}
  26. ]
  27. },
  28. "CreateService":{
  29. "name":"CreateService",
  30. "http":{
  31. "method":"POST",
  32. "requestUri":"/"
  33. },
  34. "input":{"shape":"CreateServiceRequest"},
  35. "output":{"shape":"CreateServiceResponse"},
  36. "errors":[
  37. {"shape":"ServerException"},
  38. {"shape":"ClientException"},
  39. {"shape":"InvalidParameterException"},
  40. {"shape":"ClusterNotFoundException"}
  41. ]
  42. },
  43. "DeleteCluster":{
  44. "name":"DeleteCluster",
  45. "http":{
  46. "method":"POST",
  47. "requestUri":"/"
  48. },
  49. "input":{"shape":"DeleteClusterRequest"},
  50. "output":{"shape":"DeleteClusterResponse"},
  51. "errors":[
  52. {"shape":"ServerException"},
  53. {"shape":"ClientException"},
  54. {"shape":"InvalidParameterException"},
  55. {"shape":"ClusterNotFoundException"},
  56. {"shape":"ClusterContainsContainerInstancesException"},
  57. {"shape":"ClusterContainsServicesException"}
  58. ]
  59. },
  60. "DeleteService":{
  61. "name":"DeleteService",
  62. "http":{
  63. "method":"POST",
  64. "requestUri":"/"
  65. },
  66. "input":{"shape":"DeleteServiceRequest"},
  67. "output":{"shape":"DeleteServiceResponse"},
  68. "errors":[
  69. {"shape":"ServerException"},
  70. {"shape":"ClientException"},
  71. {"shape":"InvalidParameterException"},
  72. {"shape":"ClusterNotFoundException"},
  73. {"shape":"ServiceNotFoundException"}
  74. ]
  75. },
  76. "DeregisterContainerInstance":{
  77. "name":"DeregisterContainerInstance",
  78. "http":{
  79. "method":"POST",
  80. "requestUri":"/"
  81. },
  82. "input":{"shape":"DeregisterContainerInstanceRequest"},
  83. "output":{"shape":"DeregisterContainerInstanceResponse"},
  84. "errors":[
  85. {"shape":"ServerException"},
  86. {"shape":"ClientException"},
  87. {"shape":"InvalidParameterException"},
  88. {"shape":"ClusterNotFoundException"}
  89. ]
  90. },
  91. "DeregisterTaskDefinition":{
  92. "name":"DeregisterTaskDefinition",
  93. "http":{
  94. "method":"POST",
  95. "requestUri":"/"
  96. },
  97. "input":{"shape":"DeregisterTaskDefinitionRequest"},
  98. "output":{"shape":"DeregisterTaskDefinitionResponse"},
  99. "errors":[
  100. {"shape":"ServerException"},
  101. {"shape":"ClientException"},
  102. {"shape":"InvalidParameterException"}
  103. ]
  104. },
  105. "DescribeClusters":{
  106. "name":"DescribeClusters",
  107. "http":{
  108. "method":"POST",
  109. "requestUri":"/"
  110. },
  111. "input":{"shape":"DescribeClustersRequest"},
  112. "output":{"shape":"DescribeClustersResponse"},
  113. "errors":[
  114. {"shape":"ServerException"},
  115. {"shape":"ClientException"},
  116. {"shape":"InvalidParameterException"}
  117. ]
  118. },
  119. "DescribeContainerInstances":{
  120. "name":"DescribeContainerInstances",
  121. "http":{
  122. "method":"POST",
  123. "requestUri":"/"
  124. },
  125. "input":{"shape":"DescribeContainerInstancesRequest"},
  126. "output":{"shape":"DescribeContainerInstancesResponse"},
  127. "errors":[
  128. {"shape":"ServerException"},
  129. {"shape":"ClientException"},
  130. {"shape":"InvalidParameterException"},
  131. {"shape":"ClusterNotFoundException"}
  132. ]
  133. },
  134. "DescribeServices":{
  135. "name":"DescribeServices",
  136. "http":{
  137. "method":"POST",
  138. "requestUri":"/"
  139. },
  140. "input":{"shape":"DescribeServicesRequest"},
  141. "output":{"shape":"DescribeServicesResponse"},
  142. "errors":[
  143. {"shape":"ServerException"},
  144. {"shape":"ClientException"},
  145. {"shape":"InvalidParameterException"},
  146. {"shape":"ClusterNotFoundException"}
  147. ]
  148. },
  149. "DescribeTaskDefinition":{
  150. "name":"DescribeTaskDefinition",
  151. "http":{
  152. "method":"POST",
  153. "requestUri":"/"
  154. },
  155. "input":{"shape":"DescribeTaskDefinitionRequest"},
  156. "output":{"shape":"DescribeTaskDefinitionResponse"},
  157. "errors":[
  158. {"shape":"ServerException"},
  159. {"shape":"ClientException"},
  160. {"shape":"InvalidParameterException"}
  161. ]
  162. },
  163. "DescribeTasks":{
  164. "name":"DescribeTasks",
  165. "http":{
  166. "method":"POST",
  167. "requestUri":"/"
  168. },
  169. "input":{"shape":"DescribeTasksRequest"},
  170. "output":{"shape":"DescribeTasksResponse"},
  171. "errors":[
  172. {"shape":"ServerException"},
  173. {"shape":"ClientException"},
  174. {"shape":"InvalidParameterException"},
  175. {"shape":"ClusterNotFoundException"}
  176. ]
  177. },
  178. "DiscoverPollEndpoint":{
  179. "name":"DiscoverPollEndpoint",
  180. "http":{
  181. "method":"POST",
  182. "requestUri":"/"
  183. },
  184. "input":{"shape":"DiscoverPollEndpointRequest"},
  185. "output":{"shape":"DiscoverPollEndpointResponse"},
  186. "errors":[
  187. {"shape":"ServerException"},
  188. {"shape":"ClientException"}
  189. ]
  190. },
  191. "ListClusters":{
  192. "name":"ListClusters",
  193. "http":{
  194. "method":"POST",
  195. "requestUri":"/"
  196. },
  197. "input":{"shape":"ListClustersRequest"},
  198. "output":{"shape":"ListClustersResponse"},
  199. "errors":[
  200. {"shape":"ServerException"},
  201. {"shape":"ClientException"},
  202. {"shape":"InvalidParameterException"}
  203. ]
  204. },
  205. "ListContainerInstances":{
  206. "name":"ListContainerInstances",
  207. "http":{
  208. "method":"POST",
  209. "requestUri":"/"
  210. },
  211. "input":{"shape":"ListContainerInstancesRequest"},
  212. "output":{"shape":"ListContainerInstancesResponse"},
  213. "errors":[
  214. {"shape":"ServerException"},
  215. {"shape":"ClientException"},
  216. {"shape":"InvalidParameterException"},
  217. {"shape":"ClusterNotFoundException"}
  218. ]
  219. },
  220. "ListServices":{
  221. "name":"ListServices",
  222. "http":{
  223. "method":"POST",
  224. "requestUri":"/"
  225. },
  226. "input":{"shape":"ListServicesRequest"},
  227. "output":{"shape":"ListServicesResponse"},
  228. "errors":[
  229. {"shape":"ServerException"},
  230. {"shape":"ClientException"},
  231. {"shape":"InvalidParameterException"},
  232. {"shape":"ClusterNotFoundException"}
  233. ]
  234. },
  235. "ListTaskDefinitionFamilies":{
  236. "name":"ListTaskDefinitionFamilies",
  237. "http":{
  238. "method":"POST",
  239. "requestUri":"/"
  240. },
  241. "input":{"shape":"ListTaskDefinitionFamiliesRequest"},
  242. "output":{"shape":"ListTaskDefinitionFamiliesResponse"},
  243. "errors":[
  244. {"shape":"ServerException"},
  245. {"shape":"ClientException"},
  246. {"shape":"InvalidParameterException"}
  247. ]
  248. },
  249. "ListTaskDefinitions":{
  250. "name":"ListTaskDefinitions",
  251. "http":{
  252. "method":"POST",
  253. "requestUri":"/"
  254. },
  255. "input":{"shape":"ListTaskDefinitionsRequest"},
  256. "output":{"shape":"ListTaskDefinitionsResponse"},
  257. "errors":[
  258. {"shape":"ServerException"},
  259. {"shape":"ClientException"},
  260. {"shape":"InvalidParameterException"}
  261. ]
  262. },
  263. "ListTasks":{
  264. "name":"ListTasks",
  265. "http":{
  266. "method":"POST",
  267. "requestUri":"/"
  268. },
  269. "input":{"shape":"ListTasksRequest"},
  270. "output":{"shape":"ListTasksResponse"},
  271. "errors":[
  272. {"shape":"ServerException"},
  273. {"shape":"ClientException"},
  274. {"shape":"InvalidParameterException"},
  275. {"shape":"ClusterNotFoundException"},
  276. {"shape":"ServiceNotFoundException"}
  277. ]
  278. },
  279. "RegisterContainerInstance":{
  280. "name":"RegisterContainerInstance",
  281. "http":{
  282. "method":"POST",
  283. "requestUri":"/"
  284. },
  285. "input":{"shape":"RegisterContainerInstanceRequest"},
  286. "output":{"shape":"RegisterContainerInstanceResponse"},
  287. "errors":[
  288. {"shape":"ServerException"},
  289. {"shape":"ClientException"}
  290. ]
  291. },
  292. "RegisterTaskDefinition":{
  293. "name":"RegisterTaskDefinition",
  294. "http":{
  295. "method":"POST",
  296. "requestUri":"/"
  297. },
  298. "input":{"shape":"RegisterTaskDefinitionRequest"},
  299. "output":{"shape":"RegisterTaskDefinitionResponse"},
  300. "errors":[
  301. {"shape":"ServerException"},
  302. {"shape":"ClientException"},
  303. {"shape":"InvalidParameterException"}
  304. ]
  305. },
  306. "RunTask":{
  307. "name":"RunTask",
  308. "http":{
  309. "method":"POST",
  310. "requestUri":"/"
  311. },
  312. "input":{"shape":"RunTaskRequest"},
  313. "output":{"shape":"RunTaskResponse"},
  314. "errors":[
  315. {"shape":"ServerException"},
  316. {"shape":"ClientException"},
  317. {"shape":"InvalidParameterException"},
  318. {"shape":"ClusterNotFoundException"}
  319. ]
  320. },
  321. "StartTask":{
  322. "name":"StartTask",
  323. "http":{
  324. "method":"POST",
  325. "requestUri":"/"
  326. },
  327. "input":{"shape":"StartTaskRequest"},
  328. "output":{"shape":"StartTaskResponse"},
  329. "errors":[
  330. {"shape":"ServerException"},
  331. {"shape":"ClientException"},
  332. {"shape":"InvalidParameterException"},
  333. {"shape":"ClusterNotFoundException"}
  334. ]
  335. },
  336. "StopTask":{
  337. "name":"StopTask",
  338. "http":{
  339. "method":"POST",
  340. "requestUri":"/"
  341. },
  342. "input":{"shape":"StopTaskRequest"},
  343. "output":{"shape":"StopTaskResponse"},
  344. "errors":[
  345. {"shape":"ServerException"},
  346. {"shape":"ClientException"},
  347. {"shape":"InvalidParameterException"},
  348. {"shape":"ClusterNotFoundException"}
  349. ]
  350. },
  351. "SubmitContainerStateChange":{
  352. "name":"SubmitContainerStateChange",
  353. "http":{
  354. "method":"POST",
  355. "requestUri":"/"
  356. },
  357. "input":{"shape":"SubmitContainerStateChangeRequest"},
  358. "output":{"shape":"SubmitContainerStateChangeResponse"},
  359. "errors":[
  360. {"shape":"ServerException"},
  361. {"shape":"ClientException"}
  362. ]
  363. },
  364. "SubmitTaskStateChange":{
  365. "name":"SubmitTaskStateChange",
  366. "http":{
  367. "method":"POST",
  368. "requestUri":"/"
  369. },
  370. "input":{"shape":"SubmitTaskStateChangeRequest"},
  371. "output":{"shape":"SubmitTaskStateChangeResponse"},
  372. "errors":[
  373. {"shape":"ServerException"},
  374. {"shape":"ClientException"}
  375. ]
  376. },
  377. "UpdateContainerAgent":{
  378. "name":"UpdateContainerAgent",
  379. "http":{
  380. "method":"POST",
  381. "requestUri":"/"
  382. },
  383. "input":{"shape":"UpdateContainerAgentRequest"},
  384. "output":{"shape":"UpdateContainerAgentResponse"},
  385. "errors":[
  386. {"shape":"ServerException"},
  387. {"shape":"ClientException"},
  388. {"shape":"InvalidParameterException"},
  389. {"shape":"ClusterNotFoundException"},
  390. {"shape":"UpdateInProgressException"},
  391. {"shape":"NoUpdateAvailableException"},
  392. {"shape":"MissingVersionException"}
  393. ]
  394. },
  395. "UpdateService":{
  396. "name":"UpdateService",
  397. "http":{
  398. "method":"POST",
  399. "requestUri":"/"
  400. },
  401. "input":{"shape":"UpdateServiceRequest"},
  402. "output":{"shape":"UpdateServiceResponse"},
  403. "errors":[
  404. {"shape":"ServerException"},
  405. {"shape":"ClientException"},
  406. {"shape":"InvalidParameterException"},
  407. {"shape":"ClusterNotFoundException"},
  408. {"shape":"ServiceNotFoundException"},
  409. {"shape":"ServiceNotActiveException"}
  410. ]
  411. }
  412. },
  413. "shapes":{
  414. "AgentUpdateStatus":{
  415. "type":"string",
  416. "enum":[
  417. "PENDING",
  418. "STAGING",
  419. "STAGED",
  420. "UPDATING",
  421. "UPDATED",
  422. "FAILED"
  423. ]
  424. },
  425. "Attribute":{
  426. "type":"structure",
  427. "required":["name"],
  428. "members":{
  429. "name":{"shape":"String"},
  430. "value":{"shape":"String"}
  431. }
  432. },
  433. "Attributes":{
  434. "type":"list",
  435. "member":{"shape":"Attribute"}
  436. },
  437. "Boolean":{"type":"boolean"},
  438. "BoxedBoolean":{
  439. "type":"boolean",
  440. "box":true
  441. },
  442. "BoxedInteger":{
  443. "type":"integer",
  444. "box":true
  445. },
  446. "ClientException":{
  447. "type":"structure",
  448. "members":{
  449. "message":{"shape":"String"}
  450. },
  451. "exception":true
  452. },
  453. "Cluster":{
  454. "type":"structure",
  455. "members":{
  456. "clusterArn":{"shape":"String"},
  457. "clusterName":{"shape":"String"},
  458. "status":{"shape":"String"},
  459. "registeredContainerInstancesCount":{"shape":"Integer"},
  460. "runningTasksCount":{"shape":"Integer"},
  461. "pendingTasksCount":{"shape":"Integer"},
  462. "activeServicesCount":{"shape":"Integer"}
  463. }
  464. },
  465. "ClusterContainsContainerInstancesException":{
  466. "type":"structure",
  467. "members":{
  468. },
  469. "exception":true
  470. },
  471. "ClusterContainsServicesException":{
  472. "type":"structure",
  473. "members":{
  474. },
  475. "exception":true
  476. },
  477. "ClusterNotFoundException":{
  478. "type":"structure",
  479. "members":{
  480. },
  481. "exception":true
  482. },
  483. "Clusters":{
  484. "type":"list",
  485. "member":{"shape":"Cluster"}
  486. },
  487. "Container":{
  488. "type":"structure",
  489. "members":{
  490. "containerArn":{"shape":"String"},
  491. "taskArn":{"shape":"String"},
  492. "name":{"shape":"String"},
  493. "lastStatus":{"shape":"String"},
  494. "exitCode":{"shape":"BoxedInteger"},
  495. "reason":{"shape":"String"},
  496. "networkBindings":{"shape":"NetworkBindings"}
  497. }
  498. },
  499. "ContainerDefinition":{
  500. "type":"structure",
  501. "members":{
  502. "name":{"shape":"String"},
  503. "image":{"shape":"String"},
  504. "cpu":{"shape":"Integer"},
  505. "memory":{"shape":"BoxedInteger"},
  506. "links":{"shape":"StringList"},
  507. "portMappings":{"shape":"PortMappingList"},
  508. "essential":{"shape":"BoxedBoolean"},
  509. "entryPoint":{"shape":"StringList"},
  510. "command":{"shape":"StringList"},
  511. "environment":{"shape":"EnvironmentVariables"},
  512. "mountPoints":{"shape":"MountPointList"},
  513. "volumesFrom":{"shape":"VolumeFromList"},
  514. "hostname":{"shape":"String"},
  515. "user":{"shape":"String"},
  516. "workingDirectory":{"shape":"String"},
  517. "disableNetworking":{"shape":"BoxedBoolean"},
  518. "privileged":{"shape":"BoxedBoolean"},
  519. "readonlyRootFilesystem":{"shape":"BoxedBoolean"},
  520. "dnsServers":{"shape":"StringList"},
  521. "dnsSearchDomains":{"shape":"StringList"},
  522. "extraHosts":{"shape":"HostEntryList"},
  523. "dockerSecurityOptions":{"shape":"StringList"},
  524. "dockerLabels":{"shape":"DockerLabelsMap"},
  525. "ulimits":{"shape":"UlimitList"},
  526. "logConfiguration":{"shape":"LogConfiguration"}
  527. }
  528. },
  529. "ContainerDefinitions":{
  530. "type":"list",
  531. "member":{"shape":"ContainerDefinition"}
  532. },
  533. "ContainerInstance":{
  534. "type":"structure",
  535. "members":{
  536. "containerInstanceArn":{"shape":"String"},
  537. "ec2InstanceId":{"shape":"String"},
  538. "versionInfo":{"shape":"VersionInfo"},
  539. "remainingResources":{"shape":"Resources"},
  540. "registeredResources":{"shape":"Resources"},
  541. "status":{"shape":"String"},
  542. "agentConnected":{"shape":"Boolean"},
  543. "runningTasksCount":{"shape":"Integer"},
  544. "pendingTasksCount":{"shape":"Integer"},
  545. "agentUpdateStatus":{"shape":"AgentUpdateStatus"},
  546. "attributes":{"shape":"Attributes"}
  547. }
  548. },
  549. "ContainerInstances":{
  550. "type":"list",
  551. "member":{"shape":"ContainerInstance"}
  552. },
  553. "ContainerOverride":{
  554. "type":"structure",
  555. "members":{
  556. "name":{"shape":"String"},
  557. "command":{"shape":"StringList"},
  558. "environment":{"shape":"EnvironmentVariables"}
  559. }
  560. },
  561. "ContainerOverrides":{
  562. "type":"list",
  563. "member":{"shape":"ContainerOverride"}
  564. },
  565. "Containers":{
  566. "type":"list",
  567. "member":{"shape":"Container"}
  568. },
  569. "CreateClusterRequest":{
  570. "type":"structure",
  571. "members":{
  572. "clusterName":{"shape":"String"}
  573. }
  574. },
  575. "CreateClusterResponse":{
  576. "type":"structure",
  577. "members":{
  578. "cluster":{"shape":"Cluster"}
  579. }
  580. },
  581. "CreateServiceRequest":{
  582. "type":"structure",
  583. "required":[
  584. "serviceName",
  585. "taskDefinition",
  586. "desiredCount"
  587. ],
  588. "members":{
  589. "cluster":{"shape":"String"},
  590. "serviceName":{"shape":"String"},
  591. "taskDefinition":{"shape":"String"},
  592. "loadBalancers":{"shape":"LoadBalancers"},
  593. "desiredCount":{"shape":"BoxedInteger"},
  594. "clientToken":{"shape":"String"},
  595. "role":{"shape":"String"},
  596. "deploymentConfiguration":{"shape":"DeploymentConfiguration"}
  597. }
  598. },
  599. "CreateServiceResponse":{
  600. "type":"structure",
  601. "members":{
  602. "service":{"shape":"Service"}
  603. }
  604. },
  605. "DeleteClusterRequest":{
  606. "type":"structure",
  607. "required":["cluster"],
  608. "members":{
  609. "cluster":{"shape":"String"}
  610. }
  611. },
  612. "DeleteClusterResponse":{
  613. "type":"structure",
  614. "members":{
  615. "cluster":{"shape":"Cluster"}
  616. }
  617. },
  618. "DeleteServiceRequest":{
  619. "type":"structure",
  620. "required":["service"],
  621. "members":{
  622. "cluster":{"shape":"String"},
  623. "service":{"shape":"String"}
  624. }
  625. },
  626. "DeleteServiceResponse":{
  627. "type":"structure",
  628. "members":{
  629. "service":{"shape":"Service"}
  630. }
  631. },
  632. "Deployment":{
  633. "type":"structure",
  634. "members":{
  635. "id":{"shape":"String"},
  636. "status":{"shape":"String"},
  637. "taskDefinition":{"shape":"String"},
  638. "desiredCount":{"shape":"Integer"},
  639. "pendingCount":{"shape":"Integer"},
  640. "runningCount":{"shape":"Integer"},
  641. "createdAt":{"shape":"Timestamp"},
  642. "updatedAt":{"shape":"Timestamp"}
  643. }
  644. },
  645. "DeploymentConfiguration":{
  646. "type":"structure",
  647. "members":{
  648. "maximumPercent":{"shape":"BoxedInteger"},
  649. "minimumHealthyPercent":{"shape":"BoxedInteger"}
  650. }
  651. },
  652. "Deployments":{
  653. "type":"list",
  654. "member":{"shape":"Deployment"}
  655. },
  656. "DeregisterContainerInstanceRequest":{
  657. "type":"structure",
  658. "required":["containerInstance"],
  659. "members":{
  660. "cluster":{"shape":"String"},
  661. "containerInstance":{"shape":"String"},
  662. "force":{"shape":"BoxedBoolean"}
  663. }
  664. },
  665. "DeregisterContainerInstanceResponse":{
  666. "type":"structure",
  667. "members":{
  668. "containerInstance":{"shape":"ContainerInstance"}
  669. }
  670. },
  671. "DeregisterTaskDefinitionRequest":{
  672. "type":"structure",
  673. "required":["taskDefinition"],
  674. "members":{
  675. "taskDefinition":{"shape":"String"}
  676. }
  677. },
  678. "DeregisterTaskDefinitionResponse":{
  679. "type":"structure",
  680. "members":{
  681. "taskDefinition":{"shape":"TaskDefinition"}
  682. }
  683. },
  684. "DescribeClustersRequest":{
  685. "type":"structure",
  686. "members":{
  687. "clusters":{"shape":"StringList"}
  688. }
  689. },
  690. "DescribeClustersResponse":{
  691. "type":"structure",
  692. "members":{
  693. "clusters":{"shape":"Clusters"},
  694. "failures":{"shape":"Failures"}
  695. }
  696. },
  697. "DescribeContainerInstancesRequest":{
  698. "type":"structure",
  699. "required":["containerInstances"],
  700. "members":{
  701. "cluster":{"shape":"String"},
  702. "containerInstances":{"shape":"StringList"}
  703. }
  704. },
  705. "DescribeContainerInstancesResponse":{
  706. "type":"structure",
  707. "members":{
  708. "containerInstances":{"shape":"ContainerInstances"},
  709. "failures":{"shape":"Failures"}
  710. }
  711. },
  712. "DescribeServicesRequest":{
  713. "type":"structure",
  714. "required":["services"],
  715. "members":{
  716. "cluster":{"shape":"String"},
  717. "services":{"shape":"StringList"}
  718. }
  719. },
  720. "DescribeServicesResponse":{
  721. "type":"structure",
  722. "members":{
  723. "services":{"shape":"Services"},
  724. "failures":{"shape":"Failures"}
  725. }
  726. },
  727. "DescribeTaskDefinitionRequest":{
  728. "type":"structure",
  729. "required":["taskDefinition"],
  730. "members":{
  731. "taskDefinition":{"shape":"String"}
  732. }
  733. },
  734. "DescribeTaskDefinitionResponse":{
  735. "type":"structure",
  736. "members":{
  737. "taskDefinition":{"shape":"TaskDefinition"}
  738. }
  739. },
  740. "DescribeTasksRequest":{
  741. "type":"structure",
  742. "required":["tasks"],
  743. "members":{
  744. "cluster":{"shape":"String"},
  745. "tasks":{"shape":"StringList"}
  746. }
  747. },
  748. "DescribeTasksResponse":{
  749. "type":"structure",
  750. "members":{
  751. "tasks":{"shape":"Tasks"},
  752. "failures":{"shape":"Failures"}
  753. }
  754. },
  755. "DesiredStatus":{
  756. "type":"string",
  757. "enum":[
  758. "RUNNING",
  759. "PENDING",
  760. "STOPPED"
  761. ]
  762. },
  763. "DiscoverPollEndpointRequest":{
  764. "type":"structure",
  765. "members":{
  766. "containerInstance":{"shape":"String"},
  767. "cluster":{"shape":"String"}
  768. }
  769. },
  770. "DiscoverPollEndpointResponse":{
  771. "type":"structure",
  772. "members":{
  773. "endpoint":{"shape":"String"},
  774. "telemetryEndpoint":{"shape":"String"}
  775. }
  776. },
  777. "DockerLabelsMap":{
  778. "type":"map",
  779. "key":{"shape":"String"},
  780. "value":{"shape":"String"}
  781. },
  782. "Double":{"type":"double"},
  783. "EnvironmentVariables":{
  784. "type":"list",
  785. "member":{"shape":"KeyValuePair"}
  786. },
  787. "Failure":{
  788. "type":"structure",
  789. "members":{
  790. "arn":{"shape":"String"},
  791. "reason":{"shape":"String"}
  792. }
  793. },
  794. "Failures":{
  795. "type":"list",
  796. "member":{"shape":"Failure"}
  797. },
  798. "HostEntry":{
  799. "type":"structure",
  800. "required":[
  801. "hostname",
  802. "ipAddress"
  803. ],
  804. "members":{
  805. "hostname":{"shape":"String"},
  806. "ipAddress":{"shape":"String"}
  807. }
  808. },
  809. "HostEntryList":{
  810. "type":"list",
  811. "member":{"shape":"HostEntry"}
  812. },
  813. "HostVolumeProperties":{
  814. "type":"structure",
  815. "members":{
  816. "sourcePath":{"shape":"String"}
  817. }
  818. },
  819. "Integer":{"type":"integer"},
  820. "InvalidParameterException":{
  821. "type":"structure",
  822. "members":{
  823. },
  824. "exception":true
  825. },
  826. "KeyValuePair":{
  827. "type":"structure",
  828. "members":{
  829. "name":{"shape":"String"},
  830. "value":{"shape":"String"}
  831. }
  832. },
  833. "ListClustersRequest":{
  834. "type":"structure",
  835. "members":{
  836. "nextToken":{"shape":"String"},
  837. "maxResults":{"shape":"BoxedInteger"}
  838. }
  839. },
  840. "ListClustersResponse":{
  841. "type":"structure",
  842. "members":{
  843. "clusterArns":{"shape":"StringList"},
  844. "nextToken":{"shape":"String"}
  845. }
  846. },
  847. "ListContainerInstancesRequest":{
  848. "type":"structure",
  849. "members":{
  850. "cluster":{"shape":"String"},
  851. "nextToken":{"shape":"String"},
  852. "maxResults":{"shape":"BoxedInteger"}
  853. }
  854. },
  855. "ListContainerInstancesResponse":{
  856. "type":"structure",
  857. "members":{
  858. "containerInstanceArns":{"shape":"StringList"},
  859. "nextToken":{"shape":"String"}
  860. }
  861. },
  862. "ListServicesRequest":{
  863. "type":"structure",
  864. "members":{
  865. "cluster":{"shape":"String"},
  866. "nextToken":{"shape":"String"},
  867. "maxResults":{"shape":"BoxedInteger"}
  868. }
  869. },
  870. "ListServicesResponse":{
  871. "type":"structure",
  872. "members":{
  873. "serviceArns":{"shape":"StringList"},
  874. "nextToken":{"shape":"String"}
  875. }
  876. },
  877. "ListTaskDefinitionFamiliesRequest":{
  878. "type":"structure",
  879. "members":{
  880. "familyPrefix":{"shape":"String"},
  881. "status":{"shape":"TaskDefinitionFamilyStatus"},
  882. "nextToken":{"shape":"String"},
  883. "maxResults":{"shape":"BoxedInteger"}
  884. }
  885. },
  886. "ListTaskDefinitionFamiliesResponse":{
  887. "type":"structure",
  888. "members":{
  889. "families":{"shape":"StringList"},
  890. "nextToken":{"shape":"String"}
  891. }
  892. },
  893. "ListTaskDefinitionsRequest":{
  894. "type":"structure",
  895. "members":{
  896. "familyPrefix":{"shape":"String"},
  897. "status":{"shape":"TaskDefinitionStatus"},
  898. "sort":{"shape":"SortOrder"},
  899. "nextToken":{"shape":"String"},
  900. "maxResults":{"shape":"BoxedInteger"}
  901. }
  902. },
  903. "ListTaskDefinitionsResponse":{
  904. "type":"structure",
  905. "members":{
  906. "taskDefinitionArns":{"shape":"StringList"},
  907. "nextToken":{"shape":"String"}
  908. }
  909. },
  910. "ListTasksRequest":{
  911. "type":"structure",
  912. "members":{
  913. "cluster":{"shape":"String"},
  914. "containerInstance":{"shape":"String"},
  915. "family":{"shape":"String"},
  916. "nextToken":{"shape":"String"},
  917. "maxResults":{"shape":"BoxedInteger"},
  918. "startedBy":{"shape":"String"},
  919. "serviceName":{"shape":"String"},
  920. "desiredStatus":{"shape":"DesiredStatus"}
  921. }
  922. },
  923. "ListTasksResponse":{
  924. "type":"structure",
  925. "members":{
  926. "taskArns":{"shape":"StringList"},
  927. "nextToken":{"shape":"String"}
  928. }
  929. },
  930. "LoadBalancer":{
  931. "type":"structure",
  932. "members":{
  933. "targetGroupArn":{"shape":"String"},
  934. "loadBalancerName":{"shape":"String"},
  935. "containerName":{"shape":"String"},
  936. "containerPort":{"shape":"BoxedInteger"}
  937. }
  938. },
  939. "LoadBalancers":{
  940. "type":"list",
  941. "member":{"shape":"LoadBalancer"}
  942. },
  943. "LogConfiguration":{
  944. "type":"structure",
  945. "required":["logDriver"],
  946. "members":{
  947. "logDriver":{"shape":"LogDriver"},
  948. "options":{"shape":"LogConfigurationOptionsMap"}
  949. }
  950. },
  951. "LogConfigurationOptionsMap":{
  952. "type":"map",
  953. "key":{"shape":"String"},
  954. "value":{"shape":"String"}
  955. },
  956. "LogDriver":{
  957. "type":"string",
  958. "enum":[
  959. "json-file",
  960. "syslog",
  961. "journald",
  962. "gelf",
  963. "fluentd",
  964. "awslogs"
  965. ]
  966. },
  967. "Long":{"type":"long"},
  968. "MissingVersionException":{
  969. "type":"structure",
  970. "members":{
  971. },
  972. "exception":true
  973. },
  974. "MountPoint":{
  975. "type":"structure",
  976. "members":{
  977. "sourceVolume":{"shape":"String"},
  978. "containerPath":{"shape":"String"},
  979. "readOnly":{"shape":"BoxedBoolean"}
  980. }
  981. },
  982. "MountPointList":{
  983. "type":"list",
  984. "member":{"shape":"MountPoint"}
  985. },
  986. "NetworkBinding":{
  987. "type":"structure",
  988. "members":{
  989. "bindIP":{"shape":"String"},
  990. "containerPort":{"shape":"BoxedInteger"},
  991. "hostPort":{"shape":"BoxedInteger"},
  992. "protocol":{"shape":"TransportProtocol"}
  993. }
  994. },
  995. "NetworkBindings":{
  996. "type":"list",
  997. "member":{"shape":"NetworkBinding"}
  998. },
  999. "NoUpdateAvailableException":{
  1000. "type":"structure",
  1001. "members":{
  1002. },
  1003. "exception":true
  1004. },
  1005. "PortMapping":{
  1006. "type":"structure",
  1007. "members":{
  1008. "containerPort":{"shape":"BoxedInteger"},
  1009. "hostPort":{"shape":"BoxedInteger"},
  1010. "protocol":{"shape":"TransportProtocol"}
  1011. }
  1012. },
  1013. "PortMappingList":{
  1014. "type":"list",
  1015. "member":{"shape":"PortMapping"}
  1016. },
  1017. "RegisterContainerInstanceRequest":{
  1018. "type":"structure",
  1019. "members":{
  1020. "cluster":{"shape":"String"},
  1021. "instanceIdentityDocument":{"shape":"String"},
  1022. "instanceIdentityDocumentSignature":{"shape":"String"},
  1023. "totalResources":{"shape":"Resources"},
  1024. "versionInfo":{"shape":"VersionInfo"},
  1025. "containerInstanceArn":{"shape":"String"},
  1026. "attributes":{"shape":"Attributes"}
  1027. }
  1028. },
  1029. "RegisterContainerInstanceResponse":{
  1030. "type":"structure",
  1031. "members":{
  1032. "containerInstance":{"shape":"ContainerInstance"}
  1033. }
  1034. },
  1035. "RegisterTaskDefinitionRequest":{
  1036. "type":"structure",
  1037. "required":[
  1038. "family",
  1039. "containerDefinitions"
  1040. ],
  1041. "members":{
  1042. "family":{"shape":"String"},
  1043. "taskRoleArn":{"shape":"String"},
  1044. "containerDefinitions":{"shape":"ContainerDefinitions"},
  1045. "volumes":{"shape":"VolumeList"}
  1046. }
  1047. },
  1048. "RegisterTaskDefinitionResponse":{
  1049. "type":"structure",
  1050. "members":{
  1051. "taskDefinition":{"shape":"TaskDefinition"}
  1052. }
  1053. },
  1054. "RequiresAttributes":{
  1055. "type":"list",
  1056. "member":{"shape":"Attribute"}
  1057. },
  1058. "Resource":{
  1059. "type":"structure",
  1060. "members":{
  1061. "name":{"shape":"String"},
  1062. "type":{"shape":"String"},
  1063. "doubleValue":{"shape":"Double"},
  1064. "longValue":{"shape":"Long"},
  1065. "integerValue":{"shape":"Integer"},
  1066. "stringSetValue":{"shape":"StringList"}
  1067. }
  1068. },
  1069. "Resources":{
  1070. "type":"list",
  1071. "member":{"shape":"Resource"}
  1072. },
  1073. "RunTaskRequest":{
  1074. "type":"structure",
  1075. "required":["taskDefinition"],
  1076. "members":{
  1077. "cluster":{"shape":"String"},
  1078. "taskDefinition":{"shape":"String"},
  1079. "overrides":{"shape":"TaskOverride"},
  1080. "count":{"shape":"BoxedInteger"},
  1081. "startedBy":{"shape":"String"}
  1082. }
  1083. },
  1084. "RunTaskResponse":{
  1085. "type":"structure",
  1086. "members":{
  1087. "tasks":{"shape":"Tasks"},
  1088. "failures":{"shape":"Failures"}
  1089. }
  1090. },
  1091. "ServerException":{
  1092. "type":"structure",
  1093. "members":{
  1094. "message":{"shape":"String"}
  1095. },
  1096. "exception":true,
  1097. "fault":true
  1098. },
  1099. "Service":{
  1100. "type":"structure",
  1101. "members":{
  1102. "serviceArn":{"shape":"String"},
  1103. "serviceName":{"shape":"String"},
  1104. "clusterArn":{"shape":"String"},
  1105. "loadBalancers":{"shape":"LoadBalancers"},
  1106. "status":{"shape":"String"},
  1107. "desiredCount":{"shape":"Integer"},
  1108. "runningCount":{"shape":"Integer"},
  1109. "pendingCount":{"shape":"Integer"},
  1110. "taskDefinition":{"shape":"String"},
  1111. "deploymentConfiguration":{"shape":"DeploymentConfiguration"},
  1112. "deployments":{"shape":"Deployments"},
  1113. "roleArn":{"shape":"String"},
  1114. "events":{"shape":"ServiceEvents"},
  1115. "createdAt":{"shape":"Timestamp"}
  1116. }
  1117. },
  1118. "ServiceEvent":{
  1119. "type":"structure",
  1120. "members":{
  1121. "id":{"shape":"String"},
  1122. "createdAt":{"shape":"Timestamp"},
  1123. "message":{"shape":"String"}
  1124. }
  1125. },
  1126. "ServiceEvents":{
  1127. "type":"list",
  1128. "member":{"shape":"ServiceEvent"}
  1129. },
  1130. "ServiceNotActiveException":{
  1131. "type":"structure",
  1132. "members":{
  1133. },
  1134. "exception":true
  1135. },
  1136. "ServiceNotFoundException":{
  1137. "type":"structure",
  1138. "members":{
  1139. },
  1140. "exception":true
  1141. },
  1142. "Services":{
  1143. "type":"list",
  1144. "member":{"shape":"Service"}
  1145. },
  1146. "SortOrder":{
  1147. "type":"string",
  1148. "enum":[
  1149. "ASC",
  1150. "DESC"
  1151. ]
  1152. },
  1153. "StartTaskRequest":{
  1154. "type":"structure",
  1155. "required":[
  1156. "taskDefinition",
  1157. "containerInstances"
  1158. ],
  1159. "members":{
  1160. "cluster":{"shape":"String"},
  1161. "taskDefinition":{"shape":"String"},
  1162. "overrides":{"shape":"TaskOverride"},
  1163. "containerInstances":{"shape":"StringList"},
  1164. "startedBy":{"shape":"String"}
  1165. }
  1166. },
  1167. "StartTaskResponse":{
  1168. "type":"structure",
  1169. "members":{
  1170. "tasks":{"shape":"Tasks"},
  1171. "failures":{"shape":"Failures"}
  1172. }
  1173. },
  1174. "StopTaskRequest":{
  1175. "type":"structure",
  1176. "required":["task"],
  1177. "members":{
  1178. "cluster":{"shape":"String"},
  1179. "task":{"shape":"String"},
  1180. "reason":{"shape":"String"}
  1181. }
  1182. },
  1183. "StopTaskResponse":{
  1184. "type":"structure",
  1185. "members":{
  1186. "task":{"shape":"Task"}
  1187. }
  1188. },
  1189. "String":{"type":"string"},
  1190. "StringList":{
  1191. "type":"list",
  1192. "member":{"shape":"String"}
  1193. },
  1194. "SubmitContainerStateChangeRequest":{
  1195. "type":"structure",
  1196. "members":{
  1197. "cluster":{"shape":"String"},
  1198. "task":{"shape":"String"},
  1199. "containerName":{"shape":"String"},
  1200. "status":{"shape":"String"},
  1201. "exitCode":{"shape":"BoxedInteger"},
  1202. "reason":{"shape":"String"},
  1203. "networkBindings":{"shape":"NetworkBindings"}
  1204. }
  1205. },
  1206. "SubmitContainerStateChangeResponse":{
  1207. "type":"structure",
  1208. "members":{
  1209. "acknowledgment":{"shape":"String"}
  1210. }
  1211. },
  1212. "SubmitTaskStateChangeRequest":{
  1213. "type":"structure",
  1214. "members":{
  1215. "cluster":{"shape":"String"},
  1216. "task":{"shape":"String"},
  1217. "status":{"shape":"String"},
  1218. "reason":{"shape":"String"}
  1219. }
  1220. },
  1221. "SubmitTaskStateChangeResponse":{
  1222. "type":"structure",
  1223. "members":{
  1224. "acknowledgment":{"shape":"String"}
  1225. }
  1226. },
  1227. "Task":{
  1228. "type":"structure",
  1229. "members":{
  1230. "taskArn":{"shape":"String"},
  1231. "clusterArn":{"shape":"String"},
  1232. "taskDefinitionArn":{"shape":"String"},
  1233. "containerInstanceArn":{"shape":"String"},
  1234. "overrides":{"shape":"TaskOverride"},
  1235. "lastStatus":{"shape":"String"},
  1236. "desiredStatus":{"shape":"String"},
  1237. "containers":{"shape":"Containers"},
  1238. "startedBy":{"shape":"String"},
  1239. "stoppedReason":{"shape":"String"},
  1240. "createdAt":{"shape":"Timestamp"},
  1241. "startedAt":{"shape":"Timestamp"},
  1242. "stoppedAt":{"shape":"Timestamp"}
  1243. }
  1244. },
  1245. "TaskDefinition":{
  1246. "type":"structure",
  1247. "members":{
  1248. "taskDefinitionArn":{"shape":"String"},
  1249. "containerDefinitions":{"shape":"ContainerDefinitions"},
  1250. "family":{"shape":"String"},
  1251. "taskRoleArn":{"shape":"String"},
  1252. "revision":{"shape":"Integer"},
  1253. "volumes":{"shape":"VolumeList"},
  1254. "status":{"shape":"TaskDefinitionStatus"},
  1255. "requiresAttributes":{"shape":"RequiresAttributes"}
  1256. }
  1257. },
  1258. "TaskDefinitionFamilyStatus":{
  1259. "type":"string",
  1260. "enum":[
  1261. "ACTIVE",
  1262. "INACTIVE",
  1263. "ALL"
  1264. ]
  1265. },
  1266. "TaskDefinitionStatus":{
  1267. "type":"string",
  1268. "enum":[
  1269. "ACTIVE",
  1270. "INACTIVE"
  1271. ]
  1272. },
  1273. "TaskOverride":{
  1274. "type":"structure",
  1275. "members":{
  1276. "containerOverrides":{"shape":"ContainerOverrides"},
  1277. "taskRoleArn":{"shape":"String"}
  1278. }
  1279. },
  1280. "Tasks":{
  1281. "type":"list",
  1282. "member":{"shape":"Task"}
  1283. },
  1284. "Timestamp":{"type":"timestamp"},
  1285. "TransportProtocol":{
  1286. "type":"string",
  1287. "enum":[
  1288. "tcp",
  1289. "udp"
  1290. ]
  1291. },
  1292. "Ulimit":{
  1293. "type":"structure",
  1294. "required":[
  1295. "name",
  1296. "softLimit",
  1297. "hardLimit"
  1298. ],
  1299. "members":{
  1300. "name":{"shape":"UlimitName"},
  1301. "softLimit":{"shape":"Integer"},
  1302. "hardLimit":{"shape":"Integer"}
  1303. }
  1304. },
  1305. "UlimitList":{
  1306. "type":"list",
  1307. "member":{"shape":"Ulimit"}
  1308. },
  1309. "UlimitName":{
  1310. "type":"string",
  1311. "enum":[
  1312. "core",
  1313. "cpu",
  1314. "data",
  1315. "fsize",
  1316. "locks",
  1317. "memlock",
  1318. "msgqueue",
  1319. "nice",
  1320. "nofile",
  1321. "nproc",
  1322. "rss",
  1323. "rtprio",
  1324. "rttime",
  1325. "sigpending",
  1326. "stack"
  1327. ]
  1328. },
  1329. "UpdateContainerAgentRequest":{
  1330. "type":"structure",
  1331. "required":["containerInstance"],
  1332. "members":{
  1333. "cluster":{"shape":"String"},
  1334. "containerInstance":{"shape":"String"}
  1335. }
  1336. },
  1337. "UpdateContainerAgentResponse":{
  1338. "type":"structure",
  1339. "members":{
  1340. "containerInstance":{"shape":"ContainerInstance"}
  1341. }
  1342. },
  1343. "UpdateInProgressException":{
  1344. "type":"structure",
  1345. "members":{
  1346. },
  1347. "exception":true
  1348. },
  1349. "UpdateServiceRequest":{
  1350. "type":"structure",
  1351. "required":["service"],
  1352. "members":{
  1353. "cluster":{"shape":"String"},
  1354. "service":{"shape":"String"},
  1355. "desiredCount":{"shape":"BoxedInteger"},
  1356. "taskDefinition":{"shape":"String"},
  1357. "deploymentConfiguration":{"shape":"DeploymentConfiguration"}
  1358. }
  1359. },
  1360. "UpdateServiceResponse":{
  1361. "type":"structure",
  1362. "members":{
  1363. "service":{"shape":"Service"}
  1364. }
  1365. },
  1366. "VersionInfo":{
  1367. "type":"structure",
  1368. "members":{
  1369. "agentVersion":{"shape":"String"},
  1370. "agentHash":{"shape":"String"},
  1371. "dockerVersion":{"shape":"String"}
  1372. }
  1373. },
  1374. "Volume":{
  1375. "type":"structure",
  1376. "members":{
  1377. "name":{"shape":"String"},
  1378. "host":{"shape":"HostVolumeProperties"}
  1379. }
  1380. },
  1381. "VolumeFrom":{
  1382. "type":"structure",
  1383. "members":{
  1384. "sourceContainer":{"shape":"String"},
  1385. "readOnly":{"shape":"BoxedBoolean"}
  1386. }
  1387. },
  1388. "VolumeFromList":{
  1389. "type":"list",
  1390. "member":{"shape":"VolumeFrom"}
  1391. },
  1392. "VolumeList":{
  1393. "type":"list",
  1394. "member":{"shape":"Volume"}
  1395. }
  1396. }
  1397. }