noresponse 8.4.1 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (570) hide show
  1. checksums.yaml +4 -4
  2. data/lib/no_response/accounts.rb +794 -126
  3. data/lib/no_response/audit.rb +2132 -0
  4. data/lib/no_response/erasures.rb +328 -0
  5. data/lib/no_response/evaluations.rb +1856 -0
  6. data/lib/no_response/exports.rb +1837 -0
  7. data/lib/no_response/invites.rb +1179 -0
  8. data/lib/no_response/keys.rb +2 -2
  9. data/lib/no_response/keyusage.rb +2 -0
  10. data/lib/no_response/lists.rb +947 -5
  11. data/lib/no_response/members.rb +906 -0
  12. data/lib/no_response/models/operations/addreviewsubject_request.rb +57 -0
  13. data/lib/no_response/models/operations/addreviewsubject_request.rbi +32 -0
  14. data/lib/no_response/models/operations/addreviewsubject_response.rb +32 -0
  15. data/lib/no_response/models/operations/addreviewsubject_response.rbi +20 -0
  16. data/lib/no_response/models/operations/aggregaterequests_response.rb +32 -0
  17. data/lib/no_response/models/operations/aggregaterequests_response.rbi +20 -0
  18. data/lib/no_response/models/operations/aggregatewebhooks_response.rb +32 -0
  19. data/lib/no_response/models/operations/aggregatewebhooks_response.rbi +20 -0
  20. data/lib/no_response/models/operations/cancelcustomerexport_request.rb +43 -0
  21. data/lib/no_response/models/operations/cancelcustomerexport_request.rbi +26 -0
  22. data/lib/no_response/models/operations/cancelcustomerexport_response.rb +32 -0
  23. data/lib/no_response/models/operations/cancelcustomerexport_response.rbi +20 -0
  24. data/lib/no_response/models/operations/cancelpolicyevaluation_request.rb +61 -0
  25. data/lib/no_response/models/operations/cancelpolicyevaluation_request.rbi +32 -0
  26. data/lib/no_response/models/operations/cancelpolicyevaluation_response.rb +32 -0
  27. data/lib/no_response/models/operations/cancelpolicyevaluation_response.rbi +20 -0
  28. data/lib/no_response/models/operations/changelists_request.rb +61 -0
  29. data/lib/no_response/models/operations/changelists_request.rbi +32 -0
  30. data/lib/no_response/models/operations/changelists_response.rb +32 -0
  31. data/lib/no_response/models/operations/changelists_response.rbi +20 -0
  32. data/lib/no_response/models/operations/commentreview_request.rb +57 -0
  33. data/lib/no_response/models/operations/commentreview_request.rbi +32 -0
  34. data/lib/no_response/models/operations/commentreview_response.rb +32 -0
  35. data/lib/no_response/models/operations/commentreview_response.rbi +20 -0
  36. data/lib/no_response/models/operations/configureauditstream_request.rb +52 -0
  37. data/lib/no_response/models/operations/configureauditstream_request.rbi +26 -0
  38. data/lib/no_response/models/operations/configureauditstream_response.rb +32 -0
  39. data/lib/no_response/models/operations/configureauditstream_response.rbi +20 -0
  40. data/lib/no_response/models/operations/createcustomerexport_request.rb +52 -0
  41. data/lib/no_response/models/operations/createcustomerexport_request.rbi +26 -0
  42. data/lib/no_response/models/operations/createcustomerexport_response.rb +32 -0
  43. data/lib/no_response/models/operations/createcustomerexport_response.rbi +20 -0
  44. data/lib/no_response/models/operations/createinvite_request.rb +37 -0
  45. data/lib/no_response/models/operations/createinvite_request.rbi +20 -0
  46. data/lib/no_response/models/operations/createinvite_response.rb +32 -0
  47. data/lib/no_response/models/operations/createinvite_response.rbi +20 -0
  48. data/lib/no_response/models/operations/createpolicyevaluation_request.rb +61 -0
  49. data/lib/no_response/models/operations/createpolicyevaluation_request.rbi +32 -0
  50. data/lib/no_response/models/operations/createpolicyevaluation_response.rb +32 -0
  51. data/lib/no_response/models/operations/createpolicyevaluation_response.rbi +20 -0
  52. data/lib/no_response/models/operations/createreview_request.rb +52 -0
  53. data/lib/no_response/models/operations/createreview_request.rbi +26 -0
  54. data/lib/no_response/models/operations/createreview_response.rb +32 -0
  55. data/lib/no_response/models/operations/createreview_response.rbi +20 -0
  56. data/lib/no_response/models/operations/createreviewview_request.rb +52 -0
  57. data/lib/no_response/models/operations/createreviewview_request.rbi +26 -0
  58. data/lib/no_response/models/operations/createreviewview_response.rb +32 -0
  59. data/lib/no_response/models/operations/createreviewview_response.rbi +20 -0
  60. data/lib/no_response/models/operations/deletereviewsubject_request.rb +62 -0
  61. data/lib/no_response/models/operations/deletereviewsubject_request.rbi +38 -0
  62. data/lib/no_response/models/operations/deletereviewsubject_response.rb +32 -0
  63. data/lib/no_response/models/operations/deletereviewsubject_response.rbi +20 -0
  64. data/lib/no_response/models/operations/deletereviewview_request.rb +57 -0
  65. data/lib/no_response/models/operations/deletereviewview_request.rbi +32 -0
  66. data/lib/no_response/models/operations/deletereviewview_response.rb +28 -0
  67. data/lib/no_response/models/operations/deletereviewview_response.rbi +14 -0
  68. data/lib/no_response/models/operations/downloadcustomerexportchunk_request.rb +45 -0
  69. data/lib/no_response/models/operations/downloadcustomerexportchunk_request.rbi +26 -0
  70. data/lib/no_response/models/operations/downloadcustomerexportchunk_response.rb +32 -0
  71. data/lib/no_response/models/operations/downloadcustomerexportchunk_response.rbi +20 -0
  72. data/lib/no_response/models/operations/environment.rb +15 -0
  73. data/lib/no_response/models/operations/environment.rbi +9 -0
  74. data/lib/no_response/models/operations/exportreview_request.rb +45 -0
  75. data/lib/no_response/models/operations/exportreview_request.rbi +26 -0
  76. data/lib/no_response/models/operations/exportreview_response.rb +32 -0
  77. data/lib/no_response/models/operations/exportreview_response.rbi +20 -0
  78. data/lib/no_response/models/operations/getauditretention_request.rb +41 -0
  79. data/lib/no_response/models/operations/getauditretention_request.rbi +20 -0
  80. data/lib/no_response/models/operations/getauditretention_response.rb +32 -0
  81. data/lib/no_response/models/operations/getauditretention_response.rbi +20 -0
  82. data/lib/no_response/models/operations/getcustomerexport_request.rb +37 -0
  83. data/lib/no_response/models/operations/getcustomerexport_request.rbi +20 -0
  84. data/lib/no_response/models/operations/getcustomerexport_response.rb +32 -0
  85. data/lib/no_response/models/operations/getcustomerexport_response.rbi +20 -0
  86. data/lib/no_response/models/operations/geterasurereceipt_request.rb +28 -0
  87. data/lib/no_response/models/operations/geterasurereceipt_request.rbi +14 -0
  88. data/lib/no_response/models/operations/geterasurereceipt_response.rb +32 -0
  89. data/lib/no_response/models/operations/geterasurereceipt_response.rbi +20 -0
  90. data/lib/no_response/models/operations/getlistchange_request.rb +45 -0
  91. data/lib/no_response/models/operations/getlistchange_request.rbi +26 -0
  92. data/lib/no_response/models/operations/getlistchange_response.rb +32 -0
  93. data/lib/no_response/models/operations/getlistchange_response.rbi +20 -0
  94. data/lib/no_response/models/operations/getpolicyevaluation_request.rb +51 -0
  95. data/lib/no_response/models/operations/getpolicyevaluation_request.rbi +26 -0
  96. data/lib/no_response/models/operations/getpolicyevaluation_response.rb +32 -0
  97. data/lib/no_response/models/operations/getpolicyevaluation_response.rbi +20 -0
  98. data/lib/no_response/models/operations/getpolicyevaluationresult_request.rb +51 -0
  99. data/lib/no_response/models/operations/getpolicyevaluationresult_request.rbi +26 -0
  100. data/lib/no_response/models/operations/getpolicyevaluationresult_response.rb +34 -0
  101. data/lib/no_response/models/operations/getpolicyevaluationresult_response.rbi +20 -0
  102. data/lib/no_response/models/operations/getreview_request.rb +45 -0
  103. data/lib/no_response/models/operations/getreview_request.rbi +26 -0
  104. data/lib/no_response/models/operations/getreview_response.rb +32 -0
  105. data/lib/no_response/models/operations/getreview_response.rbi +20 -0
  106. data/lib/no_response/models/operations/getusage_request.rb +49 -0
  107. data/lib/no_response/models/operations/getusage_request.rbi +26 -0
  108. data/lib/no_response/models/operations/getusage_response.rb +32 -0
  109. data/lib/no_response/models/operations/getusage_response.rbi +20 -0
  110. data/lib/no_response/models/operations/listaccountcredentials_response.rb +12 -0
  111. data/lib/no_response/models/operations/listaccountdecisions_request.rb +45 -0
  112. data/lib/no_response/models/operations/listaccountdecisions_request.rbi +26 -0
  113. data/lib/no_response/models/operations/listaccountdecisions_response.rb +44 -0
  114. data/lib/no_response/models/operations/listaccountdecisions_response.rbi +20 -0
  115. data/lib/no_response/models/operations/listaccountenforcements_request.rb +45 -0
  116. data/lib/no_response/models/operations/listaccountenforcements_request.rbi +26 -0
  117. data/lib/no_response/models/operations/listaccountenforcements_response.rb +46 -0
  118. data/lib/no_response/models/operations/listaccountenforcements_response.rbi +20 -0
  119. data/lib/no_response/models/operations/listaccountoutcomes_response.rb +12 -0
  120. data/lib/no_response/models/operations/listauditevents_request.rb +140 -0
  121. data/lib/no_response/models/operations/listauditevents_request.rbi +74 -0
  122. data/lib/no_response/models/operations/listauditevents_response.rb +44 -0
  123. data/lib/no_response/models/operations/listauditevents_response.rbi +20 -0
  124. data/lib/no_response/models/operations/listauditstreams_request.rb +41 -0
  125. data/lib/no_response/models/operations/listauditstreams_request.rbi +20 -0
  126. data/lib/no_response/models/operations/listauditstreams_response.rb +32 -0
  127. data/lib/no_response/models/operations/listauditstreams_response.rbi +20 -0
  128. data/lib/no_response/models/operations/listcustomerexports_request.rb +74 -0
  129. data/lib/no_response/models/operations/listcustomerexports_request.rbi +38 -0
  130. data/lib/no_response/models/operations/listcustomerexports_response.rb +44 -0
  131. data/lib/no_response/models/operations/listcustomerexports_response.rbi +20 -0
  132. data/lib/no_response/models/operations/listinvites_request.rb +33 -0
  133. data/lib/no_response/models/operations/listinvites_request.rbi +14 -0
  134. data/lib/no_response/models/operations/listinvites_response.rb +32 -0
  135. data/lib/no_response/models/operations/listinvites_response.rbi +20 -0
  136. data/lib/no_response/models/operations/listlistentries_request.rb +26 -2
  137. data/lib/no_response/models/operations/listlistentries_request.rbi +12 -0
  138. data/lib/no_response/models/operations/listlistentries_response.rb +12 -0
  139. data/lib/no_response/models/operations/listmembers_request.rb +33 -0
  140. data/lib/no_response/models/operations/listmembers_request.rbi +14 -0
  141. data/lib/no_response/models/operations/listmembers_response.rb +32 -0
  142. data/lib/no_response/models/operations/listmembers_response.rbi +20 -0
  143. data/lib/no_response/models/operations/listpolicyevaluations_request.rb +65 -0
  144. data/lib/no_response/models/operations/listpolicyevaluations_request.rbi +32 -0
  145. data/lib/no_response/models/operations/listpolicyevaluations_response.rb +44 -0
  146. data/lib/no_response/models/operations/listpolicyevaluations_response.rbi +20 -0
  147. data/lib/no_response/models/operations/listpolicyhistory_request.rb +65 -0
  148. data/lib/no_response/models/operations/listpolicyhistory_request.rbi +32 -0
  149. data/lib/no_response/models/operations/listpolicyhistory_response.rb +32 -0
  150. data/lib/no_response/models/operations/listpolicyhistory_response.rbi +20 -0
  151. data/lib/no_response/models/operations/listrequestdiagnostics_request.rb +10 -1
  152. data/lib/no_response/models/operations/listrequestdiagnostics_request.rbi +6 -0
  153. data/lib/no_response/models/operations/listrequestdiagnostics_response.rb +12 -0
  154. data/lib/no_response/models/operations/listreviewcomments_request.rb +70 -0
  155. data/lib/no_response/models/operations/listreviewcomments_request.rbi +38 -0
  156. data/lib/no_response/models/operations/listreviewcomments_response.rb +44 -0
  157. data/lib/no_response/models/operations/listreviewcomments_response.rbi +20 -0
  158. data/lib/no_response/models/operations/listreviewresolutions_request.rb +70 -0
  159. data/lib/no_response/models/operations/listreviewresolutions_request.rbi +38 -0
  160. data/lib/no_response/models/operations/listreviewresolutions_response.rb +32 -0
  161. data/lib/no_response/models/operations/listreviewresolutions_response.rbi +20 -0
  162. data/lib/no_response/models/operations/listreviews_request.rb +120 -0
  163. data/lib/no_response/models/operations/listreviews_request.rbi +62 -0
  164. data/lib/no_response/models/operations/listreviews_response.rb +44 -0
  165. data/lib/no_response/models/operations/listreviews_response.rbi +20 -0
  166. data/lib/no_response/models/operations/listreviewsubjects_request.rb +45 -0
  167. data/lib/no_response/models/operations/listreviewsubjects_request.rbi +26 -0
  168. data/lib/no_response/models/operations/listreviewsubjects_response.rb +32 -0
  169. data/lib/no_response/models/operations/listreviewsubjects_response.rbi +20 -0
  170. data/lib/no_response/models/operations/listreviewviews_request.rb +41 -0
  171. data/lib/no_response/models/operations/listreviewviews_request.rbi +20 -0
  172. data/lib/no_response/models/operations/listreviewviews_response.rb +32 -0
  173. data/lib/no_response/models/operations/listreviewviews_response.rbi +20 -0
  174. data/lib/no_response/models/operations/previewlist_request.rb +52 -0
  175. data/lib/no_response/models/operations/previewlist_request.rbi +26 -0
  176. data/lib/no_response/models/operations/previewlist_response.rb +32 -0
  177. data/lib/no_response/models/operations/previewlist_response.rbi +20 -0
  178. data/lib/no_response/models/operations/previewpolicy_request.rb +52 -0
  179. data/lib/no_response/models/operations/previewpolicy_request.rbi +26 -0
  180. data/lib/no_response/models/operations/previewpolicy_response.rb +32 -0
  181. data/lib/no_response/models/operations/previewpolicy_response.rbi +20 -0
  182. data/lib/no_response/models/operations/publishpolicyevaluation_request.rb +61 -0
  183. data/lib/no_response/models/operations/publishpolicyevaluation_request.rbi +32 -0
  184. data/lib/no_response/models/operations/publishpolicyevaluation_response.rb +32 -0
  185. data/lib/no_response/models/operations/publishpolicyevaluation_response.rbi +20 -0
  186. data/lib/no_response/models/operations/removeauditstream_request.rb +45 -0
  187. data/lib/no_response/models/operations/removeauditstream_request.rbi +26 -0
  188. data/lib/no_response/models/operations/removeauditstream_response.rb +32 -0
  189. data/lib/no_response/models/operations/removeauditstream_response.rbi +20 -0
  190. data/lib/no_response/models/operations/removemember_request.rb +37 -0
  191. data/lib/no_response/models/operations/removemember_request.rbi +20 -0
  192. data/lib/no_response/models/operations/removemember_response.rb +28 -0
  193. data/lib/no_response/models/operations/removemember_response.rbi +14 -0
  194. data/lib/no_response/models/operations/replayauditstream_request.rb +57 -0
  195. data/lib/no_response/models/operations/replayauditstream_request.rbi +32 -0
  196. data/lib/no_response/models/operations/replayauditstream_response.rb +32 -0
  197. data/lib/no_response/models/operations/replayauditstream_response.rbi +20 -0
  198. data/lib/no_response/models/operations/resendinvite_request.rb +41 -0
  199. data/lib/no_response/models/operations/resendinvite_request.rbi +26 -0
  200. data/lib/no_response/models/operations/resendinvite_response.rb +32 -0
  201. data/lib/no_response/models/operations/resendinvite_response.rbi +20 -0
  202. data/lib/no_response/models/operations/resolvereview_request.rb +57 -0
  203. data/lib/no_response/models/operations/resolvereview_request.rbi +32 -0
  204. data/lib/no_response/models/operations/resolvereview_response.rb +32 -0
  205. data/lib/no_response/models/operations/resolvereview_response.rbi +20 -0
  206. data/lib/no_response/models/operations/restorepolicy_request.rb +52 -0
  207. data/lib/no_response/models/operations/restorepolicy_request.rbi +26 -0
  208. data/lib/no_response/models/operations/restorepolicy_response.rb +32 -0
  209. data/lib/no_response/models/operations/restorepolicy_response.rbi +20 -0
  210. data/lib/no_response/models/operations/retrycustomerexport_request.rb +43 -0
  211. data/lib/no_response/models/operations/retrycustomerexport_request.rbi +26 -0
  212. data/lib/no_response/models/operations/retrycustomerexport_response.rb +32 -0
  213. data/lib/no_response/models/operations/retrycustomerexport_response.rbi +20 -0
  214. data/lib/no_response/models/operations/revokeinvite_request.rb +37 -0
  215. data/lib/no_response/models/operations/revokeinvite_request.rbi +20 -0
  216. data/lib/no_response/models/operations/revokeinvite_response.rb +28 -0
  217. data/lib/no_response/models/operations/revokeinvite_response.rbi +14 -0
  218. data/lib/no_response/models/operations/summarizeworkspaceoperations_request.rb +37 -0
  219. data/lib/no_response/models/operations/summarizeworkspaceoperations_request.rbi +20 -0
  220. data/lib/no_response/models/operations/summarizeworkspaceoperations_response.rb +34 -0
  221. data/lib/no_response/models/operations/summarizeworkspaceoperations_response.rbi +20 -0
  222. data/lib/no_response/models/operations/updateauditretention_request.rb +52 -0
  223. data/lib/no_response/models/operations/updateauditretention_request.rbi +26 -0
  224. data/lib/no_response/models/operations/updateauditretention_response.rb +32 -0
  225. data/lib/no_response/models/operations/updateauditretention_response.rbi +20 -0
  226. data/lib/no_response/models/operations/updatemember_request.rb +41 -0
  227. data/lib/no_response/models/operations/updatemember_request.rbi +26 -0
  228. data/lib/no_response/models/operations/updatemember_response.rb +32 -0
  229. data/lib/no_response/models/operations/updatemember_response.rbi +20 -0
  230. data/lib/no_response/models/operations/updatereview_request.rb +57 -0
  231. data/lib/no_response/models/operations/updatereview_request.rbi +32 -0
  232. data/lib/no_response/models/operations/updatereview_response.rb +32 -0
  233. data/lib/no_response/models/operations/updatereview_response.rbi +20 -0
  234. data/lib/no_response/models/operations/updatereviewview_request.rb +57 -0
  235. data/lib/no_response/models/operations/updatereviewview_request.rbi +32 -0
  236. data/lib/no_response/models/operations/updatereviewview_response.rb +32 -0
  237. data/lib/no_response/models/operations/updatereviewview_response.rbi +20 -0
  238. data/lib/no_response/models/operations.rb +121 -0
  239. data/lib/no_response/models/shared/accountdecisionlist.rb +56 -0
  240. data/lib/no_response/models/shared/accountdecisionlist.rbi +26 -0
  241. data/lib/no_response/models/shared/accountdeletion.rb +11 -2
  242. data/lib/no_response/models/shared/accountdeletion.rbi +6 -0
  243. data/lib/no_response/models/shared/accountenforcementlist.rb +52 -0
  244. data/lib/no_response/models/shared/accountenforcementlist.rbi +26 -0
  245. data/lib/no_response/models/shared/accountoutcomeactor.rb +50 -11
  246. data/lib/no_response/models/shared/accountoutcomeactor.rbi +20 -2
  247. data/lib/no_response/models/shared/accountoutcomeactortype.rb +19 -0
  248. data/lib/no_response/models/shared/accountoutcomeactortype.rbi +9 -0
  249. data/lib/no_response/models/shared/accountriskreason.rb +1 -1
  250. data/lib/no_response/models/shared/action.rb +19 -0
  251. data/lib/no_response/models/shared/{defaultdepth.rbi → action.rbi} +2 -2
  252. data/lib/no_response/models/shared/actor.rb +23 -0
  253. data/lib/no_response/models/shared/actor.rbi +9 -0
  254. data/lib/no_response/models/shared/aggregategroup.rb +6 -6
  255. data/lib/no_response/models/shared/aggregategrouplistmatch.rb +20 -0
  256. data/lib/no_response/models/shared/aggregategrouplistmatch.rbi +9 -0
  257. data/lib/no_response/models/shared/assessmentaggregate.rb +10 -0
  258. data/lib/no_response/models/shared/assessmentaggregate.rbi +6 -0
  259. data/lib/no_response/models/shared/assessmentaggregatecoverage.rb +133 -0
  260. data/lib/no_response/models/shared/assessmentaggregatecoverage.rbi +62 -0
  261. data/lib/no_response/models/shared/assessmentaggregaterequest.rb +132 -2
  262. data/lib/no_response/models/shared/assessmentaggregaterequest.rbi +60 -0
  263. data/lib/no_response/models/shared/assessmentdeletion.rb +11 -2
  264. data/lib/no_response/models/shared/assessmentdeletion.rbi +6 -0
  265. data/lib/no_response/models/shared/assessmentsearchrequest.rb +115 -0
  266. data/lib/no_response/models/shared/assessmentsearchrequest.rbi +54 -0
  267. data/lib/no_response/models/shared/auditevent.rb +163 -0
  268. data/lib/no_response/models/shared/auditevent.rbi +74 -0
  269. data/lib/no_response/models/shared/auditeventevent.rb +70 -0
  270. data/lib/no_response/models/shared/auditeventevent.rbi +38 -0
  271. data/lib/no_response/models/shared/auditeventlist.rb +52 -0
  272. data/lib/no_response/models/shared/auditeventlist.rbi +26 -0
  273. data/lib/no_response/models/shared/auditeventtarget.rb +47 -0
  274. data/lib/no_response/models/shared/auditeventtarget.rbi +20 -0
  275. data/lib/no_response/models/shared/auditeventtargettype.rb +26 -0
  276. data/lib/no_response/models/shared/auditeventtargettype.rbi +9 -0
  277. data/lib/no_response/models/shared/auditsettings.rb +74 -0
  278. data/lib/no_response/models/shared/auditsettings.rbi +32 -0
  279. data/lib/no_response/models/shared/auditsettingsenvironment.rb +19 -0
  280. data/lib/no_response/models/shared/auditsettingsenvironment.rbi +9 -0
  281. data/lib/no_response/models/shared/auditsettingsrequest.rb +32 -0
  282. data/lib/no_response/models/shared/auditsettingsrequest.rbi +14 -0
  283. data/lib/no_response/models/shared/auditstream.rb +111 -0
  284. data/lib/no_response/models/shared/auditstream.rbi +50 -0
  285. data/lib/no_response/models/shared/auditstreamlist.rb +32 -0
  286. data/lib/no_response/models/shared/auditstreamlist.rbi +14 -0
  287. data/lib/no_response/models/shared/auditstreamreplayrequest.rb +33 -0
  288. data/lib/no_response/models/shared/auditstreamreplayrequest.rbi +14 -0
  289. data/lib/no_response/models/shared/auditstreamrequest.rb +40 -0
  290. data/lib/no_response/models/shared/auditstreamrequest.rbi +20 -0
  291. data/lib/no_response/models/shared/band.rb +1 -1
  292. data/lib/no_response/models/shared/conclusion.rb +20 -0
  293. data/lib/no_response/models/shared/conclusion.rbi +9 -0
  294. data/lib/no_response/models/shared/conflicterrorcode.rb +10 -0
  295. data/lib/no_response/models/shared/consolelookups.rb +45 -0
  296. data/lib/no_response/models/shared/consolelookups.rbi +26 -0
  297. data/lib/no_response/models/shared/cost.rb +48 -0
  298. data/lib/no_response/models/shared/cost.rbi +32 -0
  299. data/lib/no_response/models/shared/coverage.rb +40 -0
  300. data/lib/no_response/models/shared/coverage.rbi +20 -0
  301. data/lib/no_response/models/shared/customerexport.rb +209 -0
  302. data/lib/no_response/models/shared/customerexport.rbi +104 -0
  303. data/lib/no_response/models/shared/customerexportactionrequest.rb +23 -0
  304. data/lib/no_response/models/shared/customerexportactionrequest.rbi +9 -0
  305. data/lib/no_response/models/shared/customerexportchunk.rb +78 -0
  306. data/lib/no_response/models/shared/customerexportchunk.rbi +44 -0
  307. data/lib/no_response/models/shared/customerexportlist.rb +40 -0
  308. data/lib/no_response/models/shared/customerexportlist.rbi +20 -0
  309. data/lib/no_response/models/shared/customerexportrequest.rb +90 -0
  310. data/lib/no_response/models/shared/customerexportrequest.rbi +38 -0
  311. data/lib/no_response/models/shared/customerexportrequestfilter.rb +122 -0
  312. data/lib/no_response/models/shared/customerexportrequestfilter.rbi +56 -0
  313. data/lib/no_response/models/shared/customerexportrequestfilteroutcome.rb +19 -0
  314. data/lib/no_response/models/shared/customerexportrequestfilteroutcome.rbi +9 -0
  315. data/lib/no_response/models/shared/customerexportrequestkind.rb +19 -0
  316. data/lib/no_response/models/shared/customerexportrequestkind.rbi +9 -0
  317. data/lib/no_response/models/shared/customerexportstatus.rb +23 -0
  318. data/lib/no_response/models/shared/customerexportstatus.rbi +9 -0
  319. data/lib/no_response/models/shared/enforcements.rb +93 -0
  320. data/lib/no_response/models/shared/enforcements.rbi +44 -0
  321. data/lib/no_response/models/shared/environment.rb +6 -2
  322. data/lib/no_response/models/shared/erasurereceipt.rb +118 -0
  323. data/lib/no_response/models/shared/erasurereceipt.rbi +56 -0
  324. data/lib/no_response/models/shared/erasurereceiptkind.rb +20 -0
  325. data/lib/no_response/models/shared/erasurereceiptkind.rbi +9 -0
  326. data/lib/no_response/models/shared/erasurereceipttarget.rb +67 -0
  327. data/lib/no_response/models/shared/erasurereceipttarget.rbi +26 -0
  328. data/lib/no_response/models/shared/erasurereceipttargetname.rb +21 -0
  329. data/lib/no_response/models/shared/erasurereceipttargetname.rbi +9 -0
  330. data/lib/no_response/models/shared/erasurereceipttargetstatus.rb +19 -0
  331. data/lib/no_response/models/shared/erasurereceipttargetstatus.rbi +9 -0
  332. data/lib/no_response/models/shared/exclusion.rb +1 -0
  333. data/lib/no_response/models/shared/export.rb +73 -0
  334. data/lib/no_response/models/shared/export.rbi +38 -0
  335. data/lib/no_response/models/shared/filter.rb +83 -0
  336. data/lib/no_response/models/shared/filter.rbi +38 -0
  337. data/lib/no_response/models/shared/flowchange.rb +4 -4
  338. data/lib/no_response/models/shared/flowsettings.rb +4 -4
  339. data/lib/no_response/models/shared/from.rb +22 -0
  340. data/lib/no_response/models/shared/from.rbi +9 -0
  341. data/lib/no_response/models/shared/impact.rb +1 -1
  342. data/lib/no_response/models/shared/invite.rb +152 -0
  343. data/lib/no_response/models/shared/invite.rbi +80 -0
  344. data/lib/no_response/models/shared/invite_denied_action.rb +20 -0
  345. data/lib/no_response/models/shared/invite_denied_action.rbi +9 -0
  346. data/lib/no_response/models/shared/invite_environment.rb +19 -0
  347. data/lib/no_response/models/shared/invite_environment.rbi +9 -0
  348. data/lib/no_response/models/shared/invitelist.rb +32 -0
  349. data/lib/no_response/models/shared/invitelist.rbi +14 -0
  350. data/lib/no_response/models/shared/inviterequest.rb +80 -0
  351. data/lib/no_response/models/shared/inviterequest.rbi +38 -0
  352. data/lib/no_response/models/shared/inviterequest_denied_action.rb +17 -0
  353. data/lib/no_response/models/shared/inviterequest_denied_action.rbi +9 -0
  354. data/lib/no_response/models/shared/inviterequest_environment.rb +16 -0
  355. data/lib/no_response/models/shared/inviterequest_environment.rbi +9 -0
  356. data/lib/no_response/models/shared/inviteresendrequest.rb +23 -0
  357. data/lib/no_response/models/shared/inviteresendrequest.rbi +9 -0
  358. data/lib/no_response/models/shared/key.rb +68 -3
  359. data/lib/no_response/models/shared/key.rbi +36 -0
  360. data/lib/no_response/models/shared/key_scope.rb +10 -0
  361. data/lib/no_response/models/shared/keyactor.rb +41 -0
  362. data/lib/no_response/models/shared/keyactor.rbi +20 -0
  363. data/lib/no_response/models/shared/keykind.rb +19 -0
  364. data/lib/no_response/models/shared/keykind.rbi +9 -0
  365. data/lib/no_response/models/shared/keyrequest.rb +57 -3
  366. data/lib/no_response/models/shared/keyrequest.rbi +30 -0
  367. data/lib/no_response/models/shared/keyrequest_scope.rb +10 -0
  368. data/lib/no_response/models/shared/listbulkrequest.rb +42 -0
  369. data/lib/no_response/models/shared/listbulkrequest.rbi +20 -0
  370. data/lib/no_response/models/shared/listchange.rb +98 -0
  371. data/lib/no_response/models/shared/listchange.rbi +50 -0
  372. data/lib/no_response/models/shared/listchangestate.rb +19 -0
  373. data/lib/no_response/models/shared/listchangestate.rbi +9 -0
  374. data/lib/no_response/models/shared/listentry.rb +22 -2
  375. data/lib/no_response/models/shared/listentry.rbi +6 -0
  376. data/lib/no_response/models/shared/listentrylist.rb +11 -3
  377. data/lib/no_response/models/shared/listentrylist.rbi +6 -0
  378. data/lib/no_response/models/shared/listentryrequest.rb +11 -2
  379. data/lib/no_response/models/shared/listentryrequest.rbi +6 -0
  380. data/lib/no_response/models/shared/listimpact.rb +154 -0
  381. data/lib/no_response/models/shared/listimpact.rbi +68 -0
  382. data/lib/no_response/models/shared/listimpactkind.rb +19 -0
  383. data/lib/no_response/models/shared/listimpactkind.rbi +9 -0
  384. data/lib/no_response/models/shared/listimpacttransition.rb +67 -0
  385. data/lib/no_response/models/shared/listimpacttransition.rbi +26 -0
  386. data/lib/no_response/models/shared/listimpacttransitionfrom.rb +20 -0
  387. data/lib/no_response/models/shared/listimpacttransitionfrom.rbi +9 -0
  388. data/lib/no_response/models/shared/listmatch.rb +4 -6
  389. data/lib/no_response/models/shared/listpreviewrequest.rb +41 -0
  390. data/lib/no_response/models/shared/listpreviewrequest.rbi +20 -0
  391. data/lib/no_response/models/shared/member.rb +158 -0
  392. data/lib/no_response/models/shared/member.rbi +80 -0
  393. data/lib/no_response/models/shared/member_denied_action.rb +20 -0
  394. data/lib/no_response/models/shared/member_denied_action.rbi +9 -0
  395. data/lib/no_response/models/shared/member_environment.rb +19 -0
  396. data/lib/no_response/models/shared/member_environment.rbi +9 -0
  397. data/lib/no_response/models/shared/memberlist.rb +32 -0
  398. data/lib/no_response/models/shared/memberlist.rbi +14 -0
  399. data/lib/no_response/models/shared/memberstatus.rb +18 -0
  400. data/lib/no_response/models/shared/memberstatus.rbi +9 -0
  401. data/lib/no_response/models/shared/memberupdaterequest.rb +62 -0
  402. data/lib/no_response/models/shared/memberupdaterequest.rbi +26 -0
  403. data/lib/no_response/models/shared/memberupdaterequest_denied_action.rb +17 -0
  404. data/lib/no_response/models/shared/memberupdaterequest_denied_action.rbi +9 -0
  405. data/lib/no_response/models/shared/memberupdaterequest_environment.rb +16 -0
  406. data/lib/no_response/models/shared/memberupdaterequest_environment.rbi +9 -0
  407. data/lib/no_response/models/shared/metric.rb +20 -0
  408. data/lib/no_response/models/shared/metric.rbi +9 -0
  409. data/lib/no_response/models/shared/operationalaggregate.rb +175 -0
  410. data/lib/no_response/models/shared/operationalaggregate.rbi +86 -0
  411. data/lib/no_response/models/shared/operationalaggregatebucket.rb +149 -0
  412. data/lib/no_response/models/shared/operationalaggregatebucket.rbi +80 -0
  413. data/lib/no_response/models/shared/operationalaggregatequeue.rb +64 -0
  414. data/lib/no_response/models/shared/operationalaggregatequeue.rbi +32 -0
  415. data/lib/no_response/models/shared/operationalaggregatetotals.rb +139 -0
  416. data/lib/no_response/models/shared/operationalaggregatetotals.rbi +74 -0
  417. data/lib/no_response/models/shared/outcomes.rb +93 -0
  418. data/lib/no_response/models/shared/outcomes.rbi +44 -0
  419. data/lib/no_response/models/shared/outcomesbyoutcome.rb +89 -0
  420. data/lib/no_response/models/shared/outcomesbyoutcome.rbi +44 -0
  421. data/lib/no_response/models/shared/ownertype.rb +19 -0
  422. data/lib/no_response/models/shared/ownertype.rbi +9 -0
  423. data/lib/no_response/models/shared/policyevaluation.rb +256 -0
  424. data/lib/no_response/models/shared/policyevaluation.rbi +134 -0
  425. data/lib/no_response/models/shared/policyevaluationcancelrequest.rb +23 -0
  426. data/lib/no_response/models/shared/policyevaluationcancelrequest.rbi +9 -0
  427. data/lib/no_response/models/shared/policyevaluationlist.rb +40 -0
  428. data/lib/no_response/models/shared/policyevaluationlist.rbi +20 -0
  429. data/lib/no_response/models/shared/policyevaluationpublishrequest.rb +89 -0
  430. data/lib/no_response/models/shared/policyevaluationpublishrequest.rbi +44 -0
  431. data/lib/no_response/models/shared/policyevaluationrequest.rb +101 -0
  432. data/lib/no_response/models/shared/policyevaluationrequest.rbi +56 -0
  433. data/lib/no_response/models/shared/policyevaluationrequestcosts.rb +40 -0
  434. data/lib/no_response/models/shared/policyevaluationrequestcosts.rbi +20 -0
  435. data/lib/no_response/models/shared/policyevaluationrequestlimits.rb +59 -0
  436. data/lib/no_response/models/shared/policyevaluationrequestlimits.rbi +32 -0
  437. data/lib/no_response/models/shared/policyevaluationresult.rb +40 -0
  438. data/lib/no_response/models/shared/policyevaluationresult.rbi +20 -0
  439. data/lib/no_response/models/shared/policyevaluationstatus.rb +22 -0
  440. data/lib/no_response/models/shared/policyevaluationstatus.rbi +9 -0
  441. data/lib/no_response/models/shared/policyhistory.rb +64 -0
  442. data/lib/no_response/models/shared/policyhistory.rbi +32 -0
  443. data/lib/no_response/models/shared/policyhistoryitem.rb +74 -0
  444. data/lib/no_response/models/shared/policyhistoryitem.rbi +38 -0
  445. data/lib/no_response/models/shared/policypreview.rb +115 -0
  446. data/lib/no_response/models/shared/policypreview.rbi +62 -0
  447. data/lib/no_response/models/shared/policypreviewcoverage.rb +108 -0
  448. data/lib/no_response/models/shared/policypreviewcoverage.rbi +50 -0
  449. data/lib/no_response/models/shared/policypreviewrequest.rb +65 -0
  450. data/lib/no_response/models/shared/policypreviewrequest.rbi +38 -0
  451. data/lib/no_response/models/shared/policypreviewrequestflows.rb +55 -0
  452. data/lib/no_response/models/shared/policypreviewrequestflows.rbi +26 -0
  453. data/lib/no_response/models/shared/policypreviewrequestflowsaccountcreation.rb +48 -0
  454. data/lib/no_response/models/shared/policypreviewrequestflowsaccountcreation.rbi +26 -0
  455. data/lib/no_response/models/shared/policypreviewrequestflowslogin.rb +64 -0
  456. data/lib/no_response/models/shared/policypreviewrequestflowslogin.rbi +32 -0
  457. data/lib/no_response/models/shared/policypreviewrequestflowspurchase.rb +64 -0
  458. data/lib/no_response/models/shared/policypreviewrequestflowspurchase.rbi +32 -0
  459. data/lib/no_response/models/shared/policypreviewtransition.rb +60 -0
  460. data/lib/no_response/models/shared/policypreviewtransition.rbi +26 -0
  461. data/lib/no_response/models/shared/policyrestorerequest.rb +48 -0
  462. data/lib/no_response/models/shared/policyrestorerequest.rbi +26 -0
  463. data/lib/no_response/models/shared/population.rb +19 -0
  464. data/lib/no_response/models/shared/population.rbi +9 -0
  465. data/lib/no_response/models/shared/priority.rb +21 -0
  466. data/lib/no_response/models/shared/priority.rbi +9 -0
  467. data/lib/no_response/models/shared/publication.rb +133 -0
  468. data/lib/no_response/models/shared/publication.rbi +68 -0
  469. data/lib/no_response/models/shared/ratelimiterrorcode.rb +2 -0
  470. data/lib/no_response/models/shared/report.rb +99 -0
  471. data/lib/no_response/models/shared/report.rbi +44 -0
  472. data/lib/no_response/models/shared/report_scope.rb +23 -0
  473. data/lib/no_response/models/shared/report_scope.rbi +9 -0
  474. data/lib/no_response/models/shared/requestaggregaterequest.rb +79 -0
  475. data/lib/no_response/models/shared/requestaggregaterequest.rbi +44 -0
  476. data/lib/no_response/models/shared/requestaggregaterequestbucket.rb +19 -0
  477. data/lib/no_response/models/shared/requestaggregaterequestbucket.rbi +9 -0
  478. data/lib/no_response/models/shared/requestdiagnostic.rb +12 -2
  479. data/lib/no_response/models/shared/requestdiagnostic.rbi +6 -0
  480. data/lib/no_response/models/shared/resolution.rb +111 -0
  481. data/lib/no_response/models/shared/resolution.rbi +56 -0
  482. data/lib/no_response/models/shared/resultstatus.rb +19 -0
  483. data/lib/no_response/models/shared/resultstatus.rbi +9 -0
  484. data/lib/no_response/models/shared/review.rb +187 -0
  485. data/lib/no_response/models/shared/review.rbi +98 -0
  486. data/lib/no_response/models/shared/reviewcomment.rb +59 -0
  487. data/lib/no_response/models/shared/reviewcomment.rbi +38 -0
  488. data/lib/no_response/models/shared/reviewcommentlist.rb +40 -0
  489. data/lib/no_response/models/shared/reviewcommentlist.rbi +20 -0
  490. data/lib/no_response/models/shared/reviewcommentrequest.rb +36 -0
  491. data/lib/no_response/models/shared/reviewcommentrequest.rbi +20 -0
  492. data/lib/no_response/models/shared/reviewcreaterequest.rb +57 -0
  493. data/lib/no_response/models/shared/reviewcreaterequest.rbi +26 -0
  494. data/lib/no_response/models/shared/reviewlist.rb +40 -0
  495. data/lib/no_response/models/shared/reviewlist.rbi +20 -0
  496. data/lib/no_response/models/shared/reviewresolutionlist.rb +40 -0
  497. data/lib/no_response/models/shared/reviewresolutionlist.rbi +20 -0
  498. data/lib/no_response/models/shared/reviewresolverequest.rb +66 -0
  499. data/lib/no_response/models/shared/reviewresolverequest.rbi +32 -0
  500. data/lib/no_response/models/shared/reviews.rb +119 -0
  501. data/lib/no_response/models/shared/reviews.rbi +62 -0
  502. data/lib/no_response/models/shared/reviewsconclusions.rb +50 -0
  503. data/lib/no_response/models/shared/reviewsconclusions.rbi +26 -0
  504. data/lib/no_response/models/shared/reviewstatus.rb +20 -0
  505. data/lib/no_response/models/shared/reviewstatus.rbi +9 -0
  506. data/lib/no_response/models/shared/reviewsubject.rb +131 -0
  507. data/lib/no_response/models/shared/reviewsubject.rbi +68 -0
  508. data/lib/no_response/models/shared/reviewsubjectchange.rb +40 -0
  509. data/lib/no_response/models/shared/reviewsubjectchange.rbi +20 -0
  510. data/lib/no_response/models/shared/reviewsubjectkind.rb +20 -0
  511. data/lib/no_response/models/shared/reviewsubjectkind.rbi +9 -0
  512. data/lib/no_response/models/shared/reviewsubjectlist.rb +40 -0
  513. data/lib/no_response/models/shared/reviewsubjectlist.rbi +20 -0
  514. data/lib/no_response/models/shared/reviewsubjectrequest.rb +105 -0
  515. data/lib/no_response/models/shared/reviewsubjectrequest.rbi +50 -0
  516. data/lib/no_response/models/shared/reviewupdaterequest.rb +74 -0
  517. data/lib/no_response/models/shared/reviewupdaterequest.rbi +32 -0
  518. data/lib/no_response/models/shared/reviewupdaterequeststatus.rb +16 -0
  519. data/lib/no_response/models/shared/reviewupdaterequeststatus.rbi +9 -0
  520. data/lib/no_response/models/shared/reviewview.rb +127 -0
  521. data/lib/no_response/models/shared/reviewview.rbi +68 -0
  522. data/lib/no_response/models/shared/reviewviewdeleterequest.rb +32 -0
  523. data/lib/no_response/models/shared/reviewviewdeleterequest.rbi +14 -0
  524. data/lib/no_response/models/shared/reviewviewlist.rb +32 -0
  525. data/lib/no_response/models/shared/reviewviewlist.rbi +14 -0
  526. data/lib/no_response/models/shared/reviewviewrequest.rb +60 -0
  527. data/lib/no_response/models/shared/reviewviewrequest.rbi +32 -0
  528. data/lib/no_response/models/shared/risk.rb +1 -1
  529. data/lib/no_response/models/shared/riskreason.rb +1 -1
  530. data/lib/no_response/models/shared/role.rb +24 -0
  531. data/lib/no_response/models/shared/role.rbi +9 -0
  532. data/lib/no_response/models/shared/settings.rb +1 -1
  533. data/lib/no_response/models/shared/settingsrequest.rb +27 -3
  534. data/lib/no_response/models/shared/settingsrequest.rbi +12 -0
  535. data/lib/no_response/models/shared/source.rb +19 -0
  536. data/lib/no_response/models/shared/source.rbi +9 -0
  537. data/lib/no_response/models/shared/thresholds.rb +48 -0
  538. data/lib/no_response/models/shared/thresholds.rbi +26 -0
  539. data/lib/no_response/models/shared/usage.rb +66 -0
  540. data/lib/no_response/models/shared/usage.rbi +38 -0
  541. data/lib/no_response/models/shared/usagecount.rb +100 -0
  542. data/lib/no_response/models/shared/usagecount.rbi +44 -0
  543. data/lib/no_response/models/shared/{defaultdepth.rb → usagecountdepth.rb} +2 -2
  544. data/lib/no_response/models/shared/usagecountdepth.rbi +9 -0
  545. data/lib/no_response/models/shared/usagecountflow.rb +20 -0
  546. data/lib/no_response/models/shared/usagecountflow.rbi +9 -0
  547. data/lib/no_response/models/shared/useractor.rb +65 -0
  548. data/lib/no_response/models/shared/useractor.rbi +32 -0
  549. data/lib/no_response/models/shared/webhookaggregaterequest.rb +70 -0
  550. data/lib/no_response/models/shared/webhookaggregaterequest.rbi +38 -0
  551. data/lib/no_response/models/shared/webhookdeliveryattempt.rb +1 -1
  552. data/lib/no_response/models/shared/webhookreplay.rb +1 -1
  553. data/lib/no_response/models/shared/workspacedeleted.rb +7 -4
  554. data/lib/no_response/models/shared/workspaceoperationssummary.rb +166 -0
  555. data/lib/no_response/models/shared/workspaceoperationssummary.rbi +86 -0
  556. data/lib/no_response/models/shared/workspaceoperationssummaryrequest.rb +46 -0
  557. data/lib/no_response/models/shared/workspaceoperationssummaryrequest.rbi +26 -0
  558. data/lib/no_response/models/shared.rb +140 -1
  559. data/lib/no_response/noresponseclient.rb +19 -1
  560. data/lib/no_response/operations.rb +343 -0
  561. data/lib/no_response/requests.rb +323 -0
  562. data/lib/no_response/reviews.rb +4806 -0
  563. data/lib/no_response/sdk_hooks/idempotency_key_hook.rb +1 -1
  564. data/lib/no_response/sdkconfiguration.rb +2 -2
  565. data/lib/no_response/settings.rb +903 -2
  566. data/lib/no_response/usage.rb +334 -0
  567. data/lib/no_response/webhook_verification.rb +4 -2
  568. data/lib/no_response/webhookendpoints.rb +293 -0
  569. data/lib/noresponse.rb +9 -0
  570. metadata +503 -4
@@ -0,0 +1,1837 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ require "faraday"
5
+ require "faraday/multipart"
6
+ require "faraday/retry"
7
+ require "sorbet-runtime"
8
+ require "janeway"
9
+
10
+ require_relative "sdk_hooks/hooks"
11
+ require_relative "utils/retries"
12
+
13
+ module NoResponse
14
+ extend T::Sig
15
+
16
+ class Exports
17
+ extend T::Sig
18
+
19
+ # Bounded customer export jobs and encrypted artifacts.
20
+
21
+ sig { params(sdk_config: SDKConfiguration).void }
22
+ def initialize(sdk_config)
23
+ @sdk_configuration = sdk_config
24
+ end
25
+
26
+ sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
27
+ def get_url(base_url:, url_variables: nil)
28
+ sd_base_url, sd_options = @sdk_configuration.get_server_details
29
+
30
+ if base_url.nil?
31
+ base_url = sd_base_url
32
+ end
33
+
34
+ if url_variables.nil?
35
+ url_variables = sd_options
36
+ end
37
+
38
+ return Utils.template_url(base_url, url_variables)
39
+ end
40
+
41
+ sig {
42
+ params(
43
+ body: Models::Shared::CustomerExportRequest,
44
+ workspace_id: ::String,
45
+ idempotency_key: T.nilable(::String),
46
+ timeout_ms: T.nilable(Integer),
47
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
48
+ )
49
+ .returns(Models::Operations::CreateCustomerExportResponse)
50
+ }
51
+ def create(body:, workspace_id:, idempotency_key: nil, timeout_ms: nil, http_headers: nil)
52
+ # create - Request an asynchronous customer export.
53
+ # Request an encrypted JSON Lines snapshot of retained account or audit records. Requires exports plus history or audit scope; detailed account data also needs evidence or detailed scope. Criteria are frozen and hashed. Each environment permits four active jobs, 64 MiB per artifact, and 256 KiB per chunk. Artifacts expire after 24 hours. Send an Idempotency-Key to safely repeat a request. Every operation checks current permissions and source retention.
54
+ request = Models::Operations::CreateCustomerExportRequest.new(
55
+ workspace_id: workspace_id,
56
+ body: body,
57
+ idempotency_key: idempotency_key
58
+ )
59
+ url, params = @sdk_configuration.get_server_details
60
+ base_url = Utils.template_url(url, params)
61
+ url = Utils.generate_url(
62
+ Models::Operations::CreateCustomerExportRequest,
63
+ base_url,
64
+ "/v1/workspaces/{workspace_id}/exports",
65
+ request
66
+ )
67
+ headers = Utils.get_headers(request)
68
+ headers = T.cast(headers, T::Hash[String, String])
69
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
70
+ headers["content-type"] = req_content_type
71
+ raise StandardError, "request body is required" if data.nil? && form.nil?
72
+
73
+ if form && !form.empty?
74
+ body = Utils.encode_form(form)
75
+ elsif Utils.match_content_type(req_content_type, "application/x-www-form-urlencoded")
76
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
77
+ else
78
+ body = data
79
+ end
80
+
81
+ headers["Accept"] = "application/json"
82
+ headers["user-agent"] = @sdk_configuration.user_agent
83
+
84
+ security = @sdk_configuration.security_source&.call
85
+
86
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
87
+ timeout ||= @sdk_configuration.timeout
88
+
89
+ connection = @sdk_configuration.client
90
+
91
+ hook_ctx = SDKHooks::HookContext.new(
92
+ config: @sdk_configuration,
93
+ base_url: base_url,
94
+ oauth2_scopes: nil,
95
+ operation_id: "createCustomerExport",
96
+ security_source: @sdk_configuration.security_source
97
+ )
98
+
99
+ error = T.let(nil, T.nilable(StandardError))
100
+ http_response = T.let(nil, T.nilable(Faraday::Response))
101
+
102
+ begin
103
+ http_response = T.must(connection).post(url) do |req|
104
+ req.body = body
105
+ req.headers.merge!(headers)
106
+ req.options.timeout = timeout unless timeout.nil?
107
+ Utils.configure_request_security(req, security)
108
+ http_headers&.each do |key, value|
109
+ req.headers[key.to_s] = value
110
+ end
111
+
112
+ @sdk_configuration.hooks.before_request(
113
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
114
+ hook_ctx: hook_ctx
115
+ ),
116
+ request: req
117
+ )
118
+ end
119
+
120
+ rescue StandardError => e
121
+ error = e
122
+ ensure
123
+ if http_response.nil? || Utils.error_status?(http_response.status)
124
+ http_response = @sdk_configuration.hooks.after_error(
125
+ error: error,
126
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
127
+ hook_ctx: hook_ctx
128
+ ),
129
+ response: http_response
130
+ )
131
+ else
132
+ http_response = @sdk_configuration.hooks.after_success(
133
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
134
+ hook_ctx: hook_ctx
135
+ ),
136
+ response: http_response
137
+ )
138
+ end
139
+
140
+ if http_response.nil?
141
+ raise error if !error.nil?
142
+ raise "no response"
143
+ end
144
+ end
145
+
146
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
147
+ if Utils.match_status_code(http_response.status, ["202"])
148
+ if Utils.match_content_type(content_type, "application/json")
149
+ @sdk_configuration.hooks.after_success(
150
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
151
+ hook_ctx: hook_ctx
152
+ ),
153
+ response: http_response
154
+ )
155
+ response_data = http_response.env.response_body
156
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::CustomerExport)
157
+ result = obj
158
+ response = Models::Operations::CreateCustomerExportResponse.new(
159
+ result: result,
160
+ headers: http_response.headers
161
+ )
162
+
163
+ return response
164
+ else
165
+ raise(
166
+ ::NoResponse::Models::Errors::APIStatusError.new(
167
+ status_code: http_response.status,
168
+ body: http_response.env.response_body,
169
+ raw_response: http_response
170
+ ),
171
+ "Unknown content type received"
172
+ )
173
+ end
174
+ elsif Utils.match_status_code(http_response.status, ["400"])
175
+ if Utils.match_content_type(content_type, "application/problem+json")
176
+ @sdk_configuration.hooks.after_success(
177
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
178
+ hook_ctx: hook_ctx
179
+ ),
180
+ response: http_response
181
+ )
182
+ response_data = http_response.env.response_body
183
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
184
+ raise obj
185
+ else
186
+ raise(
187
+ ::NoResponse::Models::Errors::APIStatusError.new(
188
+ status_code: http_response.status,
189
+ body: http_response.env.response_body,
190
+ raw_response: http_response
191
+ ),
192
+ "Unknown content type received"
193
+ )
194
+ end
195
+ elsif Utils.match_status_code(http_response.status, ["401"])
196
+ if Utils.match_content_type(content_type, "application/problem+json")
197
+ @sdk_configuration.hooks.after_success(
198
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
199
+ hook_ctx: hook_ctx
200
+ ),
201
+ response: http_response
202
+ )
203
+ response_data = http_response.env.response_body
204
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
205
+ raise obj
206
+ else
207
+ raise(
208
+ ::NoResponse::Models::Errors::APIStatusError.new(
209
+ status_code: http_response.status,
210
+ body: http_response.env.response_body,
211
+ raw_response: http_response
212
+ ),
213
+ "Unknown content type received"
214
+ )
215
+ end
216
+ elsif Utils.match_status_code(http_response.status, ["403"])
217
+ if Utils.match_content_type(content_type, "application/problem+json")
218
+ @sdk_configuration.hooks.after_success(
219
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
220
+ hook_ctx: hook_ctx
221
+ ),
222
+ response: http_response
223
+ )
224
+ response_data = http_response.env.response_body
225
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
226
+ raise obj
227
+ else
228
+ raise(
229
+ ::NoResponse::Models::Errors::APIStatusError.new(
230
+ status_code: http_response.status,
231
+ body: http_response.env.response_body,
232
+ raw_response: http_response
233
+ ),
234
+ "Unknown content type received"
235
+ )
236
+ end
237
+ elsif Utils.match_status_code(http_response.status, ["404"])
238
+ if Utils.match_content_type(content_type, "application/problem+json")
239
+ @sdk_configuration.hooks.after_success(
240
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
241
+ hook_ctx: hook_ctx
242
+ ),
243
+ response: http_response
244
+ )
245
+ response_data = http_response.env.response_body
246
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
247
+ raise obj
248
+ else
249
+ raise(
250
+ ::NoResponse::Models::Errors::APIStatusError.new(
251
+ status_code: http_response.status,
252
+ body: http_response.env.response_body,
253
+ raw_response: http_response
254
+ ),
255
+ "Unknown content type received"
256
+ )
257
+ end
258
+ elsif Utils.match_status_code(http_response.status, ["409"])
259
+ if Utils.match_content_type(content_type, "application/problem+json")
260
+ @sdk_configuration.hooks.after_success(
261
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
262
+ hook_ctx: hook_ctx
263
+ ),
264
+ response: http_response
265
+ )
266
+ response_data = http_response.env.response_body
267
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
268
+ raise obj
269
+ else
270
+ raise(
271
+ ::NoResponse::Models::Errors::APIStatusError.new(
272
+ status_code: http_response.status,
273
+ body: http_response.env.response_body,
274
+ raw_response: http_response
275
+ ),
276
+ "Unknown content type received"
277
+ )
278
+ end
279
+ elsif Utils.match_status_code(http_response.status, ["429"])
280
+ if Utils.match_content_type(content_type, "application/problem+json")
281
+ @sdk_configuration.hooks.after_success(
282
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
283
+ hook_ctx: hook_ctx
284
+ ),
285
+ response: http_response
286
+ )
287
+ response_data = http_response.env.response_body
288
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
289
+ raise obj
290
+ else
291
+ raise(
292
+ ::NoResponse::Models::Errors::APIStatusError.new(
293
+ status_code: http_response.status,
294
+ body: http_response.env.response_body,
295
+ raw_response: http_response
296
+ ),
297
+ "Unknown content type received"
298
+ )
299
+ end
300
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
301
+ raise(
302
+ ::NoResponse::Models::Errors::APIStatusError.new(
303
+ status_code: http_response.status,
304
+ body: http_response.env.response_body,
305
+ raw_response: http_response
306
+ ),
307
+ "API error occurred"
308
+ )
309
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
310
+ raise(
311
+ ::NoResponse::Models::Errors::APIStatusError.new(
312
+ status_code: http_response.status,
313
+ body: http_response.env.response_body,
314
+ raw_response: http_response
315
+ ),
316
+ "API error occurred"
317
+ )
318
+ else
319
+ raise(
320
+ ::NoResponse::Models::Errors::APIStatusError.new(
321
+ status_code: http_response.status,
322
+ body: http_response.env.response_body,
323
+ raw_response: http_response
324
+ ),
325
+ "Unknown status code received"
326
+ )
327
+
328
+ end
329
+ end
330
+
331
+ sig {
332
+ params(
333
+ workspace_id: ::String,
334
+ kind: Models::Shared::CustomerExportRequestKind,
335
+ environment: Models::Shared::Environment,
336
+ limit: T.nilable(::Integer),
337
+ cursor: T.nilable(::String),
338
+ retries: T.nilable(Utils::RetryConfig),
339
+ timeout_ms: T.nilable(Integer),
340
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
341
+ )
342
+ .returns(Models::Operations::ListCustomerExportsResponse)
343
+ }
344
+ def list(
345
+ workspace_id:,
346
+ kind:,
347
+ environment:,
348
+ limit: nil,
349
+ cursor: nil,
350
+ retries: nil,
351
+ timeout_ms: nil,
352
+ http_headers: nil
353
+ )
354
+ # list - List exports for one collection.
355
+ # List authorised jobs for one kind and environment. Detailed jobs require current detailed-data permission and are filtered before pagination. Keep the kind and environment unchanged when following next_cursor.
356
+ request = Models::Operations::ListCustomerExportsRequest.new(
357
+ workspace_id: workspace_id,
358
+ kind: kind,
359
+ environment: environment,
360
+ limit: limit,
361
+ cursor: cursor
362
+ )
363
+ url, params = @sdk_configuration.get_server_details
364
+ base_url = Utils.template_url(url, params)
365
+ url = Utils.generate_url(
366
+ Models::Operations::ListCustomerExportsRequest,
367
+ base_url,
368
+ "/v1/workspaces/{workspace_id}/exports",
369
+ request
370
+ )
371
+ headers = {}
372
+ headers = T.cast(headers, T::Hash[String, String])
373
+ query_params = Utils.get_query_params(Models::Operations::ListCustomerExportsRequest, request, nil)
374
+ headers["Accept"] = "application/json"
375
+ headers["user-agent"] = @sdk_configuration.user_agent
376
+ retries ||= @sdk_configuration.retry_config
377
+ retries ||= Utils::RetryConfig.new(
378
+ backoff: Utils::BackoffStrategy.new(
379
+ exponent: 2.0,
380
+ initial_interval: 500,
381
+ max_elapsed_time: 30_000,
382
+ max_interval: 8000
383
+ ),
384
+ retry_connection_errors: true,
385
+ strategy: "backoff"
386
+ )
387
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
388
+ retry_options[:retry_statuses] = [408, 429, 500, 501, 502, 503, 504, 505]
389
+
390
+ security = @sdk_configuration.security_source&.call
391
+
392
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
393
+ timeout ||= @sdk_configuration.timeout
394
+
395
+ connection = @sdk_configuration.client.dup
396
+ connection.use(Utils::RetryMiddleware, retry_options)
397
+
398
+ hook_ctx = SDKHooks::HookContext.new(
399
+ config: @sdk_configuration,
400
+ base_url: base_url,
401
+ oauth2_scopes: nil,
402
+ operation_id: "listCustomerExports",
403
+ security_source: @sdk_configuration.security_source
404
+ )
405
+
406
+ error = T.let(nil, T.nilable(StandardError))
407
+ http_response = T.let(nil, T.nilable(Faraday::Response))
408
+
409
+ begin
410
+ http_response = T.must(connection).get(url) do |req|
411
+ req.headers.merge!(headers)
412
+ req.options.timeout = timeout unless timeout.nil?
413
+ req.params = query_params
414
+ Utils.configure_request_security(req, security)
415
+ http_headers&.each do |key, value|
416
+ req.headers[key.to_s] = value
417
+ end
418
+
419
+ @sdk_configuration.hooks.before_request(
420
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
421
+ hook_ctx: hook_ctx
422
+ ),
423
+ request: req
424
+ )
425
+ end
426
+
427
+ rescue StandardError => e
428
+ error = e
429
+ ensure
430
+ if http_response.nil? || Utils.error_status?(http_response.status)
431
+ http_response = @sdk_configuration.hooks.after_error(
432
+ error: error,
433
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
434
+ hook_ctx: hook_ctx
435
+ ),
436
+ response: http_response
437
+ )
438
+ else
439
+ http_response = @sdk_configuration.hooks.after_success(
440
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
441
+ hook_ctx: hook_ctx
442
+ ),
443
+ response: http_response
444
+ )
445
+ end
446
+
447
+ if http_response.nil?
448
+ raise error if !error.nil?
449
+ raise "no response"
450
+ end
451
+ end
452
+
453
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
454
+ if Utils.match_status_code(http_response.status, ["200"])
455
+ if Utils.match_content_type(content_type, "application/json")
456
+ @sdk_configuration.hooks.after_success(
457
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
458
+ hook_ctx: hook_ctx
459
+ ),
460
+ response: http_response
461
+ )
462
+ response_data = http_response.env.response_body
463
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::CustomerExportList)
464
+ result = obj
465
+ response = Models::Operations::ListCustomerExportsResponse.new(
466
+ result: result,
467
+ headers: http_response.headers
468
+ )
469
+ sdk = self
470
+
471
+ response.next_page = proc do
472
+ next_cursor = Janeway.enum_for("$.next_cursor", JSON.parse(response_data)).search
473
+ if next_cursor.nil?
474
+ next nil
475
+ else
476
+ next_cursor = next_cursor[0]
477
+ if next_cursor.nil?
478
+ next nil
479
+ end
480
+ end
481
+
482
+ sdk.list(
483
+ workspace_id: request.workspace_id,
484
+ kind: request.kind,
485
+ environment: request.environment,
486
+ limit: request.limit,
487
+ cursor: next_cursor,
488
+ http_headers: http_headers
489
+ )
490
+ end
491
+
492
+ return response
493
+ else
494
+ raise(
495
+ ::NoResponse::Models::Errors::APIStatusError.new(
496
+ status_code: http_response.status,
497
+ body: http_response.env.response_body,
498
+ raw_response: http_response
499
+ ),
500
+ "Unknown content type received"
501
+ )
502
+ end
503
+ elsif Utils.match_status_code(http_response.status, ["400"])
504
+ if Utils.match_content_type(content_type, "application/problem+json")
505
+ @sdk_configuration.hooks.after_success(
506
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
507
+ hook_ctx: hook_ctx
508
+ ),
509
+ response: http_response
510
+ )
511
+ response_data = http_response.env.response_body
512
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
513
+ raise obj
514
+ else
515
+ raise(
516
+ ::NoResponse::Models::Errors::APIStatusError.new(
517
+ status_code: http_response.status,
518
+ body: http_response.env.response_body,
519
+ raw_response: http_response
520
+ ),
521
+ "Unknown content type received"
522
+ )
523
+ end
524
+ elsif Utils.match_status_code(http_response.status, ["401"])
525
+ if Utils.match_content_type(content_type, "application/problem+json")
526
+ @sdk_configuration.hooks.after_success(
527
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
528
+ hook_ctx: hook_ctx
529
+ ),
530
+ response: http_response
531
+ )
532
+ response_data = http_response.env.response_body
533
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
534
+ raise obj
535
+ else
536
+ raise(
537
+ ::NoResponse::Models::Errors::APIStatusError.new(
538
+ status_code: http_response.status,
539
+ body: http_response.env.response_body,
540
+ raw_response: http_response
541
+ ),
542
+ "Unknown content type received"
543
+ )
544
+ end
545
+ elsif Utils.match_status_code(http_response.status, ["403"])
546
+ if Utils.match_content_type(content_type, "application/problem+json")
547
+ @sdk_configuration.hooks.after_success(
548
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
549
+ hook_ctx: hook_ctx
550
+ ),
551
+ response: http_response
552
+ )
553
+ response_data = http_response.env.response_body
554
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
555
+ raise obj
556
+ else
557
+ raise(
558
+ ::NoResponse::Models::Errors::APIStatusError.new(
559
+ status_code: http_response.status,
560
+ body: http_response.env.response_body,
561
+ raw_response: http_response
562
+ ),
563
+ "Unknown content type received"
564
+ )
565
+ end
566
+ elsif Utils.match_status_code(http_response.status, ["404"])
567
+ if Utils.match_content_type(content_type, "application/problem+json")
568
+ @sdk_configuration.hooks.after_success(
569
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
570
+ hook_ctx: hook_ctx
571
+ ),
572
+ response: http_response
573
+ )
574
+ response_data = http_response.env.response_body
575
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
576
+ raise obj
577
+ else
578
+ raise(
579
+ ::NoResponse::Models::Errors::APIStatusError.new(
580
+ status_code: http_response.status,
581
+ body: http_response.env.response_body,
582
+ raw_response: http_response
583
+ ),
584
+ "Unknown content type received"
585
+ )
586
+ end
587
+ elsif Utils.match_status_code(http_response.status, ["409"])
588
+ if Utils.match_content_type(content_type, "application/problem+json")
589
+ @sdk_configuration.hooks.after_success(
590
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
591
+ hook_ctx: hook_ctx
592
+ ),
593
+ response: http_response
594
+ )
595
+ response_data = http_response.env.response_body
596
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
597
+ raise obj
598
+ else
599
+ raise(
600
+ ::NoResponse::Models::Errors::APIStatusError.new(
601
+ status_code: http_response.status,
602
+ body: http_response.env.response_body,
603
+ raw_response: http_response
604
+ ),
605
+ "Unknown content type received"
606
+ )
607
+ end
608
+ elsif Utils.match_status_code(http_response.status, ["429"])
609
+ if Utils.match_content_type(content_type, "application/problem+json")
610
+ @sdk_configuration.hooks.after_success(
611
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
612
+ hook_ctx: hook_ctx
613
+ ),
614
+ response: http_response
615
+ )
616
+ response_data = http_response.env.response_body
617
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
618
+ raise obj
619
+ else
620
+ raise(
621
+ ::NoResponse::Models::Errors::APIStatusError.new(
622
+ status_code: http_response.status,
623
+ body: http_response.env.response_body,
624
+ raw_response: http_response
625
+ ),
626
+ "Unknown content type received"
627
+ )
628
+ end
629
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
630
+ raise(
631
+ ::NoResponse::Models::Errors::APIStatusError.new(
632
+ status_code: http_response.status,
633
+ body: http_response.env.response_body,
634
+ raw_response: http_response
635
+ ),
636
+ "API error occurred"
637
+ )
638
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
639
+ raise(
640
+ ::NoResponse::Models::Errors::APIStatusError.new(
641
+ status_code: http_response.status,
642
+ body: http_response.env.response_body,
643
+ raw_response: http_response
644
+ ),
645
+ "API error occurred"
646
+ )
647
+ else
648
+ raise(
649
+ ::NoResponse::Models::Errors::APIStatusError.new(
650
+ status_code: http_response.status,
651
+ body: http_response.env.response_body,
652
+ raw_response: http_response
653
+ ),
654
+ "Unknown status code received"
655
+ )
656
+
657
+ end
658
+ end
659
+
660
+ sig {
661
+ params(
662
+ workspace_id: ::String,
663
+ export_id: ::String,
664
+ retries: T.nilable(Utils::RetryConfig),
665
+ timeout_ms: T.nilable(Integer),
666
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
667
+ )
668
+ .returns(Models::Operations::GetCustomerExportResponse)
669
+ }
670
+ def get(workspace_id:, export_id:, retries: nil, timeout_ms: nil, http_headers: nil)
671
+ # get - Read export state and progress.
672
+ # Read the status of an authorised export. Records and bytes describe committed progress in the current generation. Only completed, unexpired artifacts can be downloaded. Source erasure, retention changes and workspace removal can invalidate a job.
673
+ request = Models::Operations::GetCustomerExportRequest.new(
674
+ workspace_id: workspace_id,
675
+ export_id: export_id
676
+ )
677
+ url, params = @sdk_configuration.get_server_details
678
+ base_url = Utils.template_url(url, params)
679
+ url = Utils.generate_url(
680
+ Models::Operations::GetCustomerExportRequest,
681
+ base_url,
682
+ "/v1/workspaces/{workspace_id}/exports/{export_id}",
683
+ request
684
+ )
685
+ headers = {}
686
+ headers = T.cast(headers, T::Hash[String, String])
687
+ headers["Accept"] = "application/json"
688
+ headers["user-agent"] = @sdk_configuration.user_agent
689
+ retries ||= @sdk_configuration.retry_config
690
+ retries ||= Utils::RetryConfig.new(
691
+ backoff: Utils::BackoffStrategy.new(
692
+ exponent: 2.0,
693
+ initial_interval: 500,
694
+ max_elapsed_time: 30_000,
695
+ max_interval: 8000
696
+ ),
697
+ retry_connection_errors: true,
698
+ strategy: "backoff"
699
+ )
700
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
701
+ retry_options[:retry_statuses] = [408, 429, 500, 501, 502, 503, 504, 505]
702
+
703
+ security = @sdk_configuration.security_source&.call
704
+
705
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
706
+ timeout ||= @sdk_configuration.timeout
707
+
708
+ connection = @sdk_configuration.client.dup
709
+ connection.use(Utils::RetryMiddleware, retry_options)
710
+
711
+ hook_ctx = SDKHooks::HookContext.new(
712
+ config: @sdk_configuration,
713
+ base_url: base_url,
714
+ oauth2_scopes: nil,
715
+ operation_id: "getCustomerExport",
716
+ security_source: @sdk_configuration.security_source
717
+ )
718
+
719
+ error = T.let(nil, T.nilable(StandardError))
720
+ http_response = T.let(nil, T.nilable(Faraday::Response))
721
+
722
+ begin
723
+ http_response = T.must(connection).get(url) do |req|
724
+ req.headers.merge!(headers)
725
+ req.options.timeout = timeout unless timeout.nil?
726
+ Utils.configure_request_security(req, security)
727
+ http_headers&.each do |key, value|
728
+ req.headers[key.to_s] = value
729
+ end
730
+
731
+ @sdk_configuration.hooks.before_request(
732
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
733
+ hook_ctx: hook_ctx
734
+ ),
735
+ request: req
736
+ )
737
+ end
738
+
739
+ rescue StandardError => e
740
+ error = e
741
+ ensure
742
+ if http_response.nil? || Utils.error_status?(http_response.status)
743
+ http_response = @sdk_configuration.hooks.after_error(
744
+ error: error,
745
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
746
+ hook_ctx: hook_ctx
747
+ ),
748
+ response: http_response
749
+ )
750
+ else
751
+ http_response = @sdk_configuration.hooks.after_success(
752
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
753
+ hook_ctx: hook_ctx
754
+ ),
755
+ response: http_response
756
+ )
757
+ end
758
+
759
+ if http_response.nil?
760
+ raise error if !error.nil?
761
+ raise "no response"
762
+ end
763
+ end
764
+
765
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
766
+ if Utils.match_status_code(http_response.status, ["200"])
767
+ if Utils.match_content_type(content_type, "application/json")
768
+ @sdk_configuration.hooks.after_success(
769
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
770
+ hook_ctx: hook_ctx
771
+ ),
772
+ response: http_response
773
+ )
774
+ response_data = http_response.env.response_body
775
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::CustomerExport)
776
+ result = obj
777
+ response = Models::Operations::GetCustomerExportResponse.new(
778
+ result: result,
779
+ headers: http_response.headers
780
+ )
781
+
782
+ return response
783
+ else
784
+ raise(
785
+ ::NoResponse::Models::Errors::APIStatusError.new(
786
+ status_code: http_response.status,
787
+ body: http_response.env.response_body,
788
+ raw_response: http_response
789
+ ),
790
+ "Unknown content type received"
791
+ )
792
+ end
793
+ elsif Utils.match_status_code(http_response.status, ["400"])
794
+ if Utils.match_content_type(content_type, "application/problem+json")
795
+ @sdk_configuration.hooks.after_success(
796
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
797
+ hook_ctx: hook_ctx
798
+ ),
799
+ response: http_response
800
+ )
801
+ response_data = http_response.env.response_body
802
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
803
+ raise obj
804
+ else
805
+ raise(
806
+ ::NoResponse::Models::Errors::APIStatusError.new(
807
+ status_code: http_response.status,
808
+ body: http_response.env.response_body,
809
+ raw_response: http_response
810
+ ),
811
+ "Unknown content type received"
812
+ )
813
+ end
814
+ elsif Utils.match_status_code(http_response.status, ["401"])
815
+ if Utils.match_content_type(content_type, "application/problem+json")
816
+ @sdk_configuration.hooks.after_success(
817
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
818
+ hook_ctx: hook_ctx
819
+ ),
820
+ response: http_response
821
+ )
822
+ response_data = http_response.env.response_body
823
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
824
+ raise obj
825
+ else
826
+ raise(
827
+ ::NoResponse::Models::Errors::APIStatusError.new(
828
+ status_code: http_response.status,
829
+ body: http_response.env.response_body,
830
+ raw_response: http_response
831
+ ),
832
+ "Unknown content type received"
833
+ )
834
+ end
835
+ elsif Utils.match_status_code(http_response.status, ["403"])
836
+ if Utils.match_content_type(content_type, "application/problem+json")
837
+ @sdk_configuration.hooks.after_success(
838
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
839
+ hook_ctx: hook_ctx
840
+ ),
841
+ response: http_response
842
+ )
843
+ response_data = http_response.env.response_body
844
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
845
+ raise obj
846
+ else
847
+ raise(
848
+ ::NoResponse::Models::Errors::APIStatusError.new(
849
+ status_code: http_response.status,
850
+ body: http_response.env.response_body,
851
+ raw_response: http_response
852
+ ),
853
+ "Unknown content type received"
854
+ )
855
+ end
856
+ elsif Utils.match_status_code(http_response.status, ["404"])
857
+ if Utils.match_content_type(content_type, "application/problem+json")
858
+ @sdk_configuration.hooks.after_success(
859
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
860
+ hook_ctx: hook_ctx
861
+ ),
862
+ response: http_response
863
+ )
864
+ response_data = http_response.env.response_body
865
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
866
+ raise obj
867
+ else
868
+ raise(
869
+ ::NoResponse::Models::Errors::APIStatusError.new(
870
+ status_code: http_response.status,
871
+ body: http_response.env.response_body,
872
+ raw_response: http_response
873
+ ),
874
+ "Unknown content type received"
875
+ )
876
+ end
877
+ elsif Utils.match_status_code(http_response.status, ["409"])
878
+ if Utils.match_content_type(content_type, "application/problem+json")
879
+ @sdk_configuration.hooks.after_success(
880
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
881
+ hook_ctx: hook_ctx
882
+ ),
883
+ response: http_response
884
+ )
885
+ response_data = http_response.env.response_body
886
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
887
+ raise obj
888
+ else
889
+ raise(
890
+ ::NoResponse::Models::Errors::APIStatusError.new(
891
+ status_code: http_response.status,
892
+ body: http_response.env.response_body,
893
+ raw_response: http_response
894
+ ),
895
+ "Unknown content type received"
896
+ )
897
+ end
898
+ elsif Utils.match_status_code(http_response.status, ["429"])
899
+ if Utils.match_content_type(content_type, "application/problem+json")
900
+ @sdk_configuration.hooks.after_success(
901
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
902
+ hook_ctx: hook_ctx
903
+ ),
904
+ response: http_response
905
+ )
906
+ response_data = http_response.env.response_body
907
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
908
+ raise obj
909
+ else
910
+ raise(
911
+ ::NoResponse::Models::Errors::APIStatusError.new(
912
+ status_code: http_response.status,
913
+ body: http_response.env.response_body,
914
+ raw_response: http_response
915
+ ),
916
+ "Unknown content type received"
917
+ )
918
+ end
919
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
920
+ raise(
921
+ ::NoResponse::Models::Errors::APIStatusError.new(
922
+ status_code: http_response.status,
923
+ body: http_response.env.response_body,
924
+ raw_response: http_response
925
+ ),
926
+ "API error occurred"
927
+ )
928
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
929
+ raise(
930
+ ::NoResponse::Models::Errors::APIStatusError.new(
931
+ status_code: http_response.status,
932
+ body: http_response.env.response_body,
933
+ raw_response: http_response
934
+ ),
935
+ "API error occurred"
936
+ )
937
+ else
938
+ raise(
939
+ ::NoResponse::Models::Errors::APIStatusError.new(
940
+ status_code: http_response.status,
941
+ body: http_response.env.response_body,
942
+ raw_response: http_response
943
+ ),
944
+ "Unknown status code received"
945
+ )
946
+
947
+ end
948
+ end
949
+
950
+ sig {
951
+ params(
952
+ body: Models::Shared::CustomerExportActionRequest,
953
+ workspace_id: ::String,
954
+ export_id: ::String,
955
+ retries: T.nilable(Utils::RetryConfig),
956
+ timeout_ms: T.nilable(Integer),
957
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
958
+ )
959
+ .returns(Models::Operations::CancelCustomerExportResponse)
960
+ }
961
+ def cancel(body:, workspace_id:, export_id:, retries: nil, timeout_ms: nil, http_headers: nil)
962
+ # cancel - Cancel and remove an export artifact.
963
+ # Cancel an export and remove its stored chunks. Repeating cancellation is safe. An already admitted download may finish; bytes already returned cannot be recalled. Send an empty JSON object.
964
+ request = Models::Operations::CancelCustomerExportRequest.new(
965
+ workspace_id: workspace_id,
966
+ export_id: export_id,
967
+ body: body
968
+ )
969
+ url, params = @sdk_configuration.get_server_details
970
+ base_url = Utils.template_url(url, params)
971
+ url = Utils.generate_url(
972
+ Models::Operations::CancelCustomerExportRequest,
973
+ base_url,
974
+ "/v1/workspaces/{workspace_id}/exports/{export_id}/cancel",
975
+ request
976
+ )
977
+ headers = {}
978
+ headers = T.cast(headers, T::Hash[String, String])
979
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
980
+ headers["content-type"] = req_content_type
981
+ raise StandardError, "request body is required" if data.nil? && form.nil?
982
+
983
+ if form && !form.empty?
984
+ body = Utils.encode_form(form)
985
+ elsif Utils.match_content_type(req_content_type, "application/x-www-form-urlencoded")
986
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
987
+ else
988
+ body = data
989
+ end
990
+
991
+ headers["Accept"] = "application/json"
992
+ headers["user-agent"] = @sdk_configuration.user_agent
993
+ retries ||= @sdk_configuration.retry_config
994
+ retries ||= Utils::RetryConfig.new(
995
+ backoff: Utils::BackoffStrategy.new(
996
+ exponent: 2.0,
997
+ initial_interval: 500,
998
+ max_elapsed_time: 30_000,
999
+ max_interval: 8000
1000
+ ),
1001
+ retry_connection_errors: true,
1002
+ strategy: "backoff"
1003
+ )
1004
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1005
+ retry_options[:retry_statuses] = [408, 429, 500, 501, 502, 503, 504, 505]
1006
+
1007
+ security = @sdk_configuration.security_source&.call
1008
+
1009
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1010
+ timeout ||= @sdk_configuration.timeout
1011
+
1012
+ connection = @sdk_configuration.client.dup
1013
+ connection.use(Utils::RetryMiddleware, retry_options)
1014
+
1015
+ hook_ctx = SDKHooks::HookContext.new(
1016
+ config: @sdk_configuration,
1017
+ base_url: base_url,
1018
+ oauth2_scopes: nil,
1019
+ operation_id: "cancelCustomerExport",
1020
+ security_source: @sdk_configuration.security_source
1021
+ )
1022
+
1023
+ error = T.let(nil, T.nilable(StandardError))
1024
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1025
+
1026
+ begin
1027
+ http_response = T.must(connection).post(url) do |req|
1028
+ req.body = body
1029
+ req.headers.merge!(headers)
1030
+ req.options.timeout = timeout unless timeout.nil?
1031
+ Utils.configure_request_security(req, security)
1032
+ http_headers&.each do |key, value|
1033
+ req.headers[key.to_s] = value
1034
+ end
1035
+
1036
+ @sdk_configuration.hooks.before_request(
1037
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1038
+ hook_ctx: hook_ctx
1039
+ ),
1040
+ request: req
1041
+ )
1042
+ end
1043
+
1044
+ rescue StandardError => e
1045
+ error = e
1046
+ ensure
1047
+ if http_response.nil? || Utils.error_status?(http_response.status)
1048
+ http_response = @sdk_configuration.hooks.after_error(
1049
+ error: error,
1050
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1051
+ hook_ctx: hook_ctx
1052
+ ),
1053
+ response: http_response
1054
+ )
1055
+ else
1056
+ http_response = @sdk_configuration.hooks.after_success(
1057
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1058
+ hook_ctx: hook_ctx
1059
+ ),
1060
+ response: http_response
1061
+ )
1062
+ end
1063
+
1064
+ if http_response.nil?
1065
+ raise error if !error.nil?
1066
+ raise "no response"
1067
+ end
1068
+ end
1069
+
1070
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
1071
+ if Utils.match_status_code(http_response.status, ["200"])
1072
+ if Utils.match_content_type(content_type, "application/json")
1073
+ @sdk_configuration.hooks.after_success(
1074
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1075
+ hook_ctx: hook_ctx
1076
+ ),
1077
+ response: http_response
1078
+ )
1079
+ response_data = http_response.env.response_body
1080
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::CustomerExport)
1081
+ result = obj
1082
+ response = Models::Operations::CancelCustomerExportResponse.new(
1083
+ result: result,
1084
+ headers: http_response.headers
1085
+ )
1086
+
1087
+ return response
1088
+ else
1089
+ raise(
1090
+ ::NoResponse::Models::Errors::APIStatusError.new(
1091
+ status_code: http_response.status,
1092
+ body: http_response.env.response_body,
1093
+ raw_response: http_response
1094
+ ),
1095
+ "Unknown content type received"
1096
+ )
1097
+ end
1098
+ elsif Utils.match_status_code(http_response.status, ["400"])
1099
+ if Utils.match_content_type(content_type, "application/problem+json")
1100
+ @sdk_configuration.hooks.after_success(
1101
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1102
+ hook_ctx: hook_ctx
1103
+ ),
1104
+ response: http_response
1105
+ )
1106
+ response_data = http_response.env.response_body
1107
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
1108
+ raise obj
1109
+ else
1110
+ raise(
1111
+ ::NoResponse::Models::Errors::APIStatusError.new(
1112
+ status_code: http_response.status,
1113
+ body: http_response.env.response_body,
1114
+ raw_response: http_response
1115
+ ),
1116
+ "Unknown content type received"
1117
+ )
1118
+ end
1119
+ elsif Utils.match_status_code(http_response.status, ["401"])
1120
+ if Utils.match_content_type(content_type, "application/problem+json")
1121
+ @sdk_configuration.hooks.after_success(
1122
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1123
+ hook_ctx: hook_ctx
1124
+ ),
1125
+ response: http_response
1126
+ )
1127
+ response_data = http_response.env.response_body
1128
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
1129
+ raise obj
1130
+ else
1131
+ raise(
1132
+ ::NoResponse::Models::Errors::APIStatusError.new(
1133
+ status_code: http_response.status,
1134
+ body: http_response.env.response_body,
1135
+ raw_response: http_response
1136
+ ),
1137
+ "Unknown content type received"
1138
+ )
1139
+ end
1140
+ elsif Utils.match_status_code(http_response.status, ["403"])
1141
+ if Utils.match_content_type(content_type, "application/problem+json")
1142
+ @sdk_configuration.hooks.after_success(
1143
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1144
+ hook_ctx: hook_ctx
1145
+ ),
1146
+ response: http_response
1147
+ )
1148
+ response_data = http_response.env.response_body
1149
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
1150
+ raise obj
1151
+ else
1152
+ raise(
1153
+ ::NoResponse::Models::Errors::APIStatusError.new(
1154
+ status_code: http_response.status,
1155
+ body: http_response.env.response_body,
1156
+ raw_response: http_response
1157
+ ),
1158
+ "Unknown content type received"
1159
+ )
1160
+ end
1161
+ elsif Utils.match_status_code(http_response.status, ["404"])
1162
+ if Utils.match_content_type(content_type, "application/problem+json")
1163
+ @sdk_configuration.hooks.after_success(
1164
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1165
+ hook_ctx: hook_ctx
1166
+ ),
1167
+ response: http_response
1168
+ )
1169
+ response_data = http_response.env.response_body
1170
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
1171
+ raise obj
1172
+ else
1173
+ raise(
1174
+ ::NoResponse::Models::Errors::APIStatusError.new(
1175
+ status_code: http_response.status,
1176
+ body: http_response.env.response_body,
1177
+ raw_response: http_response
1178
+ ),
1179
+ "Unknown content type received"
1180
+ )
1181
+ end
1182
+ elsif Utils.match_status_code(http_response.status, ["409"])
1183
+ if Utils.match_content_type(content_type, "application/problem+json")
1184
+ @sdk_configuration.hooks.after_success(
1185
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1186
+ hook_ctx: hook_ctx
1187
+ ),
1188
+ response: http_response
1189
+ )
1190
+ response_data = http_response.env.response_body
1191
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
1192
+ raise obj
1193
+ else
1194
+ raise(
1195
+ ::NoResponse::Models::Errors::APIStatusError.new(
1196
+ status_code: http_response.status,
1197
+ body: http_response.env.response_body,
1198
+ raw_response: http_response
1199
+ ),
1200
+ "Unknown content type received"
1201
+ )
1202
+ end
1203
+ elsif Utils.match_status_code(http_response.status, ["429"])
1204
+ if Utils.match_content_type(content_type, "application/problem+json")
1205
+ @sdk_configuration.hooks.after_success(
1206
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1207
+ hook_ctx: hook_ctx
1208
+ ),
1209
+ response: http_response
1210
+ )
1211
+ response_data = http_response.env.response_body
1212
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
1213
+ raise obj
1214
+ else
1215
+ raise(
1216
+ ::NoResponse::Models::Errors::APIStatusError.new(
1217
+ status_code: http_response.status,
1218
+ body: http_response.env.response_body,
1219
+ raw_response: http_response
1220
+ ),
1221
+ "Unknown content type received"
1222
+ )
1223
+ end
1224
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
1225
+ raise(
1226
+ ::NoResponse::Models::Errors::APIStatusError.new(
1227
+ status_code: http_response.status,
1228
+ body: http_response.env.response_body,
1229
+ raw_response: http_response
1230
+ ),
1231
+ "API error occurred"
1232
+ )
1233
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
1234
+ raise(
1235
+ ::NoResponse::Models::Errors::APIStatusError.new(
1236
+ status_code: http_response.status,
1237
+ body: http_response.env.response_body,
1238
+ raw_response: http_response
1239
+ ),
1240
+ "API error occurred"
1241
+ )
1242
+ else
1243
+ raise(
1244
+ ::NoResponse::Models::Errors::APIStatusError.new(
1245
+ status_code: http_response.status,
1246
+ body: http_response.env.response_body,
1247
+ raw_response: http_response
1248
+ ),
1249
+ "Unknown status code received"
1250
+ )
1251
+
1252
+ end
1253
+ end
1254
+
1255
+ sig {
1256
+ params(
1257
+ body: Models::Shared::CustomerExportActionRequest,
1258
+ workspace_id: ::String,
1259
+ export_id: ::String,
1260
+ timeout_ms: T.nilable(Integer),
1261
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
1262
+ )
1263
+ .returns(Models::Operations::RetryCustomerExportResponse)
1264
+ }
1265
+ def retry(body:, workspace_id:, export_id:, timeout_ms: nil, http_headers: nil)
1266
+ # retry - Retry a failed export.
1267
+ # Start a new generation of a failed export before its original expiry, up to ten generations. The request criteria stay fixed and the new generation takes a fresh source snapshot. Cancelled, erased and expired jobs cannot be retried. Send an empty JSON object.
1268
+ request = Models::Operations::RetryCustomerExportRequest.new(
1269
+ workspace_id: workspace_id,
1270
+ export_id: export_id,
1271
+ body: body
1272
+ )
1273
+ url, params = @sdk_configuration.get_server_details
1274
+ base_url = Utils.template_url(url, params)
1275
+ url = Utils.generate_url(
1276
+ Models::Operations::RetryCustomerExportRequest,
1277
+ base_url,
1278
+ "/v1/workspaces/{workspace_id}/exports/{export_id}/retry",
1279
+ request
1280
+ )
1281
+ headers = {}
1282
+ headers = T.cast(headers, T::Hash[String, String])
1283
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
1284
+ headers["content-type"] = req_content_type
1285
+ raise StandardError, "request body is required" if data.nil? && form.nil?
1286
+
1287
+ if form && !form.empty?
1288
+ body = Utils.encode_form(form)
1289
+ elsif Utils.match_content_type(req_content_type, "application/x-www-form-urlencoded")
1290
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
1291
+ else
1292
+ body = data
1293
+ end
1294
+
1295
+ headers["Accept"] = "application/json"
1296
+ headers["user-agent"] = @sdk_configuration.user_agent
1297
+
1298
+ security = @sdk_configuration.security_source&.call
1299
+
1300
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1301
+ timeout ||= @sdk_configuration.timeout
1302
+
1303
+ connection = @sdk_configuration.client
1304
+
1305
+ hook_ctx = SDKHooks::HookContext.new(
1306
+ config: @sdk_configuration,
1307
+ base_url: base_url,
1308
+ oauth2_scopes: nil,
1309
+ operation_id: "retryCustomerExport",
1310
+ security_source: @sdk_configuration.security_source
1311
+ )
1312
+
1313
+ error = T.let(nil, T.nilable(StandardError))
1314
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1315
+
1316
+ begin
1317
+ http_response = T.must(connection).post(url) do |req|
1318
+ req.body = body
1319
+ req.headers.merge!(headers)
1320
+ req.options.timeout = timeout unless timeout.nil?
1321
+ Utils.configure_request_security(req, security)
1322
+ http_headers&.each do |key, value|
1323
+ req.headers[key.to_s] = value
1324
+ end
1325
+
1326
+ @sdk_configuration.hooks.before_request(
1327
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1328
+ hook_ctx: hook_ctx
1329
+ ),
1330
+ request: req
1331
+ )
1332
+ end
1333
+
1334
+ rescue StandardError => e
1335
+ error = e
1336
+ ensure
1337
+ if http_response.nil? || Utils.error_status?(http_response.status)
1338
+ http_response = @sdk_configuration.hooks.after_error(
1339
+ error: error,
1340
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1341
+ hook_ctx: hook_ctx
1342
+ ),
1343
+ response: http_response
1344
+ )
1345
+ else
1346
+ http_response = @sdk_configuration.hooks.after_success(
1347
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1348
+ hook_ctx: hook_ctx
1349
+ ),
1350
+ response: http_response
1351
+ )
1352
+ end
1353
+
1354
+ if http_response.nil?
1355
+ raise error if !error.nil?
1356
+ raise "no response"
1357
+ end
1358
+ end
1359
+
1360
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
1361
+ if Utils.match_status_code(http_response.status, ["202"])
1362
+ if Utils.match_content_type(content_type, "application/json")
1363
+ @sdk_configuration.hooks.after_success(
1364
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1365
+ hook_ctx: hook_ctx
1366
+ ),
1367
+ response: http_response
1368
+ )
1369
+ response_data = http_response.env.response_body
1370
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::CustomerExport)
1371
+ result = obj
1372
+ response = Models::Operations::RetryCustomerExportResponse.new(
1373
+ result: result,
1374
+ headers: http_response.headers
1375
+ )
1376
+
1377
+ return response
1378
+ else
1379
+ raise(
1380
+ ::NoResponse::Models::Errors::APIStatusError.new(
1381
+ status_code: http_response.status,
1382
+ body: http_response.env.response_body,
1383
+ raw_response: http_response
1384
+ ),
1385
+ "Unknown content type received"
1386
+ )
1387
+ end
1388
+ elsif Utils.match_status_code(http_response.status, ["400"])
1389
+ if Utils.match_content_type(content_type, "application/problem+json")
1390
+ @sdk_configuration.hooks.after_success(
1391
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1392
+ hook_ctx: hook_ctx
1393
+ ),
1394
+ response: http_response
1395
+ )
1396
+ response_data = http_response.env.response_body
1397
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
1398
+ raise obj
1399
+ else
1400
+ raise(
1401
+ ::NoResponse::Models::Errors::APIStatusError.new(
1402
+ status_code: http_response.status,
1403
+ body: http_response.env.response_body,
1404
+ raw_response: http_response
1405
+ ),
1406
+ "Unknown content type received"
1407
+ )
1408
+ end
1409
+ elsif Utils.match_status_code(http_response.status, ["401"])
1410
+ if Utils.match_content_type(content_type, "application/problem+json")
1411
+ @sdk_configuration.hooks.after_success(
1412
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1413
+ hook_ctx: hook_ctx
1414
+ ),
1415
+ response: http_response
1416
+ )
1417
+ response_data = http_response.env.response_body
1418
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
1419
+ raise obj
1420
+ else
1421
+ raise(
1422
+ ::NoResponse::Models::Errors::APIStatusError.new(
1423
+ status_code: http_response.status,
1424
+ body: http_response.env.response_body,
1425
+ raw_response: http_response
1426
+ ),
1427
+ "Unknown content type received"
1428
+ )
1429
+ end
1430
+ elsif Utils.match_status_code(http_response.status, ["403"])
1431
+ if Utils.match_content_type(content_type, "application/problem+json")
1432
+ @sdk_configuration.hooks.after_success(
1433
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1434
+ hook_ctx: hook_ctx
1435
+ ),
1436
+ response: http_response
1437
+ )
1438
+ response_data = http_response.env.response_body
1439
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
1440
+ raise obj
1441
+ else
1442
+ raise(
1443
+ ::NoResponse::Models::Errors::APIStatusError.new(
1444
+ status_code: http_response.status,
1445
+ body: http_response.env.response_body,
1446
+ raw_response: http_response
1447
+ ),
1448
+ "Unknown content type received"
1449
+ )
1450
+ end
1451
+ elsif Utils.match_status_code(http_response.status, ["404"])
1452
+ if Utils.match_content_type(content_type, "application/problem+json")
1453
+ @sdk_configuration.hooks.after_success(
1454
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1455
+ hook_ctx: hook_ctx
1456
+ ),
1457
+ response: http_response
1458
+ )
1459
+ response_data = http_response.env.response_body
1460
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
1461
+ raise obj
1462
+ else
1463
+ raise(
1464
+ ::NoResponse::Models::Errors::APIStatusError.new(
1465
+ status_code: http_response.status,
1466
+ body: http_response.env.response_body,
1467
+ raw_response: http_response
1468
+ ),
1469
+ "Unknown content type received"
1470
+ )
1471
+ end
1472
+ elsif Utils.match_status_code(http_response.status, ["409"])
1473
+ if Utils.match_content_type(content_type, "application/problem+json")
1474
+ @sdk_configuration.hooks.after_success(
1475
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1476
+ hook_ctx: hook_ctx
1477
+ ),
1478
+ response: http_response
1479
+ )
1480
+ response_data = http_response.env.response_body
1481
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
1482
+ raise obj
1483
+ else
1484
+ raise(
1485
+ ::NoResponse::Models::Errors::APIStatusError.new(
1486
+ status_code: http_response.status,
1487
+ body: http_response.env.response_body,
1488
+ raw_response: http_response
1489
+ ),
1490
+ "Unknown content type received"
1491
+ )
1492
+ end
1493
+ elsif Utils.match_status_code(http_response.status, ["429"])
1494
+ if Utils.match_content_type(content_type, "application/problem+json")
1495
+ @sdk_configuration.hooks.after_success(
1496
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1497
+ hook_ctx: hook_ctx
1498
+ ),
1499
+ response: http_response
1500
+ )
1501
+ response_data = http_response.env.response_body
1502
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
1503
+ raise obj
1504
+ else
1505
+ raise(
1506
+ ::NoResponse::Models::Errors::APIStatusError.new(
1507
+ status_code: http_response.status,
1508
+ body: http_response.env.response_body,
1509
+ raw_response: http_response
1510
+ ),
1511
+ "Unknown content type received"
1512
+ )
1513
+ end
1514
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
1515
+ raise(
1516
+ ::NoResponse::Models::Errors::APIStatusError.new(
1517
+ status_code: http_response.status,
1518
+ body: http_response.env.response_body,
1519
+ raw_response: http_response
1520
+ ),
1521
+ "API error occurred"
1522
+ )
1523
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
1524
+ raise(
1525
+ ::NoResponse::Models::Errors::APIStatusError.new(
1526
+ status_code: http_response.status,
1527
+ body: http_response.env.response_body,
1528
+ raw_response: http_response
1529
+ ),
1530
+ "API error occurred"
1531
+ )
1532
+ else
1533
+ raise(
1534
+ ::NoResponse::Models::Errors::APIStatusError.new(
1535
+ status_code: http_response.status,
1536
+ body: http_response.env.response_body,
1537
+ raw_response: http_response
1538
+ ),
1539
+ "Unknown status code received"
1540
+ )
1541
+
1542
+ end
1543
+ end
1544
+
1545
+ sig {
1546
+ params(
1547
+ workspace_id: ::String,
1548
+ export_id: ::String,
1549
+ chunk_index: ::Integer,
1550
+ retries: T.nilable(Utils::RetryConfig),
1551
+ timeout_ms: T.nilable(Integer),
1552
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
1553
+ )
1554
+ .returns(Models::Operations::DownloadCustomerExportChunkResponse)
1555
+ }
1556
+ def download_chunk(workspace_id:, export_id:, chunk_index:, retries: nil, timeout_ms: nil, http_headers: nil)
1557
+ # download_chunk - Download one authorized export chunk.
1558
+ # Download one chunk of a completed, unexpired export after a fresh permission and privacy check. The response contains base64-encoded JSON Lines, a SHA-256, generation and next index. Decode and concatenate chunks in order from one generation. Audit storage failure withholds the bytes.
1559
+ request = Models::Operations::DownloadCustomerExportChunkRequest.new(
1560
+ workspace_id: workspace_id,
1561
+ export_id: export_id,
1562
+ chunk_index: chunk_index
1563
+ )
1564
+ url, params = @sdk_configuration.get_server_details
1565
+ base_url = Utils.template_url(url, params)
1566
+ url = Utils.generate_url(
1567
+ Models::Operations::DownloadCustomerExportChunkRequest,
1568
+ base_url,
1569
+ "/v1/workspaces/{workspace_id}/exports/{export_id}/chunks/{chunk_index}",
1570
+ request
1571
+ )
1572
+ headers = {}
1573
+ headers = T.cast(headers, T::Hash[String, String])
1574
+ headers["Accept"] = "application/json"
1575
+ headers["user-agent"] = @sdk_configuration.user_agent
1576
+ retries ||= @sdk_configuration.retry_config
1577
+ retries ||= Utils::RetryConfig.new(
1578
+ backoff: Utils::BackoffStrategy.new(
1579
+ exponent: 2.0,
1580
+ initial_interval: 500,
1581
+ max_elapsed_time: 30_000,
1582
+ max_interval: 8000
1583
+ ),
1584
+ retry_connection_errors: true,
1585
+ strategy: "backoff"
1586
+ )
1587
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1588
+ retry_options[:retry_statuses] = [408, 429, 500, 501, 502, 503, 504, 505]
1589
+
1590
+ security = @sdk_configuration.security_source&.call
1591
+
1592
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1593
+ timeout ||= @sdk_configuration.timeout
1594
+
1595
+ connection = @sdk_configuration.client.dup
1596
+ connection.use(Utils::RetryMiddleware, retry_options)
1597
+
1598
+ hook_ctx = SDKHooks::HookContext.new(
1599
+ config: @sdk_configuration,
1600
+ base_url: base_url,
1601
+ oauth2_scopes: nil,
1602
+ operation_id: "downloadCustomerExportChunk",
1603
+ security_source: @sdk_configuration.security_source
1604
+ )
1605
+
1606
+ error = T.let(nil, T.nilable(StandardError))
1607
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1608
+
1609
+ begin
1610
+ http_response = T.must(connection).get(url) do |req|
1611
+ req.headers.merge!(headers)
1612
+ req.options.timeout = timeout unless timeout.nil?
1613
+ Utils.configure_request_security(req, security)
1614
+ http_headers&.each do |key, value|
1615
+ req.headers[key.to_s] = value
1616
+ end
1617
+
1618
+ @sdk_configuration.hooks.before_request(
1619
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1620
+ hook_ctx: hook_ctx
1621
+ ),
1622
+ request: req
1623
+ )
1624
+ end
1625
+
1626
+ rescue StandardError => e
1627
+ error = e
1628
+ ensure
1629
+ if http_response.nil? || Utils.error_status?(http_response.status)
1630
+ http_response = @sdk_configuration.hooks.after_error(
1631
+ error: error,
1632
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1633
+ hook_ctx: hook_ctx
1634
+ ),
1635
+ response: http_response
1636
+ )
1637
+ else
1638
+ http_response = @sdk_configuration.hooks.after_success(
1639
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1640
+ hook_ctx: hook_ctx
1641
+ ),
1642
+ response: http_response
1643
+ )
1644
+ end
1645
+
1646
+ if http_response.nil?
1647
+ raise error if !error.nil?
1648
+ raise "no response"
1649
+ end
1650
+ end
1651
+
1652
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
1653
+ if Utils.match_status_code(http_response.status, ["200"])
1654
+ if Utils.match_content_type(content_type, "application/json")
1655
+ @sdk_configuration.hooks.after_success(
1656
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1657
+ hook_ctx: hook_ctx
1658
+ ),
1659
+ response: http_response
1660
+ )
1661
+ response_data = http_response.env.response_body
1662
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::CustomerExportChunk)
1663
+ result = obj
1664
+ response = Models::Operations::DownloadCustomerExportChunkResponse.new(
1665
+ result: result,
1666
+ headers: http_response.headers
1667
+ )
1668
+
1669
+ return response
1670
+ else
1671
+ raise(
1672
+ ::NoResponse::Models::Errors::APIStatusError.new(
1673
+ status_code: http_response.status,
1674
+ body: http_response.env.response_body,
1675
+ raw_response: http_response
1676
+ ),
1677
+ "Unknown content type received"
1678
+ )
1679
+ end
1680
+ elsif Utils.match_status_code(http_response.status, ["400"])
1681
+ if Utils.match_content_type(content_type, "application/problem+json")
1682
+ @sdk_configuration.hooks.after_success(
1683
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1684
+ hook_ctx: hook_ctx
1685
+ ),
1686
+ response: http_response
1687
+ )
1688
+ response_data = http_response.env.response_body
1689
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
1690
+ raise obj
1691
+ else
1692
+ raise(
1693
+ ::NoResponse::Models::Errors::APIStatusError.new(
1694
+ status_code: http_response.status,
1695
+ body: http_response.env.response_body,
1696
+ raw_response: http_response
1697
+ ),
1698
+ "Unknown content type received"
1699
+ )
1700
+ end
1701
+ elsif Utils.match_status_code(http_response.status, ["401"])
1702
+ if Utils.match_content_type(content_type, "application/problem+json")
1703
+ @sdk_configuration.hooks.after_success(
1704
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1705
+ hook_ctx: hook_ctx
1706
+ ),
1707
+ response: http_response
1708
+ )
1709
+ response_data = http_response.env.response_body
1710
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
1711
+ raise obj
1712
+ else
1713
+ raise(
1714
+ ::NoResponse::Models::Errors::APIStatusError.new(
1715
+ status_code: http_response.status,
1716
+ body: http_response.env.response_body,
1717
+ raw_response: http_response
1718
+ ),
1719
+ "Unknown content type received"
1720
+ )
1721
+ end
1722
+ elsif Utils.match_status_code(http_response.status, ["403"])
1723
+ if Utils.match_content_type(content_type, "application/problem+json")
1724
+ @sdk_configuration.hooks.after_success(
1725
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1726
+ hook_ctx: hook_ctx
1727
+ ),
1728
+ response: http_response
1729
+ )
1730
+ response_data = http_response.env.response_body
1731
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
1732
+ raise obj
1733
+ else
1734
+ raise(
1735
+ ::NoResponse::Models::Errors::APIStatusError.new(
1736
+ status_code: http_response.status,
1737
+ body: http_response.env.response_body,
1738
+ raw_response: http_response
1739
+ ),
1740
+ "Unknown content type received"
1741
+ )
1742
+ end
1743
+ elsif Utils.match_status_code(http_response.status, ["404"])
1744
+ if Utils.match_content_type(content_type, "application/problem+json")
1745
+ @sdk_configuration.hooks.after_success(
1746
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1747
+ hook_ctx: hook_ctx
1748
+ ),
1749
+ response: http_response
1750
+ )
1751
+ response_data = http_response.env.response_body
1752
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
1753
+ raise obj
1754
+ else
1755
+ raise(
1756
+ ::NoResponse::Models::Errors::APIStatusError.new(
1757
+ status_code: http_response.status,
1758
+ body: http_response.env.response_body,
1759
+ raw_response: http_response
1760
+ ),
1761
+ "Unknown content type received"
1762
+ )
1763
+ end
1764
+ elsif Utils.match_status_code(http_response.status, ["409"])
1765
+ if Utils.match_content_type(content_type, "application/problem+json")
1766
+ @sdk_configuration.hooks.after_success(
1767
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1768
+ hook_ctx: hook_ctx
1769
+ ),
1770
+ response: http_response
1771
+ )
1772
+ response_data = http_response.env.response_body
1773
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
1774
+ raise obj
1775
+ else
1776
+ raise(
1777
+ ::NoResponse::Models::Errors::APIStatusError.new(
1778
+ status_code: http_response.status,
1779
+ body: http_response.env.response_body,
1780
+ raw_response: http_response
1781
+ ),
1782
+ "Unknown content type received"
1783
+ )
1784
+ end
1785
+ elsif Utils.match_status_code(http_response.status, ["429"])
1786
+ if Utils.match_content_type(content_type, "application/problem+json")
1787
+ @sdk_configuration.hooks.after_success(
1788
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1789
+ hook_ctx: hook_ctx
1790
+ ),
1791
+ response: http_response
1792
+ )
1793
+ response_data = http_response.env.response_body
1794
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
1795
+ raise obj
1796
+ else
1797
+ raise(
1798
+ ::NoResponse::Models::Errors::APIStatusError.new(
1799
+ status_code: http_response.status,
1800
+ body: http_response.env.response_body,
1801
+ raw_response: http_response
1802
+ ),
1803
+ "Unknown content type received"
1804
+ )
1805
+ end
1806
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
1807
+ raise(
1808
+ ::NoResponse::Models::Errors::APIStatusError.new(
1809
+ status_code: http_response.status,
1810
+ body: http_response.env.response_body,
1811
+ raw_response: http_response
1812
+ ),
1813
+ "API error occurred"
1814
+ )
1815
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
1816
+ raise(
1817
+ ::NoResponse::Models::Errors::APIStatusError.new(
1818
+ status_code: http_response.status,
1819
+ body: http_response.env.response_body,
1820
+ raw_response: http_response
1821
+ ),
1822
+ "API error occurred"
1823
+ )
1824
+ else
1825
+ raise(
1826
+ ::NoResponse::Models::Errors::APIStatusError.new(
1827
+ status_code: http_response.status,
1828
+ body: http_response.env.response_body,
1829
+ raw_response: http_response
1830
+ ),
1831
+ "Unknown status code received"
1832
+ )
1833
+
1834
+ end
1835
+ end
1836
+ end
1837
+ end