backupstorage-2018-04-10.min.json 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522
  1. {
  2. "version": "2.0",
  3. "metadata": {
  4. "apiVersion": "2018-04-10",
  5. "endpointPrefix": "backupstorage",
  6. "jsonVersion": "1.1",
  7. "protocol": "rest-json",
  8. "serviceFullName": "AWS Backup Storage",
  9. "serviceId": "BackupStorage",
  10. "signatureVersion": "v4",
  11. "signingName": "backup-storage",
  12. "uid": "backupstorage-2018-04-10"
  13. },
  14. "operations": {
  15. "DeleteObject": {
  16. "http": {
  17. "method": "DELETE",
  18. "requestUri": "/backup-jobs/{jobId}/object/{objectName}"
  19. },
  20. "input": {
  21. "type": "structure",
  22. "required": [
  23. "BackupJobId",
  24. "ObjectName"
  25. ],
  26. "members": {
  27. "BackupJobId": {
  28. "location": "uri",
  29. "locationName": "jobId"
  30. },
  31. "ObjectName": {
  32. "location": "uri",
  33. "locationName": "objectName"
  34. }
  35. }
  36. }
  37. },
  38. "GetChunk": {
  39. "http": {
  40. "method": "GET",
  41. "requestUri": "/restore-jobs/{jobId}/chunk/{chunkToken}"
  42. },
  43. "input": {
  44. "type": "structure",
  45. "required": [
  46. "StorageJobId",
  47. "ChunkToken"
  48. ],
  49. "members": {
  50. "StorageJobId": {
  51. "location": "uri",
  52. "locationName": "jobId"
  53. },
  54. "ChunkToken": {
  55. "location": "uri",
  56. "locationName": "chunkToken"
  57. }
  58. }
  59. },
  60. "output": {
  61. "type": "structure",
  62. "required": [
  63. "Data",
  64. "Length",
  65. "Checksum",
  66. "ChecksumAlgorithm"
  67. ],
  68. "members": {
  69. "Data": {
  70. "shape": "S5"
  71. },
  72. "Length": {
  73. "location": "header",
  74. "locationName": "x-amz-data-length",
  75. "type": "long"
  76. },
  77. "Checksum": {
  78. "location": "header",
  79. "locationName": "x-amz-checksum"
  80. },
  81. "ChecksumAlgorithm": {
  82. "location": "header",
  83. "locationName": "x-amz-checksum-algorithm"
  84. }
  85. },
  86. "payload": "Data"
  87. }
  88. },
  89. "GetObjectMetadata": {
  90. "http": {
  91. "method": "GET",
  92. "requestUri": "/restore-jobs/{jobId}/object/{objectToken}/metadata"
  93. },
  94. "input": {
  95. "type": "structure",
  96. "required": [
  97. "StorageJobId",
  98. "ObjectToken"
  99. ],
  100. "members": {
  101. "StorageJobId": {
  102. "location": "uri",
  103. "locationName": "jobId"
  104. },
  105. "ObjectToken": {
  106. "location": "uri",
  107. "locationName": "objectToken"
  108. }
  109. }
  110. },
  111. "output": {
  112. "type": "structure",
  113. "members": {
  114. "MetadataString": {
  115. "location": "header",
  116. "locationName": "x-amz-metadata-string"
  117. },
  118. "MetadataBlob": {
  119. "shape": "S5"
  120. },
  121. "MetadataBlobLength": {
  122. "location": "header",
  123. "locationName": "x-amz-data-length",
  124. "type": "long"
  125. },
  126. "MetadataBlobChecksum": {
  127. "location": "header",
  128. "locationName": "x-amz-checksum"
  129. },
  130. "MetadataBlobChecksumAlgorithm": {
  131. "location": "header",
  132. "locationName": "x-amz-checksum-algorithm"
  133. }
  134. },
  135. "payload": "MetadataBlob"
  136. }
  137. },
  138. "ListChunks": {
  139. "http": {
  140. "method": "GET",
  141. "requestUri": "/restore-jobs/{jobId}/chunks/{objectToken}/list"
  142. },
  143. "input": {
  144. "type": "structure",
  145. "required": [
  146. "StorageJobId",
  147. "ObjectToken"
  148. ],
  149. "members": {
  150. "StorageJobId": {
  151. "location": "uri",
  152. "locationName": "jobId"
  153. },
  154. "ObjectToken": {
  155. "location": "uri",
  156. "locationName": "objectToken"
  157. },
  158. "MaxResults": {
  159. "location": "querystring",
  160. "locationName": "max-results",
  161. "type": "integer"
  162. },
  163. "NextToken": {
  164. "location": "querystring",
  165. "locationName": "next-token"
  166. }
  167. }
  168. },
  169. "output": {
  170. "type": "structure",
  171. "required": [
  172. "ChunkList"
  173. ],
  174. "members": {
  175. "ChunkList": {
  176. "type": "list",
  177. "member": {
  178. "type": "structure",
  179. "required": [
  180. "Index",
  181. "Length",
  182. "Checksum",
  183. "ChecksumAlgorithm",
  184. "ChunkToken"
  185. ],
  186. "members": {
  187. "Index": {
  188. "type": "long"
  189. },
  190. "Length": {
  191. "type": "long"
  192. },
  193. "Checksum": {},
  194. "ChecksumAlgorithm": {},
  195. "ChunkToken": {}
  196. }
  197. }
  198. },
  199. "NextToken": {}
  200. }
  201. }
  202. },
  203. "ListObjects": {
  204. "http": {
  205. "method": "GET",
  206. "requestUri": "/restore-jobs/{jobId}/objects/list"
  207. },
  208. "input": {
  209. "type": "structure",
  210. "required": [
  211. "StorageJobId"
  212. ],
  213. "members": {
  214. "StorageJobId": {
  215. "location": "uri",
  216. "locationName": "jobId"
  217. },
  218. "StartingObjectName": {
  219. "location": "querystring",
  220. "locationName": "starting-object-name"
  221. },
  222. "StartingObjectPrefix": {
  223. "location": "querystring",
  224. "locationName": "starting-object-prefix"
  225. },
  226. "MaxResults": {
  227. "location": "querystring",
  228. "locationName": "max-results",
  229. "type": "integer"
  230. },
  231. "NextToken": {
  232. "location": "querystring",
  233. "locationName": "next-token"
  234. },
  235. "CreatedBefore": {
  236. "location": "querystring",
  237. "locationName": "created-before",
  238. "type": "timestamp"
  239. },
  240. "CreatedAfter": {
  241. "location": "querystring",
  242. "locationName": "created-after",
  243. "type": "timestamp"
  244. }
  245. }
  246. },
  247. "output": {
  248. "type": "structure",
  249. "required": [
  250. "ObjectList"
  251. ],
  252. "members": {
  253. "ObjectList": {
  254. "type": "list",
  255. "member": {
  256. "type": "structure",
  257. "required": [
  258. "Name",
  259. "ObjectChecksum",
  260. "ObjectChecksumAlgorithm",
  261. "ObjectToken"
  262. ],
  263. "members": {
  264. "Name": {},
  265. "ChunksCount": {
  266. "type": "long"
  267. },
  268. "MetadataString": {},
  269. "ObjectChecksum": {},
  270. "ObjectChecksumAlgorithm": {},
  271. "ObjectToken": {}
  272. }
  273. }
  274. },
  275. "NextToken": {}
  276. }
  277. }
  278. },
  279. "NotifyObjectComplete": {
  280. "http": {
  281. "method": "PUT",
  282. "requestUri": "/backup-jobs/{jobId}/object/{uploadId}/complete"
  283. },
  284. "input": {
  285. "type": "structure",
  286. "required": [
  287. "BackupJobId",
  288. "UploadId",
  289. "ObjectChecksum",
  290. "ObjectChecksumAlgorithm"
  291. ],
  292. "members": {
  293. "BackupJobId": {
  294. "location": "uri",
  295. "locationName": "jobId"
  296. },
  297. "UploadId": {
  298. "location": "uri",
  299. "locationName": "uploadId"
  300. },
  301. "ObjectChecksum": {
  302. "location": "querystring",
  303. "locationName": "checksum"
  304. },
  305. "ObjectChecksumAlgorithm": {
  306. "location": "querystring",
  307. "locationName": "checksum-algorithm"
  308. },
  309. "MetadataString": {
  310. "location": "querystring",
  311. "locationName": "metadata-string"
  312. },
  313. "MetadataBlob": {
  314. "shape": "S5"
  315. },
  316. "MetadataBlobLength": {
  317. "location": "querystring",
  318. "locationName": "metadata-blob-length",
  319. "type": "long"
  320. },
  321. "MetadataBlobChecksum": {
  322. "location": "querystring",
  323. "locationName": "metadata-checksum"
  324. },
  325. "MetadataBlobChecksumAlgorithm": {
  326. "location": "querystring",
  327. "locationName": "metadata-checksum-algorithm"
  328. }
  329. },
  330. "payload": "MetadataBlob"
  331. },
  332. "output": {
  333. "type": "structure",
  334. "required": [
  335. "ObjectChecksum",
  336. "ObjectChecksumAlgorithm"
  337. ],
  338. "members": {
  339. "ObjectChecksum": {},
  340. "ObjectChecksumAlgorithm": {}
  341. }
  342. },
  343. "authtype": "v4-unsigned-body"
  344. },
  345. "PutChunk": {
  346. "http": {
  347. "method": "PUT",
  348. "requestUri": "/backup-jobs/{jobId}/chunk/{uploadId}/{chunkIndex}"
  349. },
  350. "input": {
  351. "type": "structure",
  352. "required": [
  353. "BackupJobId",
  354. "UploadId",
  355. "ChunkIndex",
  356. "Data",
  357. "Length",
  358. "Checksum",
  359. "ChecksumAlgorithm"
  360. ],
  361. "members": {
  362. "BackupJobId": {
  363. "location": "uri",
  364. "locationName": "jobId"
  365. },
  366. "UploadId": {
  367. "location": "uri",
  368. "locationName": "uploadId"
  369. },
  370. "ChunkIndex": {
  371. "location": "uri",
  372. "locationName": "chunkIndex",
  373. "type": "long"
  374. },
  375. "Data": {
  376. "shape": "S5"
  377. },
  378. "Length": {
  379. "location": "querystring",
  380. "locationName": "length",
  381. "type": "long"
  382. },
  383. "Checksum": {
  384. "location": "querystring",
  385. "locationName": "checksum"
  386. },
  387. "ChecksumAlgorithm": {
  388. "location": "querystring",
  389. "locationName": "checksum-algorithm"
  390. }
  391. },
  392. "payload": "Data"
  393. },
  394. "output": {
  395. "type": "structure",
  396. "required": [
  397. "ChunkChecksum",
  398. "ChunkChecksumAlgorithm"
  399. ],
  400. "members": {
  401. "ChunkChecksum": {},
  402. "ChunkChecksumAlgorithm": {}
  403. }
  404. },
  405. "authtype": "v4-unsigned-body"
  406. },
  407. "PutObject": {
  408. "http": {
  409. "method": "PUT",
  410. "requestUri": "/backup-jobs/{jobId}/object/{objectName}/put-object"
  411. },
  412. "input": {
  413. "type": "structure",
  414. "required": [
  415. "BackupJobId",
  416. "ObjectName"
  417. ],
  418. "members": {
  419. "BackupJobId": {
  420. "location": "uri",
  421. "locationName": "jobId"
  422. },
  423. "ObjectName": {
  424. "location": "uri",
  425. "locationName": "objectName"
  426. },
  427. "MetadataString": {
  428. "location": "querystring",
  429. "locationName": "metadata-string"
  430. },
  431. "InlineChunk": {
  432. "shape": "S5"
  433. },
  434. "InlineChunkLength": {
  435. "location": "querystring",
  436. "locationName": "length",
  437. "type": "long"
  438. },
  439. "InlineChunkChecksum": {
  440. "location": "querystring",
  441. "locationName": "checksum"
  442. },
  443. "InlineChunkChecksumAlgorithm": {
  444. "location": "querystring",
  445. "locationName": "checksum-algorithm"
  446. },
  447. "ObjectChecksum": {
  448. "location": "querystring",
  449. "locationName": "object-checksum"
  450. },
  451. "ObjectChecksumAlgorithm": {
  452. "location": "querystring",
  453. "locationName": "object-checksum-algorithm"
  454. },
  455. "ThrowOnDuplicate": {
  456. "location": "querystring",
  457. "locationName": "throwOnDuplicate",
  458. "type": "boolean"
  459. }
  460. },
  461. "payload": "InlineChunk"
  462. },
  463. "output": {
  464. "type": "structure",
  465. "required": [
  466. "InlineChunkChecksum",
  467. "InlineChunkChecksumAlgorithm",
  468. "ObjectChecksum",
  469. "ObjectChecksumAlgorithm"
  470. ],
  471. "members": {
  472. "InlineChunkChecksum": {},
  473. "InlineChunkChecksumAlgorithm": {},
  474. "ObjectChecksum": {},
  475. "ObjectChecksumAlgorithm": {}
  476. }
  477. },
  478. "authtype": "v4-unsigned-body"
  479. },
  480. "StartObject": {
  481. "http": {
  482. "method": "PUT",
  483. "requestUri": "/backup-jobs/{jobId}/object/{objectName}"
  484. },
  485. "input": {
  486. "type": "structure",
  487. "required": [
  488. "BackupJobId",
  489. "ObjectName"
  490. ],
  491. "members": {
  492. "BackupJobId": {
  493. "location": "uri",
  494. "locationName": "jobId"
  495. },
  496. "ObjectName": {
  497. "location": "uri",
  498. "locationName": "objectName"
  499. },
  500. "ThrowOnDuplicate": {
  501. "type": "boolean"
  502. }
  503. }
  504. },
  505. "output": {
  506. "type": "structure",
  507. "required": [
  508. "UploadId"
  509. ],
  510. "members": {
  511. "UploadId": {}
  512. }
  513. }
  514. }
  515. },
  516. "shapes": {
  517. "S5": {
  518. "type": "blob",
  519. "streaming": true
  520. }
  521. }
  522. }