codeguru-security-2018-05-10.min.json 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703
  1. {
  2. "version": "2.0",
  3. "metadata": {
  4. "apiVersion": "2018-05-10",
  5. "endpointPrefix": "codeguru-security",
  6. "jsonVersion": "1.1",
  7. "protocol": "rest-json",
  8. "serviceFullName": "Amazon CodeGuru Security",
  9. "serviceId": "CodeGuru Security",
  10. "signatureVersion": "v4",
  11. "signingName": "codeguru-security",
  12. "uid": "codeguru-security-2018-05-10"
  13. },
  14. "operations": {
  15. "BatchGetFindings": {
  16. "http": {
  17. "requestUri": "/batchGetFindings",
  18. "responseCode": 200
  19. },
  20. "input": {
  21. "type": "structure",
  22. "required": [
  23. "findingIdentifiers"
  24. ],
  25. "members": {
  26. "findingIdentifiers": {
  27. "type": "list",
  28. "member": {
  29. "type": "structure",
  30. "required": [
  31. "findingId",
  32. "scanName"
  33. ],
  34. "members": {
  35. "findingId": {},
  36. "scanName": {}
  37. }
  38. }
  39. }
  40. }
  41. },
  42. "output": {
  43. "type": "structure",
  44. "required": [
  45. "failedFindings",
  46. "findings"
  47. ],
  48. "members": {
  49. "failedFindings": {
  50. "type": "list",
  51. "member": {
  52. "type": "structure",
  53. "required": [
  54. "errorCode",
  55. "findingId",
  56. "message",
  57. "scanName"
  58. ],
  59. "members": {
  60. "errorCode": {},
  61. "findingId": {},
  62. "message": {},
  63. "scanName": {}
  64. }
  65. }
  66. },
  67. "findings": {
  68. "shape": "Sa"
  69. }
  70. }
  71. }
  72. },
  73. "CreateScan": {
  74. "http": {
  75. "requestUri": "/scans",
  76. "responseCode": 200
  77. },
  78. "input": {
  79. "type": "structure",
  80. "required": [
  81. "resourceId",
  82. "scanName"
  83. ],
  84. "members": {
  85. "analysisType": {},
  86. "clientToken": {
  87. "idempotencyToken": true
  88. },
  89. "resourceId": {
  90. "shape": "Sv"
  91. },
  92. "scanName": {},
  93. "scanType": {},
  94. "tags": {
  95. "shape": "Sy"
  96. }
  97. }
  98. },
  99. "output": {
  100. "type": "structure",
  101. "required": [
  102. "resourceId",
  103. "runId",
  104. "scanName",
  105. "scanState"
  106. ],
  107. "members": {
  108. "resourceId": {
  109. "shape": "Sv"
  110. },
  111. "runId": {},
  112. "scanName": {},
  113. "scanNameArn": {},
  114. "scanState": {}
  115. }
  116. }
  117. },
  118. "CreateUploadUrl": {
  119. "http": {
  120. "requestUri": "/uploadUrl",
  121. "responseCode": 200
  122. },
  123. "input": {
  124. "type": "structure",
  125. "required": [
  126. "scanName"
  127. ],
  128. "members": {
  129. "scanName": {}
  130. }
  131. },
  132. "output": {
  133. "type": "structure",
  134. "required": [
  135. "codeArtifactId",
  136. "requestHeaders",
  137. "s3Url"
  138. ],
  139. "members": {
  140. "codeArtifactId": {},
  141. "requestHeaders": {
  142. "type": "map",
  143. "key": {},
  144. "value": {},
  145. "sensitive": true
  146. },
  147. "s3Url": {
  148. "type": "string",
  149. "sensitive": true
  150. }
  151. }
  152. }
  153. },
  154. "GetAccountConfiguration": {
  155. "http": {
  156. "method": "GET",
  157. "requestUri": "/accountConfiguration/get",
  158. "responseCode": 200
  159. },
  160. "input": {
  161. "type": "structure",
  162. "members": {}
  163. },
  164. "output": {
  165. "type": "structure",
  166. "required": [
  167. "encryptionConfig"
  168. ],
  169. "members": {
  170. "encryptionConfig": {
  171. "shape": "S1c"
  172. }
  173. }
  174. }
  175. },
  176. "GetFindings": {
  177. "http": {
  178. "method": "GET",
  179. "requestUri": "/findings/{scanName}",
  180. "responseCode": 200
  181. },
  182. "input": {
  183. "type": "structure",
  184. "required": [
  185. "scanName"
  186. ],
  187. "members": {
  188. "maxResults": {
  189. "location": "querystring",
  190. "locationName": "maxResults",
  191. "type": "integer"
  192. },
  193. "nextToken": {
  194. "location": "querystring",
  195. "locationName": "nextToken"
  196. },
  197. "scanName": {
  198. "location": "uri",
  199. "locationName": "scanName"
  200. },
  201. "status": {
  202. "location": "querystring",
  203. "locationName": "status"
  204. }
  205. }
  206. },
  207. "output": {
  208. "type": "structure",
  209. "members": {
  210. "findings": {
  211. "shape": "Sa"
  212. },
  213. "nextToken": {}
  214. }
  215. }
  216. },
  217. "GetMetricsSummary": {
  218. "http": {
  219. "method": "GET",
  220. "requestUri": "/metrics/summary",
  221. "responseCode": 200
  222. },
  223. "input": {
  224. "type": "structure",
  225. "required": [
  226. "date"
  227. ],
  228. "members": {
  229. "date": {
  230. "location": "querystring",
  231. "locationName": "date",
  232. "type": "timestamp"
  233. }
  234. }
  235. },
  236. "output": {
  237. "type": "structure",
  238. "members": {
  239. "metricsSummary": {
  240. "type": "structure",
  241. "members": {
  242. "categoriesWithMostFindings": {
  243. "type": "list",
  244. "member": {
  245. "type": "structure",
  246. "members": {
  247. "categoryName": {},
  248. "findingNumber": {
  249. "type": "integer"
  250. }
  251. }
  252. }
  253. },
  254. "date": {
  255. "type": "timestamp"
  256. },
  257. "openFindings": {
  258. "shape": "S1n"
  259. },
  260. "scansWithMostOpenCriticalFindings": {
  261. "type": "list",
  262. "member": {
  263. "shape": "S1q"
  264. }
  265. },
  266. "scansWithMostOpenFindings": {
  267. "type": "list",
  268. "member": {
  269. "shape": "S1q"
  270. }
  271. }
  272. }
  273. }
  274. }
  275. }
  276. },
  277. "GetScan": {
  278. "http": {
  279. "method": "GET",
  280. "requestUri": "/scans/{scanName}",
  281. "responseCode": 200
  282. },
  283. "input": {
  284. "type": "structure",
  285. "required": [
  286. "scanName"
  287. ],
  288. "members": {
  289. "runId": {
  290. "location": "querystring",
  291. "locationName": "runId"
  292. },
  293. "scanName": {
  294. "location": "uri",
  295. "locationName": "scanName"
  296. }
  297. }
  298. },
  299. "output": {
  300. "type": "structure",
  301. "required": [
  302. "analysisType",
  303. "createdAt",
  304. "runId",
  305. "scanName",
  306. "scanState"
  307. ],
  308. "members": {
  309. "analysisType": {},
  310. "createdAt": {
  311. "type": "timestamp"
  312. },
  313. "numberOfRevisions": {
  314. "type": "long"
  315. },
  316. "runId": {},
  317. "scanName": {},
  318. "scanNameArn": {},
  319. "scanState": {},
  320. "updatedAt": {
  321. "type": "timestamp"
  322. }
  323. }
  324. }
  325. },
  326. "ListFindingsMetrics": {
  327. "http": {
  328. "method": "GET",
  329. "requestUri": "/metrics/findings",
  330. "responseCode": 200
  331. },
  332. "input": {
  333. "type": "structure",
  334. "required": [
  335. "endDate",
  336. "startDate"
  337. ],
  338. "members": {
  339. "endDate": {
  340. "location": "querystring",
  341. "locationName": "endDate",
  342. "type": "timestamp"
  343. },
  344. "maxResults": {
  345. "location": "querystring",
  346. "locationName": "maxResults",
  347. "type": "integer"
  348. },
  349. "nextToken": {
  350. "location": "querystring",
  351. "locationName": "nextToken"
  352. },
  353. "startDate": {
  354. "location": "querystring",
  355. "locationName": "startDate",
  356. "type": "timestamp"
  357. }
  358. }
  359. },
  360. "output": {
  361. "type": "structure",
  362. "members": {
  363. "findingsMetrics": {
  364. "type": "list",
  365. "member": {
  366. "type": "structure",
  367. "members": {
  368. "closedFindings": {
  369. "shape": "S1n"
  370. },
  371. "date": {
  372. "type": "timestamp"
  373. },
  374. "meanTimeToClose": {
  375. "shape": "S1n"
  376. },
  377. "newFindings": {
  378. "shape": "S1n"
  379. },
  380. "openFindings": {
  381. "shape": "S1n"
  382. }
  383. }
  384. }
  385. },
  386. "nextToken": {}
  387. }
  388. }
  389. },
  390. "ListScans": {
  391. "http": {
  392. "method": "GET",
  393. "requestUri": "/scans",
  394. "responseCode": 200
  395. },
  396. "input": {
  397. "type": "structure",
  398. "members": {
  399. "maxResults": {
  400. "location": "querystring",
  401. "locationName": "maxResults",
  402. "type": "integer"
  403. },
  404. "nextToken": {
  405. "location": "querystring",
  406. "locationName": "nextToken"
  407. }
  408. }
  409. },
  410. "output": {
  411. "type": "structure",
  412. "members": {
  413. "nextToken": {},
  414. "summaries": {
  415. "type": "list",
  416. "member": {
  417. "type": "structure",
  418. "required": [
  419. "createdAt",
  420. "runId",
  421. "scanName",
  422. "scanState"
  423. ],
  424. "members": {
  425. "createdAt": {
  426. "type": "timestamp"
  427. },
  428. "runId": {},
  429. "scanName": {},
  430. "scanNameArn": {},
  431. "scanState": {},
  432. "updatedAt": {
  433. "type": "timestamp"
  434. }
  435. }
  436. }
  437. }
  438. }
  439. }
  440. },
  441. "ListTagsForResource": {
  442. "http": {
  443. "method": "GET",
  444. "requestUri": "/tags/{resourceArn}",
  445. "responseCode": 200
  446. },
  447. "input": {
  448. "type": "structure",
  449. "required": [
  450. "resourceArn"
  451. ],
  452. "members": {
  453. "resourceArn": {
  454. "location": "uri",
  455. "locationName": "resourceArn"
  456. }
  457. }
  458. },
  459. "output": {
  460. "type": "structure",
  461. "members": {
  462. "tags": {
  463. "shape": "Sy"
  464. }
  465. }
  466. }
  467. },
  468. "TagResource": {
  469. "http": {
  470. "requestUri": "/tags/{resourceArn}",
  471. "responseCode": 204
  472. },
  473. "input": {
  474. "type": "structure",
  475. "required": [
  476. "resourceArn",
  477. "tags"
  478. ],
  479. "members": {
  480. "resourceArn": {
  481. "location": "uri",
  482. "locationName": "resourceArn"
  483. },
  484. "tags": {
  485. "shape": "Sy"
  486. }
  487. }
  488. },
  489. "output": {
  490. "type": "structure",
  491. "members": {}
  492. }
  493. },
  494. "UntagResource": {
  495. "http": {
  496. "method": "DELETE",
  497. "requestUri": "/tags/{resourceArn}",
  498. "responseCode": 204
  499. },
  500. "input": {
  501. "type": "structure",
  502. "required": [
  503. "resourceArn",
  504. "tagKeys"
  505. ],
  506. "members": {
  507. "resourceArn": {
  508. "location": "uri",
  509. "locationName": "resourceArn"
  510. },
  511. "tagKeys": {
  512. "location": "querystring",
  513. "locationName": "tagKeys",
  514. "type": "list",
  515. "member": {}
  516. }
  517. }
  518. },
  519. "output": {
  520. "type": "structure",
  521. "members": {}
  522. },
  523. "idempotent": true
  524. },
  525. "UpdateAccountConfiguration": {
  526. "http": {
  527. "method": "PUT",
  528. "requestUri": "/updateAccountConfiguration",
  529. "responseCode": 200
  530. },
  531. "input": {
  532. "type": "structure",
  533. "required": [
  534. "encryptionConfig"
  535. ],
  536. "members": {
  537. "encryptionConfig": {
  538. "shape": "S1c"
  539. }
  540. }
  541. },
  542. "output": {
  543. "type": "structure",
  544. "required": [
  545. "encryptionConfig"
  546. ],
  547. "members": {
  548. "encryptionConfig": {
  549. "shape": "S1c"
  550. }
  551. }
  552. }
  553. }
  554. },
  555. "shapes": {
  556. "Sa": {
  557. "type": "list",
  558. "member": {
  559. "type": "structure",
  560. "members": {
  561. "createdAt": {
  562. "type": "timestamp"
  563. },
  564. "description": {},
  565. "detectorId": {},
  566. "detectorName": {},
  567. "detectorTags": {
  568. "type": "list",
  569. "member": {}
  570. },
  571. "generatorId": {},
  572. "id": {},
  573. "remediation": {
  574. "type": "structure",
  575. "members": {
  576. "recommendation": {
  577. "type": "structure",
  578. "members": {
  579. "text": {},
  580. "url": {}
  581. }
  582. },
  583. "suggestedFixes": {
  584. "type": "list",
  585. "member": {
  586. "type": "structure",
  587. "members": {
  588. "code": {},
  589. "description": {}
  590. }
  591. }
  592. }
  593. }
  594. },
  595. "resource": {
  596. "type": "structure",
  597. "members": {
  598. "id": {},
  599. "subResourceId": {}
  600. }
  601. },
  602. "ruleId": {},
  603. "severity": {},
  604. "status": {},
  605. "title": {},
  606. "type": {},
  607. "updatedAt": {
  608. "type": "timestamp"
  609. },
  610. "vulnerability": {
  611. "type": "structure",
  612. "members": {
  613. "filePath": {
  614. "type": "structure",
  615. "members": {
  616. "codeSnippet": {
  617. "type": "list",
  618. "member": {
  619. "type": "structure",
  620. "members": {
  621. "content": {},
  622. "number": {
  623. "type": "integer"
  624. }
  625. }
  626. }
  627. },
  628. "endLine": {
  629. "type": "integer"
  630. },
  631. "name": {},
  632. "path": {},
  633. "startLine": {
  634. "type": "integer"
  635. }
  636. }
  637. },
  638. "id": {},
  639. "itemCount": {
  640. "type": "integer"
  641. },
  642. "referenceUrls": {
  643. "type": "list",
  644. "member": {}
  645. },
  646. "relatedVulnerabilities": {
  647. "type": "list",
  648. "member": {}
  649. }
  650. }
  651. }
  652. }
  653. }
  654. },
  655. "Sv": {
  656. "type": "structure",
  657. "members": {
  658. "codeArtifactId": {}
  659. },
  660. "union": true
  661. },
  662. "Sy": {
  663. "type": "map",
  664. "key": {},
  665. "value": {}
  666. },
  667. "S1c": {
  668. "type": "structure",
  669. "members": {
  670. "kmsKeyArn": {}
  671. }
  672. },
  673. "S1n": {
  674. "type": "structure",
  675. "members": {
  676. "critical": {
  677. "type": "double"
  678. },
  679. "high": {
  680. "type": "double"
  681. },
  682. "info": {
  683. "type": "double"
  684. },
  685. "low": {
  686. "type": "double"
  687. },
  688. "medium": {
  689. "type": "double"
  690. }
  691. }
  692. },
  693. "S1q": {
  694. "type": "structure",
  695. "members": {
  696. "findingNumber": {
  697. "type": "integer"
  698. },
  699. "scanName": {}
  700. }
  701. }
  702. }
  703. }