ecr-2015-09-21.min.json 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602
  1. {
  2. "version": "2.0",
  3. "metadata": {
  4. "apiVersion": "2015-09-21",
  5. "endpointPrefix": "api.ecr",
  6. "jsonVersion": "1.1",
  7. "protocol": "json",
  8. "protocols": [
  9. "json"
  10. ],
  11. "serviceAbbreviation": "Amazon ECR",
  12. "serviceFullName": "Amazon EC2 Container Registry",
  13. "serviceId": "ECR",
  14. "signatureVersion": "v4",
  15. "signingName": "ecr",
  16. "targetPrefix": "AmazonEC2ContainerRegistry_V20150921",
  17. "uid": "ecr-2015-09-21"
  18. },
  19. "operations": {
  20. "BatchCheckLayerAvailability": {
  21. "input": {
  22. "type": "structure",
  23. "required": [
  24. "repositoryName",
  25. "layerDigests"
  26. ],
  27. "members": {
  28. "registryId": {},
  29. "repositoryName": {},
  30. "layerDigests": {
  31. "type": "list",
  32. "member": {}
  33. }
  34. }
  35. },
  36. "output": {
  37. "type": "structure",
  38. "members": {
  39. "layers": {
  40. "type": "list",
  41. "member": {
  42. "type": "structure",
  43. "members": {
  44. "layerDigest": {},
  45. "layerAvailability": {},
  46. "layerSize": {
  47. "type": "long"
  48. },
  49. "mediaType": {}
  50. }
  51. }
  52. },
  53. "failures": {
  54. "type": "list",
  55. "member": {
  56. "type": "structure",
  57. "members": {
  58. "layerDigest": {},
  59. "failureCode": {},
  60. "failureReason": {}
  61. }
  62. }
  63. }
  64. }
  65. }
  66. },
  67. "BatchDeleteImage": {
  68. "input": {
  69. "type": "structure",
  70. "required": [
  71. "repositoryName",
  72. "imageIds"
  73. ],
  74. "members": {
  75. "registryId": {},
  76. "repositoryName": {},
  77. "imageIds": {
  78. "shape": "Si"
  79. }
  80. }
  81. },
  82. "output": {
  83. "type": "structure",
  84. "members": {
  85. "imageIds": {
  86. "shape": "Si"
  87. },
  88. "failures": {
  89. "shape": "Sn"
  90. }
  91. }
  92. }
  93. },
  94. "BatchGetImage": {
  95. "input": {
  96. "type": "structure",
  97. "required": [
  98. "repositoryName",
  99. "imageIds"
  100. ],
  101. "members": {
  102. "registryId": {},
  103. "repositoryName": {},
  104. "imageIds": {
  105. "shape": "Si"
  106. },
  107. "acceptedMediaTypes": {
  108. "type": "list",
  109. "member": {}
  110. }
  111. }
  112. },
  113. "output": {
  114. "type": "structure",
  115. "members": {
  116. "images": {
  117. "type": "list",
  118. "member": {
  119. "shape": "Sv"
  120. }
  121. },
  122. "failures": {
  123. "shape": "Sn"
  124. }
  125. }
  126. }
  127. },
  128. "BatchGetRepositoryScanningConfiguration": {
  129. "input": {
  130. "type": "structure",
  131. "required": [
  132. "repositoryNames"
  133. ],
  134. "members": {
  135. "repositoryNames": {
  136. "type": "list",
  137. "member": {}
  138. }
  139. }
  140. },
  141. "output": {
  142. "type": "structure",
  143. "members": {
  144. "scanningConfigurations": {
  145. "type": "list",
  146. "member": {
  147. "type": "structure",
  148. "members": {
  149. "repositoryArn": {},
  150. "repositoryName": {},
  151. "scanOnPush": {
  152. "type": "boolean"
  153. },
  154. "scanFrequency": {},
  155. "appliedScanFilters": {
  156. "shape": "S15"
  157. }
  158. }
  159. }
  160. },
  161. "failures": {
  162. "type": "list",
  163. "member": {
  164. "type": "structure",
  165. "members": {
  166. "repositoryName": {},
  167. "failureCode": {},
  168. "failureReason": {}
  169. }
  170. }
  171. }
  172. }
  173. }
  174. },
  175. "CompleteLayerUpload": {
  176. "input": {
  177. "type": "structure",
  178. "required": [
  179. "repositoryName",
  180. "uploadId",
  181. "layerDigests"
  182. ],
  183. "members": {
  184. "registryId": {},
  185. "repositoryName": {},
  186. "uploadId": {},
  187. "layerDigests": {
  188. "type": "list",
  189. "member": {}
  190. }
  191. }
  192. },
  193. "output": {
  194. "type": "structure",
  195. "members": {
  196. "registryId": {},
  197. "repositoryName": {},
  198. "uploadId": {},
  199. "layerDigest": {}
  200. }
  201. }
  202. },
  203. "CreatePullThroughCacheRule": {
  204. "input": {
  205. "type": "structure",
  206. "required": [
  207. "ecrRepositoryPrefix",
  208. "upstreamRegistryUrl"
  209. ],
  210. "members": {
  211. "ecrRepositoryPrefix": {},
  212. "upstreamRegistryUrl": {},
  213. "registryId": {},
  214. "upstreamRegistry": {},
  215. "credentialArn": {}
  216. }
  217. },
  218. "output": {
  219. "type": "structure",
  220. "members": {
  221. "ecrRepositoryPrefix": {},
  222. "upstreamRegistryUrl": {},
  223. "createdAt": {
  224. "type": "timestamp"
  225. },
  226. "registryId": {},
  227. "upstreamRegistry": {},
  228. "credentialArn": {}
  229. }
  230. }
  231. },
  232. "CreateRepository": {
  233. "input": {
  234. "type": "structure",
  235. "required": [
  236. "repositoryName"
  237. ],
  238. "members": {
  239. "registryId": {},
  240. "repositoryName": {},
  241. "tags": {
  242. "shape": "S1p"
  243. },
  244. "imageTagMutability": {},
  245. "imageScanningConfiguration": {
  246. "shape": "S1u"
  247. },
  248. "encryptionConfiguration": {
  249. "shape": "S1v"
  250. }
  251. }
  252. },
  253. "output": {
  254. "type": "structure",
  255. "members": {
  256. "repository": {
  257. "shape": "S1z"
  258. }
  259. }
  260. }
  261. },
  262. "DeleteLifecyclePolicy": {
  263. "input": {
  264. "type": "structure",
  265. "required": [
  266. "repositoryName"
  267. ],
  268. "members": {
  269. "registryId": {},
  270. "repositoryName": {}
  271. }
  272. },
  273. "output": {
  274. "type": "structure",
  275. "members": {
  276. "registryId": {},
  277. "repositoryName": {},
  278. "lifecyclePolicyText": {},
  279. "lastEvaluatedAt": {
  280. "type": "timestamp"
  281. }
  282. }
  283. }
  284. },
  285. "DeletePullThroughCacheRule": {
  286. "input": {
  287. "type": "structure",
  288. "required": [
  289. "ecrRepositoryPrefix"
  290. ],
  291. "members": {
  292. "ecrRepositoryPrefix": {},
  293. "registryId": {}
  294. }
  295. },
  296. "output": {
  297. "type": "structure",
  298. "members": {
  299. "ecrRepositoryPrefix": {},
  300. "upstreamRegistryUrl": {},
  301. "createdAt": {
  302. "type": "timestamp"
  303. },
  304. "registryId": {},
  305. "credentialArn": {}
  306. }
  307. }
  308. },
  309. "DeleteRegistryPolicy": {
  310. "input": {
  311. "type": "structure",
  312. "members": {}
  313. },
  314. "output": {
  315. "type": "structure",
  316. "members": {
  317. "registryId": {},
  318. "policyText": {}
  319. }
  320. }
  321. },
  322. "DeleteRepository": {
  323. "input": {
  324. "type": "structure",
  325. "required": [
  326. "repositoryName"
  327. ],
  328. "members": {
  329. "registryId": {},
  330. "repositoryName": {},
  331. "force": {
  332. "type": "boolean"
  333. }
  334. }
  335. },
  336. "output": {
  337. "type": "structure",
  338. "members": {
  339. "repository": {
  340. "shape": "S1z"
  341. }
  342. }
  343. }
  344. },
  345. "DeleteRepositoryPolicy": {
  346. "input": {
  347. "type": "structure",
  348. "required": [
  349. "repositoryName"
  350. ],
  351. "members": {
  352. "registryId": {},
  353. "repositoryName": {}
  354. }
  355. },
  356. "output": {
  357. "type": "structure",
  358. "members": {
  359. "registryId": {},
  360. "repositoryName": {},
  361. "policyText": {}
  362. }
  363. }
  364. },
  365. "DescribeImageReplicationStatus": {
  366. "input": {
  367. "type": "structure",
  368. "required": [
  369. "repositoryName",
  370. "imageId"
  371. ],
  372. "members": {
  373. "repositoryName": {},
  374. "imageId": {
  375. "shape": "Sj"
  376. },
  377. "registryId": {}
  378. }
  379. },
  380. "output": {
  381. "type": "structure",
  382. "members": {
  383. "repositoryName": {},
  384. "imageId": {
  385. "shape": "Sj"
  386. },
  387. "replicationStatuses": {
  388. "type": "list",
  389. "member": {
  390. "type": "structure",
  391. "members": {
  392. "region": {},
  393. "registryId": {},
  394. "status": {},
  395. "failureCode": {}
  396. }
  397. }
  398. }
  399. }
  400. }
  401. },
  402. "DescribeImageScanFindings": {
  403. "input": {
  404. "type": "structure",
  405. "required": [
  406. "repositoryName",
  407. "imageId"
  408. ],
  409. "members": {
  410. "registryId": {},
  411. "repositoryName": {},
  412. "imageId": {
  413. "shape": "Sj"
  414. },
  415. "nextToken": {},
  416. "maxResults": {
  417. "type": "integer"
  418. }
  419. }
  420. },
  421. "output": {
  422. "type": "structure",
  423. "members": {
  424. "registryId": {},
  425. "repositoryName": {},
  426. "imageId": {
  427. "shape": "Sj"
  428. },
  429. "imageScanStatus": {
  430. "shape": "S2q"
  431. },
  432. "imageScanFindings": {
  433. "type": "structure",
  434. "members": {
  435. "imageScanCompletedAt": {
  436. "type": "timestamp"
  437. },
  438. "vulnerabilitySourceUpdatedAt": {
  439. "type": "timestamp"
  440. },
  441. "findingSeverityCounts": {
  442. "shape": "S2w"
  443. },
  444. "findings": {
  445. "type": "list",
  446. "member": {
  447. "type": "structure",
  448. "members": {
  449. "name": {},
  450. "description": {},
  451. "uri": {},
  452. "severity": {},
  453. "attributes": {
  454. "type": "list",
  455. "member": {
  456. "type": "structure",
  457. "required": [
  458. "key"
  459. ],
  460. "members": {
  461. "key": {},
  462. "value": {}
  463. }
  464. }
  465. }
  466. }
  467. }
  468. },
  469. "enhancedFindings": {
  470. "type": "list",
  471. "member": {
  472. "type": "structure",
  473. "members": {
  474. "awsAccountId": {},
  475. "description": {},
  476. "findingArn": {},
  477. "firstObservedAt": {
  478. "type": "timestamp"
  479. },
  480. "lastObservedAt": {
  481. "type": "timestamp"
  482. },
  483. "packageVulnerabilityDetails": {
  484. "type": "structure",
  485. "members": {
  486. "cvss": {
  487. "type": "list",
  488. "member": {
  489. "type": "structure",
  490. "members": {
  491. "baseScore": {
  492. "type": "double"
  493. },
  494. "scoringVector": {},
  495. "source": {},
  496. "version": {}
  497. }
  498. }
  499. },
  500. "referenceUrls": {
  501. "type": "list",
  502. "member": {}
  503. },
  504. "relatedVulnerabilities": {
  505. "type": "list",
  506. "member": {}
  507. },
  508. "source": {},
  509. "sourceUrl": {},
  510. "vendorCreatedAt": {
  511. "type": "timestamp"
  512. },
  513. "vendorSeverity": {},
  514. "vendorUpdatedAt": {
  515. "type": "timestamp"
  516. },
  517. "vulnerabilityId": {},
  518. "vulnerablePackages": {
  519. "type": "list",
  520. "member": {
  521. "type": "structure",
  522. "members": {
  523. "arch": {},
  524. "epoch": {
  525. "type": "integer"
  526. },
  527. "filePath": {},
  528. "name": {},
  529. "packageManager": {},
  530. "release": {},
  531. "sourceLayerHash": {},
  532. "version": {}
  533. }
  534. }
  535. }
  536. }
  537. },
  538. "remediation": {
  539. "type": "structure",
  540. "members": {
  541. "recommendation": {
  542. "type": "structure",
  543. "members": {
  544. "url": {},
  545. "text": {}
  546. }
  547. }
  548. }
  549. },
  550. "resources": {
  551. "type": "list",
  552. "member": {
  553. "type": "structure",
  554. "members": {
  555. "details": {
  556. "type": "structure",
  557. "members": {
  558. "awsEcrContainerImage": {
  559. "type": "structure",
  560. "members": {
  561. "architecture": {},
  562. "author": {},
  563. "imageHash": {},
  564. "imageTags": {
  565. "type": "list",
  566. "member": {}
  567. },
  568. "platform": {},
  569. "pushedAt": {
  570. "type": "timestamp"
  571. },
  572. "registry": {},
  573. "repositoryName": {}
  574. }
  575. }
  576. }
  577. },
  578. "id": {},
  579. "tags": {
  580. "type": "map",
  581. "key": {},
  582. "value": {}
  583. },
  584. "type": {}
  585. }
  586. }
  587. },
  588. "score": {
  589. "type": "double"
  590. },
  591. "scoreDetails": {
  592. "type": "structure",
  593. "members": {
  594. "cvss": {
  595. "type": "structure",
  596. "members": {
  597. "adjustments": {
  598. "type": "list",
  599. "member": {
  600. "type": "structure",
  601. "members": {
  602. "metric": {},
  603. "reason": {}
  604. }
  605. }
  606. },
  607. "score": {
  608. "type": "double"
  609. },
  610. "scoreSource": {},
  611. "scoringVector": {},
  612. "version": {}
  613. }
  614. }
  615. }
  616. },
  617. "severity": {},
  618. "status": {},
  619. "title": {},
  620. "type": {},
  621. "updatedAt": {
  622. "type": "timestamp"
  623. }
  624. }
  625. }
  626. }
  627. }
  628. },
  629. "nextToken": {}
  630. }
  631. }
  632. },
  633. "DescribeImages": {
  634. "input": {
  635. "type": "structure",
  636. "required": [
  637. "repositoryName"
  638. ],
  639. "members": {
  640. "registryId": {},
  641. "repositoryName": {},
  642. "imageIds": {
  643. "shape": "Si"
  644. },
  645. "nextToken": {},
  646. "maxResults": {
  647. "type": "integer"
  648. },
  649. "filter": {
  650. "type": "structure",
  651. "members": {
  652. "tagStatus": {}
  653. }
  654. }
  655. }
  656. },
  657. "output": {
  658. "type": "structure",
  659. "members": {
  660. "imageDetails": {
  661. "type": "list",
  662. "member": {
  663. "type": "structure",
  664. "members": {
  665. "registryId": {},
  666. "repositoryName": {},
  667. "imageDigest": {},
  668. "imageTags": {
  669. "shape": "S4o"
  670. },
  671. "imageSizeInBytes": {
  672. "type": "long"
  673. },
  674. "imagePushedAt": {
  675. "type": "timestamp"
  676. },
  677. "imageScanStatus": {
  678. "shape": "S2q"
  679. },
  680. "imageScanFindingsSummary": {
  681. "type": "structure",
  682. "members": {
  683. "imageScanCompletedAt": {
  684. "type": "timestamp"
  685. },
  686. "vulnerabilitySourceUpdatedAt": {
  687. "type": "timestamp"
  688. },
  689. "findingSeverityCounts": {
  690. "shape": "S2w"
  691. }
  692. }
  693. },
  694. "imageManifestMediaType": {},
  695. "artifactMediaType": {},
  696. "lastRecordedPullTime": {
  697. "type": "timestamp"
  698. }
  699. }
  700. }
  701. },
  702. "nextToken": {}
  703. }
  704. }
  705. },
  706. "DescribePullThroughCacheRules": {
  707. "input": {
  708. "type": "structure",
  709. "members": {
  710. "registryId": {},
  711. "ecrRepositoryPrefixes": {
  712. "type": "list",
  713. "member": {}
  714. },
  715. "nextToken": {},
  716. "maxResults": {
  717. "type": "integer"
  718. }
  719. }
  720. },
  721. "output": {
  722. "type": "structure",
  723. "members": {
  724. "pullThroughCacheRules": {
  725. "type": "list",
  726. "member": {
  727. "type": "structure",
  728. "members": {
  729. "ecrRepositoryPrefix": {},
  730. "upstreamRegistryUrl": {},
  731. "createdAt": {
  732. "type": "timestamp"
  733. },
  734. "registryId": {},
  735. "credentialArn": {},
  736. "upstreamRegistry": {},
  737. "updatedAt": {
  738. "type": "timestamp"
  739. }
  740. }
  741. }
  742. },
  743. "nextToken": {}
  744. }
  745. }
  746. },
  747. "DescribeRegistry": {
  748. "input": {
  749. "type": "structure",
  750. "members": {}
  751. },
  752. "output": {
  753. "type": "structure",
  754. "members": {
  755. "registryId": {},
  756. "replicationConfiguration": {
  757. "shape": "S51"
  758. }
  759. }
  760. }
  761. },
  762. "DescribeRepositories": {
  763. "input": {
  764. "type": "structure",
  765. "members": {
  766. "registryId": {},
  767. "repositoryNames": {
  768. "type": "list",
  769. "member": {}
  770. },
  771. "nextToken": {},
  772. "maxResults": {
  773. "type": "integer"
  774. }
  775. }
  776. },
  777. "output": {
  778. "type": "structure",
  779. "members": {
  780. "repositories": {
  781. "type": "list",
  782. "member": {
  783. "shape": "S1z"
  784. }
  785. },
  786. "nextToken": {}
  787. }
  788. }
  789. },
  790. "GetAuthorizationToken": {
  791. "input": {
  792. "type": "structure",
  793. "members": {
  794. "registryIds": {
  795. "deprecated": true,
  796. "deprecatedMessage": "This field is deprecated. The returned authorization token can be used to access any Amazon ECR registry that the IAM principal has access to, specifying a registry ID doesn't change the permissions scope of the authorization token.",
  797. "type": "list",
  798. "member": {}
  799. }
  800. }
  801. },
  802. "output": {
  803. "type": "structure",
  804. "members": {
  805. "authorizationData": {
  806. "type": "list",
  807. "member": {
  808. "type": "structure",
  809. "members": {
  810. "authorizationToken": {},
  811. "expiresAt": {
  812. "type": "timestamp"
  813. },
  814. "proxyEndpoint": {}
  815. }
  816. }
  817. }
  818. }
  819. }
  820. },
  821. "GetDownloadUrlForLayer": {
  822. "input": {
  823. "type": "structure",
  824. "required": [
  825. "repositoryName",
  826. "layerDigest"
  827. ],
  828. "members": {
  829. "registryId": {},
  830. "repositoryName": {},
  831. "layerDigest": {}
  832. }
  833. },
  834. "output": {
  835. "type": "structure",
  836. "members": {
  837. "downloadUrl": {},
  838. "layerDigest": {}
  839. }
  840. }
  841. },
  842. "GetLifecyclePolicy": {
  843. "input": {
  844. "type": "structure",
  845. "required": [
  846. "repositoryName"
  847. ],
  848. "members": {
  849. "registryId": {},
  850. "repositoryName": {}
  851. }
  852. },
  853. "output": {
  854. "type": "structure",
  855. "members": {
  856. "registryId": {},
  857. "repositoryName": {},
  858. "lifecyclePolicyText": {},
  859. "lastEvaluatedAt": {
  860. "type": "timestamp"
  861. }
  862. }
  863. }
  864. },
  865. "GetLifecyclePolicyPreview": {
  866. "input": {
  867. "type": "structure",
  868. "required": [
  869. "repositoryName"
  870. ],
  871. "members": {
  872. "registryId": {},
  873. "repositoryName": {},
  874. "imageIds": {
  875. "shape": "Si"
  876. },
  877. "nextToken": {},
  878. "maxResults": {
  879. "type": "integer"
  880. },
  881. "filter": {
  882. "type": "structure",
  883. "members": {
  884. "tagStatus": {}
  885. }
  886. }
  887. }
  888. },
  889. "output": {
  890. "type": "structure",
  891. "members": {
  892. "registryId": {},
  893. "repositoryName": {},
  894. "lifecyclePolicyText": {},
  895. "status": {},
  896. "nextToken": {},
  897. "previewResults": {
  898. "type": "list",
  899. "member": {
  900. "type": "structure",
  901. "members": {
  902. "imageTags": {
  903. "shape": "S4o"
  904. },
  905. "imageDigest": {},
  906. "imagePushedAt": {
  907. "type": "timestamp"
  908. },
  909. "action": {
  910. "type": "structure",
  911. "members": {
  912. "type": {}
  913. }
  914. },
  915. "appliedRulePriority": {
  916. "type": "integer"
  917. }
  918. }
  919. }
  920. },
  921. "summary": {
  922. "type": "structure",
  923. "members": {
  924. "expiringImageTotalCount": {
  925. "type": "integer"
  926. }
  927. }
  928. }
  929. }
  930. }
  931. },
  932. "GetRegistryPolicy": {
  933. "input": {
  934. "type": "structure",
  935. "members": {}
  936. },
  937. "output": {
  938. "type": "structure",
  939. "members": {
  940. "registryId": {},
  941. "policyText": {}
  942. }
  943. }
  944. },
  945. "GetRegistryScanningConfiguration": {
  946. "input": {
  947. "type": "structure",
  948. "members": {}
  949. },
  950. "output": {
  951. "type": "structure",
  952. "members": {
  953. "registryId": {},
  954. "scanningConfiguration": {
  955. "shape": "S66"
  956. }
  957. }
  958. }
  959. },
  960. "GetRepositoryPolicy": {
  961. "input": {
  962. "type": "structure",
  963. "required": [
  964. "repositoryName"
  965. ],
  966. "members": {
  967. "registryId": {},
  968. "repositoryName": {}
  969. }
  970. },
  971. "output": {
  972. "type": "structure",
  973. "members": {
  974. "registryId": {},
  975. "repositoryName": {},
  976. "policyText": {}
  977. }
  978. }
  979. },
  980. "InitiateLayerUpload": {
  981. "input": {
  982. "type": "structure",
  983. "required": [
  984. "repositoryName"
  985. ],
  986. "members": {
  987. "registryId": {},
  988. "repositoryName": {}
  989. }
  990. },
  991. "output": {
  992. "type": "structure",
  993. "members": {
  994. "uploadId": {},
  995. "partSize": {
  996. "type": "long"
  997. }
  998. }
  999. }
  1000. },
  1001. "ListImages": {
  1002. "input": {
  1003. "type": "structure",
  1004. "required": [
  1005. "repositoryName"
  1006. ],
  1007. "members": {
  1008. "registryId": {},
  1009. "repositoryName": {},
  1010. "nextToken": {},
  1011. "maxResults": {
  1012. "type": "integer"
  1013. },
  1014. "filter": {
  1015. "type": "structure",
  1016. "members": {
  1017. "tagStatus": {}
  1018. }
  1019. }
  1020. }
  1021. },
  1022. "output": {
  1023. "type": "structure",
  1024. "members": {
  1025. "imageIds": {
  1026. "shape": "Si"
  1027. },
  1028. "nextToken": {}
  1029. }
  1030. }
  1031. },
  1032. "ListTagsForResource": {
  1033. "input": {
  1034. "type": "structure",
  1035. "required": [
  1036. "resourceArn"
  1037. ],
  1038. "members": {
  1039. "resourceArn": {}
  1040. }
  1041. },
  1042. "output": {
  1043. "type": "structure",
  1044. "members": {
  1045. "tags": {
  1046. "shape": "S1p"
  1047. }
  1048. }
  1049. }
  1050. },
  1051. "PutImage": {
  1052. "input": {
  1053. "type": "structure",
  1054. "required": [
  1055. "repositoryName",
  1056. "imageManifest"
  1057. ],
  1058. "members": {
  1059. "registryId": {},
  1060. "repositoryName": {},
  1061. "imageManifest": {},
  1062. "imageManifestMediaType": {},
  1063. "imageTag": {},
  1064. "imageDigest": {}
  1065. }
  1066. },
  1067. "output": {
  1068. "type": "structure",
  1069. "members": {
  1070. "image": {
  1071. "shape": "Sv"
  1072. }
  1073. }
  1074. }
  1075. },
  1076. "PutImageScanningConfiguration": {
  1077. "input": {
  1078. "type": "structure",
  1079. "required": [
  1080. "repositoryName",
  1081. "imageScanningConfiguration"
  1082. ],
  1083. "members": {
  1084. "registryId": {},
  1085. "repositoryName": {},
  1086. "imageScanningConfiguration": {
  1087. "shape": "S1u"
  1088. }
  1089. }
  1090. },
  1091. "output": {
  1092. "type": "structure",
  1093. "members": {
  1094. "registryId": {},
  1095. "repositoryName": {},
  1096. "imageScanningConfiguration": {
  1097. "shape": "S1u"
  1098. }
  1099. }
  1100. }
  1101. },
  1102. "PutImageTagMutability": {
  1103. "input": {
  1104. "type": "structure",
  1105. "required": [
  1106. "repositoryName",
  1107. "imageTagMutability"
  1108. ],
  1109. "members": {
  1110. "registryId": {},
  1111. "repositoryName": {},
  1112. "imageTagMutability": {}
  1113. }
  1114. },
  1115. "output": {
  1116. "type": "structure",
  1117. "members": {
  1118. "registryId": {},
  1119. "repositoryName": {},
  1120. "imageTagMutability": {}
  1121. }
  1122. }
  1123. },
  1124. "PutLifecyclePolicy": {
  1125. "input": {
  1126. "type": "structure",
  1127. "required": [
  1128. "repositoryName",
  1129. "lifecyclePolicyText"
  1130. ],
  1131. "members": {
  1132. "registryId": {},
  1133. "repositoryName": {},
  1134. "lifecyclePolicyText": {}
  1135. }
  1136. },
  1137. "output": {
  1138. "type": "structure",
  1139. "members": {
  1140. "registryId": {},
  1141. "repositoryName": {},
  1142. "lifecyclePolicyText": {}
  1143. }
  1144. }
  1145. },
  1146. "PutRegistryPolicy": {
  1147. "input": {
  1148. "type": "structure",
  1149. "required": [
  1150. "policyText"
  1151. ],
  1152. "members": {
  1153. "policyText": {}
  1154. }
  1155. },
  1156. "output": {
  1157. "type": "structure",
  1158. "members": {
  1159. "registryId": {},
  1160. "policyText": {}
  1161. }
  1162. }
  1163. },
  1164. "PutRegistryScanningConfiguration": {
  1165. "input": {
  1166. "type": "structure",
  1167. "members": {
  1168. "scanType": {},
  1169. "rules": {
  1170. "shape": "S68"
  1171. }
  1172. }
  1173. },
  1174. "output": {
  1175. "type": "structure",
  1176. "members": {
  1177. "registryScanningConfiguration": {
  1178. "shape": "S66"
  1179. }
  1180. }
  1181. }
  1182. },
  1183. "PutReplicationConfiguration": {
  1184. "input": {
  1185. "type": "structure",
  1186. "required": [
  1187. "replicationConfiguration"
  1188. ],
  1189. "members": {
  1190. "replicationConfiguration": {
  1191. "shape": "S51"
  1192. }
  1193. }
  1194. },
  1195. "output": {
  1196. "type": "structure",
  1197. "members": {
  1198. "replicationConfiguration": {
  1199. "shape": "S51"
  1200. }
  1201. }
  1202. }
  1203. },
  1204. "SetRepositoryPolicy": {
  1205. "input": {
  1206. "type": "structure",
  1207. "required": [
  1208. "repositoryName",
  1209. "policyText"
  1210. ],
  1211. "members": {
  1212. "registryId": {},
  1213. "repositoryName": {},
  1214. "policyText": {},
  1215. "force": {
  1216. "type": "boolean"
  1217. }
  1218. }
  1219. },
  1220. "output": {
  1221. "type": "structure",
  1222. "members": {
  1223. "registryId": {},
  1224. "repositoryName": {},
  1225. "policyText": {}
  1226. }
  1227. }
  1228. },
  1229. "StartImageScan": {
  1230. "input": {
  1231. "type": "structure",
  1232. "required": [
  1233. "repositoryName",
  1234. "imageId"
  1235. ],
  1236. "members": {
  1237. "registryId": {},
  1238. "repositoryName": {},
  1239. "imageId": {
  1240. "shape": "Sj"
  1241. }
  1242. }
  1243. },
  1244. "output": {
  1245. "type": "structure",
  1246. "members": {
  1247. "registryId": {},
  1248. "repositoryName": {},
  1249. "imageId": {
  1250. "shape": "Sj"
  1251. },
  1252. "imageScanStatus": {
  1253. "shape": "S2q"
  1254. }
  1255. }
  1256. }
  1257. },
  1258. "StartLifecyclePolicyPreview": {
  1259. "input": {
  1260. "type": "structure",
  1261. "required": [
  1262. "repositoryName"
  1263. ],
  1264. "members": {
  1265. "registryId": {},
  1266. "repositoryName": {},
  1267. "lifecyclePolicyText": {}
  1268. }
  1269. },
  1270. "output": {
  1271. "type": "structure",
  1272. "members": {
  1273. "registryId": {},
  1274. "repositoryName": {},
  1275. "lifecyclePolicyText": {},
  1276. "status": {}
  1277. }
  1278. }
  1279. },
  1280. "TagResource": {
  1281. "input": {
  1282. "type": "structure",
  1283. "required": [
  1284. "resourceArn",
  1285. "tags"
  1286. ],
  1287. "members": {
  1288. "resourceArn": {},
  1289. "tags": {
  1290. "shape": "S1p"
  1291. }
  1292. }
  1293. },
  1294. "output": {
  1295. "type": "structure",
  1296. "members": {}
  1297. }
  1298. },
  1299. "UntagResource": {
  1300. "input": {
  1301. "type": "structure",
  1302. "required": [
  1303. "resourceArn",
  1304. "tagKeys"
  1305. ],
  1306. "members": {
  1307. "resourceArn": {},
  1308. "tagKeys": {
  1309. "type": "list",
  1310. "member": {}
  1311. }
  1312. }
  1313. },
  1314. "output": {
  1315. "type": "structure",
  1316. "members": {}
  1317. }
  1318. },
  1319. "UpdatePullThroughCacheRule": {
  1320. "input": {
  1321. "type": "structure",
  1322. "required": [
  1323. "ecrRepositoryPrefix",
  1324. "credentialArn"
  1325. ],
  1326. "members": {
  1327. "registryId": {},
  1328. "ecrRepositoryPrefix": {},
  1329. "credentialArn": {}
  1330. }
  1331. },
  1332. "output": {
  1333. "type": "structure",
  1334. "members": {
  1335. "ecrRepositoryPrefix": {},
  1336. "registryId": {},
  1337. "updatedAt": {
  1338. "type": "timestamp"
  1339. },
  1340. "credentialArn": {}
  1341. }
  1342. }
  1343. },
  1344. "UploadLayerPart": {
  1345. "input": {
  1346. "type": "structure",
  1347. "required": [
  1348. "repositoryName",
  1349. "uploadId",
  1350. "partFirstByte",
  1351. "partLastByte",
  1352. "layerPartBlob"
  1353. ],
  1354. "members": {
  1355. "registryId": {},
  1356. "repositoryName": {},
  1357. "uploadId": {},
  1358. "partFirstByte": {
  1359. "type": "long"
  1360. },
  1361. "partLastByte": {
  1362. "type": "long"
  1363. },
  1364. "layerPartBlob": {
  1365. "type": "blob"
  1366. }
  1367. }
  1368. },
  1369. "output": {
  1370. "type": "structure",
  1371. "members": {
  1372. "registryId": {},
  1373. "repositoryName": {},
  1374. "uploadId": {},
  1375. "lastByteReceived": {
  1376. "type": "long"
  1377. }
  1378. }
  1379. }
  1380. },
  1381. "ValidatePullThroughCacheRule": {
  1382. "input": {
  1383. "type": "structure",
  1384. "required": [
  1385. "ecrRepositoryPrefix"
  1386. ],
  1387. "members": {
  1388. "ecrRepositoryPrefix": {},
  1389. "registryId": {}
  1390. }
  1391. },
  1392. "output": {
  1393. "type": "structure",
  1394. "members": {
  1395. "ecrRepositoryPrefix": {},
  1396. "registryId": {},
  1397. "upstreamRegistryUrl": {},
  1398. "credentialArn": {},
  1399. "isValid": {
  1400. "type": "boolean"
  1401. },
  1402. "failure": {}
  1403. }
  1404. }
  1405. }
  1406. },
  1407. "shapes": {
  1408. "Si": {
  1409. "type": "list",
  1410. "member": {
  1411. "shape": "Sj"
  1412. }
  1413. },
  1414. "Sj": {
  1415. "type": "structure",
  1416. "members": {
  1417. "imageDigest": {},
  1418. "imageTag": {}
  1419. }
  1420. },
  1421. "Sn": {
  1422. "type": "list",
  1423. "member": {
  1424. "type": "structure",
  1425. "members": {
  1426. "imageId": {
  1427. "shape": "Sj"
  1428. },
  1429. "failureCode": {},
  1430. "failureReason": {}
  1431. }
  1432. }
  1433. },
  1434. "Sv": {
  1435. "type": "structure",
  1436. "members": {
  1437. "registryId": {},
  1438. "repositoryName": {},
  1439. "imageId": {
  1440. "shape": "Sj"
  1441. },
  1442. "imageManifest": {},
  1443. "imageManifestMediaType": {}
  1444. }
  1445. },
  1446. "S15": {
  1447. "type": "list",
  1448. "member": {
  1449. "type": "structure",
  1450. "required": [
  1451. "filter",
  1452. "filterType"
  1453. ],
  1454. "members": {
  1455. "filter": {},
  1456. "filterType": {}
  1457. }
  1458. }
  1459. },
  1460. "S1p": {
  1461. "type": "list",
  1462. "member": {
  1463. "type": "structure",
  1464. "required": [
  1465. "Key",
  1466. "Value"
  1467. ],
  1468. "members": {
  1469. "Key": {},
  1470. "Value": {}
  1471. }
  1472. }
  1473. },
  1474. "S1u": {
  1475. "type": "structure",
  1476. "members": {
  1477. "scanOnPush": {
  1478. "type": "boolean"
  1479. }
  1480. }
  1481. },
  1482. "S1v": {
  1483. "type": "structure",
  1484. "required": [
  1485. "encryptionType"
  1486. ],
  1487. "members": {
  1488. "encryptionType": {},
  1489. "kmsKey": {}
  1490. }
  1491. },
  1492. "S1z": {
  1493. "type": "structure",
  1494. "members": {
  1495. "repositoryArn": {},
  1496. "registryId": {},
  1497. "repositoryName": {},
  1498. "repositoryUri": {},
  1499. "createdAt": {
  1500. "type": "timestamp"
  1501. },
  1502. "imageTagMutability": {},
  1503. "imageScanningConfiguration": {
  1504. "shape": "S1u"
  1505. },
  1506. "encryptionConfiguration": {
  1507. "shape": "S1v"
  1508. }
  1509. }
  1510. },
  1511. "S2q": {
  1512. "type": "structure",
  1513. "members": {
  1514. "status": {},
  1515. "description": {}
  1516. }
  1517. },
  1518. "S2w": {
  1519. "type": "map",
  1520. "key": {},
  1521. "value": {
  1522. "type": "integer"
  1523. }
  1524. },
  1525. "S4o": {
  1526. "type": "list",
  1527. "member": {}
  1528. },
  1529. "S51": {
  1530. "type": "structure",
  1531. "required": [
  1532. "rules"
  1533. ],
  1534. "members": {
  1535. "rules": {
  1536. "type": "list",
  1537. "member": {
  1538. "type": "structure",
  1539. "required": [
  1540. "destinations"
  1541. ],
  1542. "members": {
  1543. "destinations": {
  1544. "type": "list",
  1545. "member": {
  1546. "type": "structure",
  1547. "required": [
  1548. "region",
  1549. "registryId"
  1550. ],
  1551. "members": {
  1552. "region": {},
  1553. "registryId": {}
  1554. }
  1555. }
  1556. },
  1557. "repositoryFilters": {
  1558. "type": "list",
  1559. "member": {
  1560. "type": "structure",
  1561. "required": [
  1562. "filter",
  1563. "filterType"
  1564. ],
  1565. "members": {
  1566. "filter": {},
  1567. "filterType": {}
  1568. }
  1569. }
  1570. }
  1571. }
  1572. }
  1573. }
  1574. }
  1575. },
  1576. "S66": {
  1577. "type": "structure",
  1578. "members": {
  1579. "scanType": {},
  1580. "rules": {
  1581. "shape": "S68"
  1582. }
  1583. }
  1584. },
  1585. "S68": {
  1586. "type": "list",
  1587. "member": {
  1588. "type": "structure",
  1589. "required": [
  1590. "scanFrequency",
  1591. "repositoryFilters"
  1592. ],
  1593. "members": {
  1594. "scanFrequency": {},
  1595. "repositoryFilters": {
  1596. "shape": "S15"
  1597. }
  1598. }
  1599. }
  1600. }
  1601. }
  1602. }