api-2.json 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863
  1. {
  2. "version":"2.0",
  3. "metadata":{
  4. "apiVersion":"2015-09-21",
  5. "endpointPrefix":"ecr",
  6. "jsonVersion":"1.1",
  7. "protocol":"json",
  8. "serviceAbbreviation":"Amazon ECR",
  9. "serviceFullName":"Amazon EC2 Container Registry",
  10. "signatureVersion":"v4",
  11. "targetPrefix":"AmazonEC2ContainerRegistry_V20150921"
  12. },
  13. "operations":{
  14. "BatchCheckLayerAvailability":{
  15. "name":"BatchCheckLayerAvailability",
  16. "http":{
  17. "method":"POST",
  18. "requestUri":"/"
  19. },
  20. "input":{"shape":"BatchCheckLayerAvailabilityRequest"},
  21. "output":{"shape":"BatchCheckLayerAvailabilityResponse"},
  22. "errors":[
  23. {"shape":"RepositoryNotFoundException"},
  24. {"shape":"InvalidParameterException"},
  25. {"shape":"ServerException"}
  26. ]
  27. },
  28. "BatchDeleteImage":{
  29. "name":"BatchDeleteImage",
  30. "http":{
  31. "method":"POST",
  32. "requestUri":"/"
  33. },
  34. "input":{"shape":"BatchDeleteImageRequest"},
  35. "output":{"shape":"BatchDeleteImageResponse"},
  36. "errors":[
  37. {"shape":"ServerException"},
  38. {"shape":"InvalidParameterException"},
  39. {"shape":"RepositoryNotFoundException"}
  40. ]
  41. },
  42. "BatchGetImage":{
  43. "name":"BatchGetImage",
  44. "http":{
  45. "method":"POST",
  46. "requestUri":"/"
  47. },
  48. "input":{"shape":"BatchGetImageRequest"},
  49. "output":{"shape":"BatchGetImageResponse"},
  50. "errors":[
  51. {"shape":"ServerException"},
  52. {"shape":"InvalidParameterException"},
  53. {"shape":"RepositoryNotFoundException"}
  54. ]
  55. },
  56. "CompleteLayerUpload":{
  57. "name":"CompleteLayerUpload",
  58. "http":{
  59. "method":"POST",
  60. "requestUri":"/"
  61. },
  62. "input":{"shape":"CompleteLayerUploadRequest"},
  63. "output":{"shape":"CompleteLayerUploadResponse"},
  64. "errors":[
  65. {"shape":"ServerException"},
  66. {"shape":"InvalidParameterException"},
  67. {"shape":"RepositoryNotFoundException"},
  68. {"shape":"UploadNotFoundException"},
  69. {"shape":"InvalidLayerException"},
  70. {"shape":"LayerPartTooSmallException"},
  71. {"shape":"LayerAlreadyExistsException"},
  72. {"shape":"EmptyUploadException"}
  73. ]
  74. },
  75. "CreateRepository":{
  76. "name":"CreateRepository",
  77. "http":{
  78. "method":"POST",
  79. "requestUri":"/"
  80. },
  81. "input":{"shape":"CreateRepositoryRequest"},
  82. "output":{"shape":"CreateRepositoryResponse"},
  83. "errors":[
  84. {"shape":"ServerException"},
  85. {"shape":"InvalidParameterException"},
  86. {"shape":"RepositoryAlreadyExistsException"},
  87. {"shape":"LimitExceededException"}
  88. ]
  89. },
  90. "DeleteRepository":{
  91. "name":"DeleteRepository",
  92. "http":{
  93. "method":"POST",
  94. "requestUri":"/"
  95. },
  96. "input":{"shape":"DeleteRepositoryRequest"},
  97. "output":{"shape":"DeleteRepositoryResponse"},
  98. "errors":[
  99. {"shape":"ServerException"},
  100. {"shape":"InvalidParameterException"},
  101. {"shape":"RepositoryNotFoundException"},
  102. {"shape":"RepositoryNotEmptyException"}
  103. ]
  104. },
  105. "DeleteRepositoryPolicy":{
  106. "name":"DeleteRepositoryPolicy",
  107. "http":{
  108. "method":"POST",
  109. "requestUri":"/"
  110. },
  111. "input":{"shape":"DeleteRepositoryPolicyRequest"},
  112. "output":{"shape":"DeleteRepositoryPolicyResponse"},
  113. "errors":[
  114. {"shape":"ServerException"},
  115. {"shape":"InvalidParameterException"},
  116. {"shape":"RepositoryNotFoundException"},
  117. {"shape":"RepositoryPolicyNotFoundException"}
  118. ]
  119. },
  120. "DescribeRepositories":{
  121. "name":"DescribeRepositories",
  122. "http":{
  123. "method":"POST",
  124. "requestUri":"/"
  125. },
  126. "input":{"shape":"DescribeRepositoriesRequest"},
  127. "output":{"shape":"DescribeRepositoriesResponse"},
  128. "errors":[
  129. {"shape":"ServerException"},
  130. {"shape":"InvalidParameterException"},
  131. {"shape":"RepositoryNotFoundException"}
  132. ]
  133. },
  134. "GetAuthorizationToken":{
  135. "name":"GetAuthorizationToken",
  136. "http":{
  137. "method":"POST",
  138. "requestUri":"/"
  139. },
  140. "input":{"shape":"GetAuthorizationTokenRequest"},
  141. "output":{"shape":"GetAuthorizationTokenResponse"},
  142. "errors":[
  143. {"shape":"ServerException"},
  144. {"shape":"InvalidParameterException"}
  145. ]
  146. },
  147. "GetDownloadUrlForLayer":{
  148. "name":"GetDownloadUrlForLayer",
  149. "http":{
  150. "method":"POST",
  151. "requestUri":"/"
  152. },
  153. "input":{"shape":"GetDownloadUrlForLayerRequest"},
  154. "output":{"shape":"GetDownloadUrlForLayerResponse"},
  155. "errors":[
  156. {"shape":"ServerException"},
  157. {"shape":"InvalidParameterException"},
  158. {"shape":"LayersNotFoundException"},
  159. {"shape":"LayerInaccessibleException"},
  160. {"shape":"RepositoryNotFoundException"}
  161. ]
  162. },
  163. "GetRepositoryPolicy":{
  164. "name":"GetRepositoryPolicy",
  165. "http":{
  166. "method":"POST",
  167. "requestUri":"/"
  168. },
  169. "input":{"shape":"GetRepositoryPolicyRequest"},
  170. "output":{"shape":"GetRepositoryPolicyResponse"},
  171. "errors":[
  172. {"shape":"ServerException"},
  173. {"shape":"InvalidParameterException"},
  174. {"shape":"RepositoryNotFoundException"},
  175. {"shape":"RepositoryPolicyNotFoundException"}
  176. ]
  177. },
  178. "InitiateLayerUpload":{
  179. "name":"InitiateLayerUpload",
  180. "http":{
  181. "method":"POST",
  182. "requestUri":"/"
  183. },
  184. "input":{"shape":"InitiateLayerUploadRequest"},
  185. "output":{"shape":"InitiateLayerUploadResponse"},
  186. "errors":[
  187. {"shape":"ServerException"},
  188. {"shape":"InvalidParameterException"},
  189. {"shape":"RepositoryNotFoundException"}
  190. ]
  191. },
  192. "ListImages":{
  193. "name":"ListImages",
  194. "http":{
  195. "method":"POST",
  196. "requestUri":"/"
  197. },
  198. "input":{"shape":"ListImagesRequest"},
  199. "output":{"shape":"ListImagesResponse"},
  200. "errors":[
  201. {"shape":"ServerException"},
  202. {"shape":"InvalidParameterException"},
  203. {"shape":"RepositoryNotFoundException"}
  204. ]
  205. },
  206. "PutImage":{
  207. "name":"PutImage",
  208. "http":{
  209. "method":"POST",
  210. "requestUri":"/"
  211. },
  212. "input":{"shape":"PutImageRequest"},
  213. "output":{"shape":"PutImageResponse"},
  214. "errors":[
  215. {"shape":"ServerException"},
  216. {"shape":"InvalidParameterException"},
  217. {"shape":"RepositoryNotFoundException"},
  218. {"shape":"ImageAlreadyExistsException"},
  219. {"shape":"LayersNotFoundException"},
  220. {"shape":"LimitExceededException"}
  221. ]
  222. },
  223. "SetRepositoryPolicy":{
  224. "name":"SetRepositoryPolicy",
  225. "http":{
  226. "method":"POST",
  227. "requestUri":"/"
  228. },
  229. "input":{"shape":"SetRepositoryPolicyRequest"},
  230. "output":{"shape":"SetRepositoryPolicyResponse"},
  231. "errors":[
  232. {"shape":"ServerException"},
  233. {"shape":"InvalidParameterException"},
  234. {"shape":"RepositoryNotFoundException"}
  235. ]
  236. },
  237. "UploadLayerPart":{
  238. "name":"UploadLayerPart",
  239. "http":{
  240. "method":"POST",
  241. "requestUri":"/"
  242. },
  243. "input":{"shape":"UploadLayerPartRequest"},
  244. "output":{"shape":"UploadLayerPartResponse"},
  245. "errors":[
  246. {"shape":"ServerException"},
  247. {"shape":"InvalidParameterException"},
  248. {"shape":"InvalidLayerPartException"},
  249. {"shape":"RepositoryNotFoundException"},
  250. {"shape":"UploadNotFoundException"},
  251. {"shape":"LimitExceededException"}
  252. ]
  253. }
  254. },
  255. "shapes":{
  256. "Arn":{"type":"string"},
  257. "AuthorizationData":{
  258. "type":"structure",
  259. "members":{
  260. "authorizationToken":{"shape":"Base64"},
  261. "expiresAt":{"shape":"ExpirationTimestamp"},
  262. "proxyEndpoint":{"shape":"ProxyEndpoint"}
  263. }
  264. },
  265. "AuthorizationDataList":{
  266. "type":"list",
  267. "member":{"shape":"AuthorizationData"}
  268. },
  269. "Base64":{
  270. "type":"string",
  271. "pattern":"^\\S+$"
  272. },
  273. "BatchCheckLayerAvailabilityRequest":{
  274. "type":"structure",
  275. "required":[
  276. "repositoryName",
  277. "layerDigests"
  278. ],
  279. "members":{
  280. "registryId":{"shape":"RegistryId"},
  281. "repositoryName":{"shape":"RepositoryName"},
  282. "layerDigests":{"shape":"BatchedOperationLayerDigestList"}
  283. }
  284. },
  285. "BatchCheckLayerAvailabilityResponse":{
  286. "type":"structure",
  287. "members":{
  288. "layers":{"shape":"LayerList"},
  289. "failures":{"shape":"LayerFailureList"}
  290. }
  291. },
  292. "BatchDeleteImageRequest":{
  293. "type":"structure",
  294. "required":[
  295. "repositoryName",
  296. "imageIds"
  297. ],
  298. "members":{
  299. "registryId":{"shape":"RegistryId"},
  300. "repositoryName":{"shape":"RepositoryName"},
  301. "imageIds":{"shape":"ImageIdentifierList"}
  302. }
  303. },
  304. "BatchDeleteImageResponse":{
  305. "type":"structure",
  306. "members":{
  307. "imageIds":{"shape":"ImageIdentifierList"},
  308. "failures":{"shape":"ImageFailureList"}
  309. }
  310. },
  311. "BatchGetImageRequest":{
  312. "type":"structure",
  313. "required":[
  314. "repositoryName",
  315. "imageIds"
  316. ],
  317. "members":{
  318. "registryId":{"shape":"RegistryId"},
  319. "repositoryName":{"shape":"RepositoryName"},
  320. "imageIds":{"shape":"ImageIdentifierList"}
  321. }
  322. },
  323. "BatchGetImageResponse":{
  324. "type":"structure",
  325. "members":{
  326. "images":{"shape":"ImageList"},
  327. "failures":{"shape":"ImageFailureList"}
  328. }
  329. },
  330. "BatchedOperationLayerDigest":{
  331. "type":"string",
  332. "max":1000,
  333. "min":0
  334. },
  335. "BatchedOperationLayerDigestList":{
  336. "type":"list",
  337. "member":{"shape":"BatchedOperationLayerDigest"},
  338. "max":100,
  339. "min":1
  340. },
  341. "CompleteLayerUploadRequest":{
  342. "type":"structure",
  343. "required":[
  344. "repositoryName",
  345. "uploadId",
  346. "layerDigests"
  347. ],
  348. "members":{
  349. "registryId":{"shape":"RegistryId"},
  350. "repositoryName":{"shape":"RepositoryName"},
  351. "uploadId":{"shape":"UploadId"},
  352. "layerDigests":{"shape":"LayerDigestList"}
  353. }
  354. },
  355. "CompleteLayerUploadResponse":{
  356. "type":"structure",
  357. "members":{
  358. "registryId":{"shape":"RegistryId"},
  359. "repositoryName":{"shape":"RepositoryName"},
  360. "uploadId":{"shape":"UploadId"},
  361. "layerDigest":{"shape":"LayerDigest"}
  362. }
  363. },
  364. "CreateRepositoryRequest":{
  365. "type":"structure",
  366. "required":["repositoryName"],
  367. "members":{
  368. "repositoryName":{"shape":"RepositoryName"}
  369. }
  370. },
  371. "CreateRepositoryResponse":{
  372. "type":"structure",
  373. "members":{
  374. "repository":{"shape":"Repository"}
  375. }
  376. },
  377. "DeleteRepositoryPolicyRequest":{
  378. "type":"structure",
  379. "required":["repositoryName"],
  380. "members":{
  381. "registryId":{"shape":"RegistryId"},
  382. "repositoryName":{"shape":"RepositoryName"}
  383. }
  384. },
  385. "DeleteRepositoryPolicyResponse":{
  386. "type":"structure",
  387. "members":{
  388. "registryId":{"shape":"RegistryId"},
  389. "repositoryName":{"shape":"RepositoryName"},
  390. "policyText":{"shape":"RepositoryPolicyText"}
  391. }
  392. },
  393. "DeleteRepositoryRequest":{
  394. "type":"structure",
  395. "required":["repositoryName"],
  396. "members":{
  397. "registryId":{"shape":"RegistryId"},
  398. "repositoryName":{"shape":"RepositoryName"},
  399. "force":{"shape":"ForceFlag"}
  400. }
  401. },
  402. "DeleteRepositoryResponse":{
  403. "type":"structure",
  404. "members":{
  405. "repository":{"shape":"Repository"}
  406. }
  407. },
  408. "DescribeRepositoriesRequest":{
  409. "type":"structure",
  410. "members":{
  411. "registryId":{"shape":"RegistryId"},
  412. "repositoryNames":{"shape":"RepositoryNameList"},
  413. "nextToken":{"shape":"NextToken"},
  414. "maxResults":{"shape":"MaxResults"}
  415. }
  416. },
  417. "DescribeRepositoriesResponse":{
  418. "type":"structure",
  419. "members":{
  420. "repositories":{"shape":"RepositoryList"},
  421. "nextToken":{"shape":"NextToken"}
  422. }
  423. },
  424. "EmptyUploadException":{
  425. "type":"structure",
  426. "members":{
  427. "message":{"shape":"ExceptionMessage"}
  428. },
  429. "exception":true
  430. },
  431. "ExceptionMessage":{"type":"string"},
  432. "ExpirationTimestamp":{"type":"timestamp"},
  433. "ForceFlag":{"type":"boolean"},
  434. "GetAuthorizationTokenRegistryIdList":{
  435. "type":"list",
  436. "member":{"shape":"RegistryId"},
  437. "max":10,
  438. "min":1
  439. },
  440. "GetAuthorizationTokenRequest":{
  441. "type":"structure",
  442. "members":{
  443. "registryIds":{"shape":"GetAuthorizationTokenRegistryIdList"}
  444. }
  445. },
  446. "GetAuthorizationTokenResponse":{
  447. "type":"structure",
  448. "members":{
  449. "authorizationData":{"shape":"AuthorizationDataList"}
  450. }
  451. },
  452. "GetDownloadUrlForLayerRequest":{
  453. "type":"structure",
  454. "required":[
  455. "repositoryName",
  456. "layerDigest"
  457. ],
  458. "members":{
  459. "registryId":{"shape":"RegistryId"},
  460. "repositoryName":{"shape":"RepositoryName"},
  461. "layerDigest":{"shape":"LayerDigest"}
  462. }
  463. },
  464. "GetDownloadUrlForLayerResponse":{
  465. "type":"structure",
  466. "members":{
  467. "downloadUrl":{"shape":"Url"},
  468. "layerDigest":{"shape":"LayerDigest"}
  469. }
  470. },
  471. "GetRepositoryPolicyRequest":{
  472. "type":"structure",
  473. "required":["repositoryName"],
  474. "members":{
  475. "registryId":{"shape":"RegistryId"},
  476. "repositoryName":{"shape":"RepositoryName"}
  477. }
  478. },
  479. "GetRepositoryPolicyResponse":{
  480. "type":"structure",
  481. "members":{
  482. "registryId":{"shape":"RegistryId"},
  483. "repositoryName":{"shape":"RepositoryName"},
  484. "policyText":{"shape":"RepositoryPolicyText"}
  485. }
  486. },
  487. "Image":{
  488. "type":"structure",
  489. "members":{
  490. "registryId":{"shape":"RegistryId"},
  491. "repositoryName":{"shape":"RepositoryName"},
  492. "imageId":{"shape":"ImageIdentifier"},
  493. "imageManifest":{"shape":"ImageManifest"}
  494. }
  495. },
  496. "ImageAlreadyExistsException":{
  497. "type":"structure",
  498. "members":{
  499. "message":{"shape":"ExceptionMessage"}
  500. },
  501. "exception":true
  502. },
  503. "ImageDigest":{"type":"string"},
  504. "ImageFailure":{
  505. "type":"structure",
  506. "members":{
  507. "imageId":{"shape":"ImageIdentifier"},
  508. "failureCode":{"shape":"ImageFailureCode"},
  509. "failureReason":{"shape":"ImageFailureReason"}
  510. }
  511. },
  512. "ImageFailureCode":{
  513. "type":"string",
  514. "enum":[
  515. "InvalidImageDigest",
  516. "InvalidImageTag",
  517. "ImageTagDoesNotMatchDigest",
  518. "ImageNotFound",
  519. "MissingDigestAndTag"
  520. ]
  521. },
  522. "ImageFailureList":{
  523. "type":"list",
  524. "member":{"shape":"ImageFailure"}
  525. },
  526. "ImageFailureReason":{"type":"string"},
  527. "ImageIdentifier":{
  528. "type":"structure",
  529. "members":{
  530. "imageDigest":{"shape":"ImageDigest"},
  531. "imageTag":{"shape":"ImageTag"}
  532. }
  533. },
  534. "ImageIdentifierList":{
  535. "type":"list",
  536. "member":{"shape":"ImageIdentifier"},
  537. "max":100,
  538. "min":1
  539. },
  540. "ImageList":{
  541. "type":"list",
  542. "member":{"shape":"Image"}
  543. },
  544. "ImageManifest":{"type":"string"},
  545. "ImageTag":{"type":"string"},
  546. "InitiateLayerUploadRequest":{
  547. "type":"structure",
  548. "required":["repositoryName"],
  549. "members":{
  550. "registryId":{"shape":"RegistryId"},
  551. "repositoryName":{"shape":"RepositoryName"}
  552. }
  553. },
  554. "InitiateLayerUploadResponse":{
  555. "type":"structure",
  556. "members":{
  557. "uploadId":{"shape":"UploadId"},
  558. "partSize":{"shape":"PartSize"}
  559. }
  560. },
  561. "InvalidLayerException":{
  562. "type":"structure",
  563. "members":{
  564. "message":{"shape":"ExceptionMessage"}
  565. },
  566. "exception":true
  567. },
  568. "InvalidLayerPartException":{
  569. "type":"structure",
  570. "members":{
  571. "registryId":{"shape":"RegistryId"},
  572. "repositoryName":{"shape":"RepositoryName"},
  573. "uploadId":{"shape":"UploadId"},
  574. "lastValidByteReceived":{"shape":"PartSize"},
  575. "message":{"shape":"ExceptionMessage"}
  576. },
  577. "exception":true
  578. },
  579. "InvalidParameterException":{
  580. "type":"structure",
  581. "members":{
  582. "message":{"shape":"ExceptionMessage"}
  583. },
  584. "exception":true
  585. },
  586. "Layer":{
  587. "type":"structure",
  588. "members":{
  589. "layerDigest":{"shape":"LayerDigest"},
  590. "layerAvailability":{"shape":"LayerAvailability"},
  591. "layerSize":{"shape":"LayerSizeInBytes"}
  592. }
  593. },
  594. "LayerAlreadyExistsException":{
  595. "type":"structure",
  596. "members":{
  597. "message":{"shape":"ExceptionMessage"}
  598. },
  599. "exception":true
  600. },
  601. "LayerAvailability":{
  602. "type":"string",
  603. "enum":[
  604. "AVAILABLE",
  605. "UNAVAILABLE"
  606. ]
  607. },
  608. "LayerDigest":{
  609. "type":"string",
  610. "pattern":"[a-zA-Z0-9-_+.]+:[a-fA-F0-9]+"
  611. },
  612. "LayerDigestList":{
  613. "type":"list",
  614. "member":{"shape":"LayerDigest"},
  615. "max":100,
  616. "min":1
  617. },
  618. "LayerFailure":{
  619. "type":"structure",
  620. "members":{
  621. "layerDigest":{"shape":"BatchedOperationLayerDigest"},
  622. "failureCode":{"shape":"LayerFailureCode"},
  623. "failureReason":{"shape":"LayerFailureReason"}
  624. }
  625. },
  626. "LayerFailureCode":{
  627. "type":"string",
  628. "enum":[
  629. "InvalidLayerDigest",
  630. "MissingLayerDigest"
  631. ]
  632. },
  633. "LayerFailureList":{
  634. "type":"list",
  635. "member":{"shape":"LayerFailure"}
  636. },
  637. "LayerFailureReason":{"type":"string"},
  638. "LayerInaccessibleException":{
  639. "type":"structure",
  640. "members":{
  641. "message":{"shape":"ExceptionMessage"}
  642. },
  643. "exception":true
  644. },
  645. "LayerList":{
  646. "type":"list",
  647. "member":{"shape":"Layer"}
  648. },
  649. "LayerPartBlob":{"type":"blob"},
  650. "LayerPartTooSmallException":{
  651. "type":"structure",
  652. "members":{
  653. "message":{"shape":"ExceptionMessage"}
  654. },
  655. "exception":true
  656. },
  657. "LayerSizeInBytes":{"type":"long"},
  658. "LayersNotFoundException":{
  659. "type":"structure",
  660. "members":{
  661. "message":{"shape":"ExceptionMessage"}
  662. },
  663. "exception":true
  664. },
  665. "LimitExceededException":{
  666. "type":"structure",
  667. "members":{
  668. "message":{"shape":"ExceptionMessage"}
  669. },
  670. "exception":true
  671. },
  672. "ListImagesFilter":{
  673. "type":"structure",
  674. "members":{
  675. "tagStatus":{"shape":"TagStatus"}
  676. }
  677. },
  678. "ListImagesRequest":{
  679. "type":"structure",
  680. "required":["repositoryName"],
  681. "members":{
  682. "registryId":{"shape":"RegistryId"},
  683. "repositoryName":{"shape":"RepositoryName"},
  684. "nextToken":{"shape":"NextToken"},
  685. "maxResults":{"shape":"MaxResults"},
  686. "filter":{"shape":"ListImagesFilter"}
  687. }
  688. },
  689. "ListImagesResponse":{
  690. "type":"structure",
  691. "members":{
  692. "imageIds":{"shape":"ImageIdentifierList"},
  693. "nextToken":{"shape":"NextToken"}
  694. }
  695. },
  696. "MaxResults":{
  697. "type":"integer",
  698. "max":100,
  699. "min":1
  700. },
  701. "NextToken":{"type":"string"},
  702. "PartSize":{
  703. "type":"long",
  704. "min":0
  705. },
  706. "ProxyEndpoint":{"type":"string"},
  707. "PutImageRequest":{
  708. "type":"structure",
  709. "required":[
  710. "repositoryName",
  711. "imageManifest"
  712. ],
  713. "members":{
  714. "registryId":{"shape":"RegistryId"},
  715. "repositoryName":{"shape":"RepositoryName"},
  716. "imageManifest":{"shape":"ImageManifest"}
  717. }
  718. },
  719. "PutImageResponse":{
  720. "type":"structure",
  721. "members":{
  722. "image":{"shape":"Image"}
  723. }
  724. },
  725. "RegistryId":{
  726. "type":"string",
  727. "pattern":"[0-9]{12}"
  728. },
  729. "Repository":{
  730. "type":"structure",
  731. "members":{
  732. "repositoryArn":{"shape":"Arn"},
  733. "registryId":{"shape":"RegistryId"},
  734. "repositoryName":{"shape":"RepositoryName"},
  735. "repositoryUri":{"shape":"Url"}
  736. }
  737. },
  738. "RepositoryAlreadyExistsException":{
  739. "type":"structure",
  740. "members":{
  741. "message":{"shape":"ExceptionMessage"}
  742. },
  743. "exception":true
  744. },
  745. "RepositoryList":{
  746. "type":"list",
  747. "member":{"shape":"Repository"}
  748. },
  749. "RepositoryName":{
  750. "type":"string",
  751. "max":256,
  752. "min":2,
  753. "pattern":"(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*"
  754. },
  755. "RepositoryNameList":{
  756. "type":"list",
  757. "member":{"shape":"RepositoryName"},
  758. "max":100,
  759. "min":1
  760. },
  761. "RepositoryNotEmptyException":{
  762. "type":"structure",
  763. "members":{
  764. "message":{"shape":"ExceptionMessage"}
  765. },
  766. "exception":true
  767. },
  768. "RepositoryNotFoundException":{
  769. "type":"structure",
  770. "members":{
  771. "message":{"shape":"ExceptionMessage"}
  772. },
  773. "exception":true
  774. },
  775. "RepositoryPolicyNotFoundException":{
  776. "type":"structure",
  777. "members":{
  778. "message":{"shape":"ExceptionMessage"}
  779. },
  780. "exception":true
  781. },
  782. "RepositoryPolicyText":{
  783. "type":"string",
  784. "max":10240,
  785. "min":0
  786. },
  787. "ServerException":{
  788. "type":"structure",
  789. "members":{
  790. "message":{"shape":"ExceptionMessage"}
  791. },
  792. "exception":true,
  793. "fault":true
  794. },
  795. "SetRepositoryPolicyRequest":{
  796. "type":"structure",
  797. "required":[
  798. "repositoryName",
  799. "policyText"
  800. ],
  801. "members":{
  802. "registryId":{"shape":"RegistryId"},
  803. "repositoryName":{"shape":"RepositoryName"},
  804. "policyText":{"shape":"RepositoryPolicyText"},
  805. "force":{"shape":"ForceFlag"}
  806. }
  807. },
  808. "SetRepositoryPolicyResponse":{
  809. "type":"structure",
  810. "members":{
  811. "registryId":{"shape":"RegistryId"},
  812. "repositoryName":{"shape":"RepositoryName"},
  813. "policyText":{"shape":"RepositoryPolicyText"}
  814. }
  815. },
  816. "TagStatus":{
  817. "type":"string",
  818. "enum":[
  819. "TAGGED",
  820. "UNTAGGED"
  821. ]
  822. },
  823. "UploadId":{
  824. "type":"string",
  825. "pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"
  826. },
  827. "UploadLayerPartRequest":{
  828. "type":"structure",
  829. "required":[
  830. "repositoryName",
  831. "uploadId",
  832. "partFirstByte",
  833. "partLastByte",
  834. "layerPartBlob"
  835. ],
  836. "members":{
  837. "registryId":{"shape":"RegistryId"},
  838. "repositoryName":{"shape":"RepositoryName"},
  839. "uploadId":{"shape":"UploadId"},
  840. "partFirstByte":{"shape":"PartSize"},
  841. "partLastByte":{"shape":"PartSize"},
  842. "layerPartBlob":{"shape":"LayerPartBlob"}
  843. }
  844. },
  845. "UploadLayerPartResponse":{
  846. "type":"structure",
  847. "members":{
  848. "registryId":{"shape":"RegistryId"},
  849. "repositoryName":{"shape":"RepositoryName"},
  850. "uploadId":{"shape":"UploadId"},
  851. "lastByteReceived":{"shape":"PartSize"}
  852. }
  853. },
  854. "UploadNotFoundException":{
  855. "type":"structure",
  856. "members":{
  857. "message":{"shape":"ExceptionMessage"}
  858. },
  859. "exception":true
  860. },
  861. "Url":{"type":"string"}
  862. }
  863. }