noresponse 8.4.1 → 9.0.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 (568) 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/cost.rb +48 -0
  296. data/lib/no_response/models/shared/cost.rbi +32 -0
  297. data/lib/no_response/models/shared/coverage.rb +40 -0
  298. data/lib/no_response/models/shared/coverage.rbi +20 -0
  299. data/lib/no_response/models/shared/customerexport.rb +209 -0
  300. data/lib/no_response/models/shared/customerexport.rbi +104 -0
  301. data/lib/no_response/models/shared/customerexportactionrequest.rb +23 -0
  302. data/lib/no_response/models/shared/customerexportactionrequest.rbi +9 -0
  303. data/lib/no_response/models/shared/customerexportchunk.rb +78 -0
  304. data/lib/no_response/models/shared/customerexportchunk.rbi +44 -0
  305. data/lib/no_response/models/shared/customerexportlist.rb +40 -0
  306. data/lib/no_response/models/shared/customerexportlist.rbi +20 -0
  307. data/lib/no_response/models/shared/customerexportrequest.rb +90 -0
  308. data/lib/no_response/models/shared/customerexportrequest.rbi +38 -0
  309. data/lib/no_response/models/shared/customerexportrequestfilter.rb +122 -0
  310. data/lib/no_response/models/shared/customerexportrequestfilter.rbi +56 -0
  311. data/lib/no_response/models/shared/customerexportrequestfilteroutcome.rb +19 -0
  312. data/lib/no_response/models/shared/customerexportrequestfilteroutcome.rbi +9 -0
  313. data/lib/no_response/models/shared/customerexportrequestkind.rb +19 -0
  314. data/lib/no_response/models/shared/customerexportrequestkind.rbi +9 -0
  315. data/lib/no_response/models/shared/customerexportstatus.rb +23 -0
  316. data/lib/no_response/models/shared/customerexportstatus.rbi +9 -0
  317. data/lib/no_response/models/shared/enforcements.rb +93 -0
  318. data/lib/no_response/models/shared/enforcements.rbi +44 -0
  319. data/lib/no_response/models/shared/environment.rb +6 -2
  320. data/lib/no_response/models/shared/erasurereceipt.rb +118 -0
  321. data/lib/no_response/models/shared/erasurereceipt.rbi +56 -0
  322. data/lib/no_response/models/shared/erasurereceiptkind.rb +20 -0
  323. data/lib/no_response/models/shared/erasurereceiptkind.rbi +9 -0
  324. data/lib/no_response/models/shared/erasurereceipttarget.rb +67 -0
  325. data/lib/no_response/models/shared/erasurereceipttarget.rbi +26 -0
  326. data/lib/no_response/models/shared/erasurereceipttargetname.rb +21 -0
  327. data/lib/no_response/models/shared/erasurereceipttargetname.rbi +9 -0
  328. data/lib/no_response/models/shared/erasurereceipttargetstatus.rb +19 -0
  329. data/lib/no_response/models/shared/erasurereceipttargetstatus.rbi +9 -0
  330. data/lib/no_response/models/shared/exclusion.rb +1 -0
  331. data/lib/no_response/models/shared/export.rb +73 -0
  332. data/lib/no_response/models/shared/export.rbi +38 -0
  333. data/lib/no_response/models/shared/filter.rb +83 -0
  334. data/lib/no_response/models/shared/filter.rbi +38 -0
  335. data/lib/no_response/models/shared/flowchange.rb +4 -4
  336. data/lib/no_response/models/shared/flowsettings.rb +4 -4
  337. data/lib/no_response/models/shared/from.rb +22 -0
  338. data/lib/no_response/models/shared/from.rbi +9 -0
  339. data/lib/no_response/models/shared/impact.rb +1 -1
  340. data/lib/no_response/models/shared/invite.rb +152 -0
  341. data/lib/no_response/models/shared/invite.rbi +80 -0
  342. data/lib/no_response/models/shared/invite_denied_action.rb +20 -0
  343. data/lib/no_response/models/shared/invite_denied_action.rbi +9 -0
  344. data/lib/no_response/models/shared/invite_environment.rb +19 -0
  345. data/lib/no_response/models/shared/invite_environment.rbi +9 -0
  346. data/lib/no_response/models/shared/invitelist.rb +32 -0
  347. data/lib/no_response/models/shared/invitelist.rbi +14 -0
  348. data/lib/no_response/models/shared/inviterequest.rb +80 -0
  349. data/lib/no_response/models/shared/inviterequest.rbi +38 -0
  350. data/lib/no_response/models/shared/inviterequest_denied_action.rb +17 -0
  351. data/lib/no_response/models/shared/inviterequest_denied_action.rbi +9 -0
  352. data/lib/no_response/models/shared/inviterequest_environment.rb +16 -0
  353. data/lib/no_response/models/shared/inviterequest_environment.rbi +9 -0
  354. data/lib/no_response/models/shared/inviteresendrequest.rb +23 -0
  355. data/lib/no_response/models/shared/inviteresendrequest.rbi +9 -0
  356. data/lib/no_response/models/shared/key.rb +68 -3
  357. data/lib/no_response/models/shared/key.rbi +36 -0
  358. data/lib/no_response/models/shared/key_scope.rb +10 -0
  359. data/lib/no_response/models/shared/keyactor.rb +41 -0
  360. data/lib/no_response/models/shared/keyactor.rbi +20 -0
  361. data/lib/no_response/models/shared/keykind.rb +19 -0
  362. data/lib/no_response/models/shared/keykind.rbi +9 -0
  363. data/lib/no_response/models/shared/keyrequest.rb +57 -3
  364. data/lib/no_response/models/shared/keyrequest.rbi +30 -0
  365. data/lib/no_response/models/shared/keyrequest_scope.rb +10 -0
  366. data/lib/no_response/models/shared/listbulkrequest.rb +42 -0
  367. data/lib/no_response/models/shared/listbulkrequest.rbi +20 -0
  368. data/lib/no_response/models/shared/listchange.rb +98 -0
  369. data/lib/no_response/models/shared/listchange.rbi +50 -0
  370. data/lib/no_response/models/shared/listchangestate.rb +19 -0
  371. data/lib/no_response/models/shared/listchangestate.rbi +9 -0
  372. data/lib/no_response/models/shared/listentry.rb +22 -2
  373. data/lib/no_response/models/shared/listentry.rbi +6 -0
  374. data/lib/no_response/models/shared/listentrylist.rb +11 -3
  375. data/lib/no_response/models/shared/listentrylist.rbi +6 -0
  376. data/lib/no_response/models/shared/listentryrequest.rb +11 -2
  377. data/lib/no_response/models/shared/listentryrequest.rbi +6 -0
  378. data/lib/no_response/models/shared/listimpact.rb +154 -0
  379. data/lib/no_response/models/shared/listimpact.rbi +68 -0
  380. data/lib/no_response/models/shared/listimpactkind.rb +19 -0
  381. data/lib/no_response/models/shared/listimpactkind.rbi +9 -0
  382. data/lib/no_response/models/shared/listimpacttransition.rb +67 -0
  383. data/lib/no_response/models/shared/listimpacttransition.rbi +26 -0
  384. data/lib/no_response/models/shared/listimpacttransitionfrom.rb +20 -0
  385. data/lib/no_response/models/shared/listimpacttransitionfrom.rbi +9 -0
  386. data/lib/no_response/models/shared/listmatch.rb +4 -6
  387. data/lib/no_response/models/shared/listpreviewrequest.rb +41 -0
  388. data/lib/no_response/models/shared/listpreviewrequest.rbi +20 -0
  389. data/lib/no_response/models/shared/member.rb +158 -0
  390. data/lib/no_response/models/shared/member.rbi +80 -0
  391. data/lib/no_response/models/shared/member_denied_action.rb +20 -0
  392. data/lib/no_response/models/shared/member_denied_action.rbi +9 -0
  393. data/lib/no_response/models/shared/member_environment.rb +19 -0
  394. data/lib/no_response/models/shared/member_environment.rbi +9 -0
  395. data/lib/no_response/models/shared/memberlist.rb +32 -0
  396. data/lib/no_response/models/shared/memberlist.rbi +14 -0
  397. data/lib/no_response/models/shared/memberstatus.rb +18 -0
  398. data/lib/no_response/models/shared/memberstatus.rbi +9 -0
  399. data/lib/no_response/models/shared/memberupdaterequest.rb +62 -0
  400. data/lib/no_response/models/shared/memberupdaterequest.rbi +26 -0
  401. data/lib/no_response/models/shared/memberupdaterequest_denied_action.rb +17 -0
  402. data/lib/no_response/models/shared/memberupdaterequest_denied_action.rbi +9 -0
  403. data/lib/no_response/models/shared/memberupdaterequest_environment.rb +16 -0
  404. data/lib/no_response/models/shared/memberupdaterequest_environment.rbi +9 -0
  405. data/lib/no_response/models/shared/metric.rb +20 -0
  406. data/lib/no_response/models/shared/metric.rbi +9 -0
  407. data/lib/no_response/models/shared/operationalaggregate.rb +175 -0
  408. data/lib/no_response/models/shared/operationalaggregate.rbi +86 -0
  409. data/lib/no_response/models/shared/operationalaggregatebucket.rb +149 -0
  410. data/lib/no_response/models/shared/operationalaggregatebucket.rbi +80 -0
  411. data/lib/no_response/models/shared/operationalaggregatequeue.rb +64 -0
  412. data/lib/no_response/models/shared/operationalaggregatequeue.rbi +32 -0
  413. data/lib/no_response/models/shared/operationalaggregatetotals.rb +139 -0
  414. data/lib/no_response/models/shared/operationalaggregatetotals.rbi +74 -0
  415. data/lib/no_response/models/shared/outcomes.rb +93 -0
  416. data/lib/no_response/models/shared/outcomes.rbi +44 -0
  417. data/lib/no_response/models/shared/outcomesbyoutcome.rb +89 -0
  418. data/lib/no_response/models/shared/outcomesbyoutcome.rbi +44 -0
  419. data/lib/no_response/models/shared/ownertype.rb +19 -0
  420. data/lib/no_response/models/shared/ownertype.rbi +9 -0
  421. data/lib/no_response/models/shared/policyevaluation.rb +256 -0
  422. data/lib/no_response/models/shared/policyevaluation.rbi +134 -0
  423. data/lib/no_response/models/shared/policyevaluationcancelrequest.rb +23 -0
  424. data/lib/no_response/models/shared/policyevaluationcancelrequest.rbi +9 -0
  425. data/lib/no_response/models/shared/policyevaluationlist.rb +40 -0
  426. data/lib/no_response/models/shared/policyevaluationlist.rbi +20 -0
  427. data/lib/no_response/models/shared/policyevaluationpublishrequest.rb +89 -0
  428. data/lib/no_response/models/shared/policyevaluationpublishrequest.rbi +44 -0
  429. data/lib/no_response/models/shared/policyevaluationrequest.rb +101 -0
  430. data/lib/no_response/models/shared/policyevaluationrequest.rbi +56 -0
  431. data/lib/no_response/models/shared/policyevaluationrequestcosts.rb +40 -0
  432. data/lib/no_response/models/shared/policyevaluationrequestcosts.rbi +20 -0
  433. data/lib/no_response/models/shared/policyevaluationrequestlimits.rb +59 -0
  434. data/lib/no_response/models/shared/policyevaluationrequestlimits.rbi +32 -0
  435. data/lib/no_response/models/shared/policyevaluationresult.rb +40 -0
  436. data/lib/no_response/models/shared/policyevaluationresult.rbi +20 -0
  437. data/lib/no_response/models/shared/policyevaluationstatus.rb +22 -0
  438. data/lib/no_response/models/shared/policyevaluationstatus.rbi +9 -0
  439. data/lib/no_response/models/shared/policyhistory.rb +64 -0
  440. data/lib/no_response/models/shared/policyhistory.rbi +32 -0
  441. data/lib/no_response/models/shared/policyhistoryitem.rb +74 -0
  442. data/lib/no_response/models/shared/policyhistoryitem.rbi +38 -0
  443. data/lib/no_response/models/shared/policypreview.rb +115 -0
  444. data/lib/no_response/models/shared/policypreview.rbi +62 -0
  445. data/lib/no_response/models/shared/policypreviewcoverage.rb +108 -0
  446. data/lib/no_response/models/shared/policypreviewcoverage.rbi +50 -0
  447. data/lib/no_response/models/shared/policypreviewrequest.rb +65 -0
  448. data/lib/no_response/models/shared/policypreviewrequest.rbi +38 -0
  449. data/lib/no_response/models/shared/policypreviewrequestflows.rb +55 -0
  450. data/lib/no_response/models/shared/policypreviewrequestflows.rbi +26 -0
  451. data/lib/no_response/models/shared/policypreviewrequestflowsaccountcreation.rb +48 -0
  452. data/lib/no_response/models/shared/policypreviewrequestflowsaccountcreation.rbi +26 -0
  453. data/lib/no_response/models/shared/policypreviewrequestflowslogin.rb +64 -0
  454. data/lib/no_response/models/shared/policypreviewrequestflowslogin.rbi +32 -0
  455. data/lib/no_response/models/shared/policypreviewrequestflowspurchase.rb +64 -0
  456. data/lib/no_response/models/shared/policypreviewrequestflowspurchase.rbi +32 -0
  457. data/lib/no_response/models/shared/policypreviewtransition.rb +60 -0
  458. data/lib/no_response/models/shared/policypreviewtransition.rbi +26 -0
  459. data/lib/no_response/models/shared/policyrestorerequest.rb +48 -0
  460. data/lib/no_response/models/shared/policyrestorerequest.rbi +26 -0
  461. data/lib/no_response/models/shared/population.rb +19 -0
  462. data/lib/no_response/models/shared/population.rbi +9 -0
  463. data/lib/no_response/models/shared/priority.rb +21 -0
  464. data/lib/no_response/models/shared/priority.rbi +9 -0
  465. data/lib/no_response/models/shared/publication.rb +133 -0
  466. data/lib/no_response/models/shared/publication.rbi +68 -0
  467. data/lib/no_response/models/shared/ratelimiterrorcode.rb +2 -0
  468. data/lib/no_response/models/shared/report.rb +99 -0
  469. data/lib/no_response/models/shared/report.rbi +44 -0
  470. data/lib/no_response/models/shared/report_scope.rb +23 -0
  471. data/lib/no_response/models/shared/report_scope.rbi +9 -0
  472. data/lib/no_response/models/shared/requestaggregaterequest.rb +79 -0
  473. data/lib/no_response/models/shared/requestaggregaterequest.rbi +44 -0
  474. data/lib/no_response/models/shared/requestaggregaterequestbucket.rb +19 -0
  475. data/lib/no_response/models/shared/requestaggregaterequestbucket.rbi +9 -0
  476. data/lib/no_response/models/shared/requestdiagnostic.rb +12 -2
  477. data/lib/no_response/models/shared/requestdiagnostic.rbi +6 -0
  478. data/lib/no_response/models/shared/resolution.rb +111 -0
  479. data/lib/no_response/models/shared/resolution.rbi +56 -0
  480. data/lib/no_response/models/shared/resultstatus.rb +19 -0
  481. data/lib/no_response/models/shared/resultstatus.rbi +9 -0
  482. data/lib/no_response/models/shared/review.rb +187 -0
  483. data/lib/no_response/models/shared/review.rbi +98 -0
  484. data/lib/no_response/models/shared/reviewcomment.rb +59 -0
  485. data/lib/no_response/models/shared/reviewcomment.rbi +38 -0
  486. data/lib/no_response/models/shared/reviewcommentlist.rb +40 -0
  487. data/lib/no_response/models/shared/reviewcommentlist.rbi +20 -0
  488. data/lib/no_response/models/shared/reviewcommentrequest.rb +36 -0
  489. data/lib/no_response/models/shared/reviewcommentrequest.rbi +20 -0
  490. data/lib/no_response/models/shared/reviewcreaterequest.rb +57 -0
  491. data/lib/no_response/models/shared/reviewcreaterequest.rbi +26 -0
  492. data/lib/no_response/models/shared/reviewlist.rb +40 -0
  493. data/lib/no_response/models/shared/reviewlist.rbi +20 -0
  494. data/lib/no_response/models/shared/reviewresolutionlist.rb +40 -0
  495. data/lib/no_response/models/shared/reviewresolutionlist.rbi +20 -0
  496. data/lib/no_response/models/shared/reviewresolverequest.rb +66 -0
  497. data/lib/no_response/models/shared/reviewresolverequest.rbi +32 -0
  498. data/lib/no_response/models/shared/reviews.rb +119 -0
  499. data/lib/no_response/models/shared/reviews.rbi +62 -0
  500. data/lib/no_response/models/shared/reviewsconclusions.rb +50 -0
  501. data/lib/no_response/models/shared/reviewsconclusions.rbi +26 -0
  502. data/lib/no_response/models/shared/reviewstatus.rb +20 -0
  503. data/lib/no_response/models/shared/reviewstatus.rbi +9 -0
  504. data/lib/no_response/models/shared/reviewsubject.rb +131 -0
  505. data/lib/no_response/models/shared/reviewsubject.rbi +68 -0
  506. data/lib/no_response/models/shared/reviewsubjectchange.rb +40 -0
  507. data/lib/no_response/models/shared/reviewsubjectchange.rbi +20 -0
  508. data/lib/no_response/models/shared/reviewsubjectkind.rb +20 -0
  509. data/lib/no_response/models/shared/reviewsubjectkind.rbi +9 -0
  510. data/lib/no_response/models/shared/reviewsubjectlist.rb +40 -0
  511. data/lib/no_response/models/shared/reviewsubjectlist.rbi +20 -0
  512. data/lib/no_response/models/shared/reviewsubjectrequest.rb +105 -0
  513. data/lib/no_response/models/shared/reviewsubjectrequest.rbi +50 -0
  514. data/lib/no_response/models/shared/reviewupdaterequest.rb +74 -0
  515. data/lib/no_response/models/shared/reviewupdaterequest.rbi +32 -0
  516. data/lib/no_response/models/shared/reviewupdaterequeststatus.rb +16 -0
  517. data/lib/no_response/models/shared/reviewupdaterequeststatus.rbi +9 -0
  518. data/lib/no_response/models/shared/reviewview.rb +127 -0
  519. data/lib/no_response/models/shared/reviewview.rbi +68 -0
  520. data/lib/no_response/models/shared/reviewviewdeleterequest.rb +32 -0
  521. data/lib/no_response/models/shared/reviewviewdeleterequest.rbi +14 -0
  522. data/lib/no_response/models/shared/reviewviewlist.rb +32 -0
  523. data/lib/no_response/models/shared/reviewviewlist.rbi +14 -0
  524. data/lib/no_response/models/shared/reviewviewrequest.rb +60 -0
  525. data/lib/no_response/models/shared/reviewviewrequest.rbi +32 -0
  526. data/lib/no_response/models/shared/risk.rb +1 -1
  527. data/lib/no_response/models/shared/riskreason.rb +1 -1
  528. data/lib/no_response/models/shared/role.rb +24 -0
  529. data/lib/no_response/models/shared/role.rbi +9 -0
  530. data/lib/no_response/models/shared/settings.rb +1 -1
  531. data/lib/no_response/models/shared/settingsrequest.rb +27 -3
  532. data/lib/no_response/models/shared/settingsrequest.rbi +12 -0
  533. data/lib/no_response/models/shared/source.rb +19 -0
  534. data/lib/no_response/models/shared/source.rbi +9 -0
  535. data/lib/no_response/models/shared/thresholds.rb +48 -0
  536. data/lib/no_response/models/shared/thresholds.rbi +26 -0
  537. data/lib/no_response/models/shared/usage.rb +51 -0
  538. data/lib/no_response/models/shared/usage.rbi +32 -0
  539. data/lib/no_response/models/shared/usagecount.rb +100 -0
  540. data/lib/no_response/models/shared/usagecount.rbi +44 -0
  541. data/lib/no_response/models/shared/{defaultdepth.rb → usagecountdepth.rb} +2 -2
  542. data/lib/no_response/models/shared/usagecountdepth.rbi +9 -0
  543. data/lib/no_response/models/shared/usagecountflow.rb +20 -0
  544. data/lib/no_response/models/shared/usagecountflow.rbi +9 -0
  545. data/lib/no_response/models/shared/useractor.rb +65 -0
  546. data/lib/no_response/models/shared/useractor.rbi +32 -0
  547. data/lib/no_response/models/shared/webhookaggregaterequest.rb +70 -0
  548. data/lib/no_response/models/shared/webhookaggregaterequest.rbi +38 -0
  549. data/lib/no_response/models/shared/webhookdeliveryattempt.rb +1 -1
  550. data/lib/no_response/models/shared/webhookreplay.rb +1 -1
  551. data/lib/no_response/models/shared/workspacedeleted.rb +7 -4
  552. data/lib/no_response/models/shared/workspaceoperationssummary.rb +166 -0
  553. data/lib/no_response/models/shared/workspaceoperationssummary.rbi +86 -0
  554. data/lib/no_response/models/shared/workspaceoperationssummaryrequest.rb +46 -0
  555. data/lib/no_response/models/shared/workspaceoperationssummaryrequest.rbi +26 -0
  556. data/lib/no_response/models/shared.rb +139 -1
  557. data/lib/no_response/noresponseclient.rb +19 -1
  558. data/lib/no_response/operations.rb +343 -0
  559. data/lib/no_response/requests.rb +323 -0
  560. data/lib/no_response/reviews.rb +4806 -0
  561. data/lib/no_response/sdk_hooks/idempotency_key_hook.rb +1 -1
  562. data/lib/no_response/sdkconfiguration.rb +2 -2
  563. data/lib/no_response/settings.rb +903 -2
  564. data/lib/no_response/usage.rb +334 -0
  565. data/lib/no_response/webhook_verification.rb +4 -2
  566. data/lib/no_response/webhookendpoints.rb +293 -0
  567. data/lib/noresponse.rb +9 -0
  568. metadata +501 -4
@@ -0,0 +1,2132 @@
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 Audit
17
+ extend T::Sig
18
+
19
+ # Durable audit history, retention and delivery.
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
+ request: Models::Operations::ListAuditEventsRequest,
44
+ retries: T.nilable(Utils::RetryConfig),
45
+ timeout_ms: T.nilable(Integer),
46
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
47
+ )
48
+ .returns(Models::Operations::ListAuditEventsResponse)
49
+ }
50
+ def list(request:, retries: nil, timeout_ms: nil, http_headers: nil)
51
+ # list - List a workspace's audit log.
52
+ # Read audit events within your current environment permissions. Filters apply before pagination.
53
+ url, params = @sdk_configuration.get_server_details
54
+ base_url = Utils.template_url(url, params)
55
+ url = Utils.generate_url(
56
+ Models::Operations::ListAuditEventsRequest,
57
+ base_url,
58
+ "/v1/workspaces/{workspace_id}/audit_events",
59
+ request
60
+ )
61
+ headers = {}
62
+ headers = T.cast(headers, T::Hash[String, String])
63
+ query_params = Utils.get_query_params(Models::Operations::ListAuditEventsRequest, request, nil)
64
+ headers["Accept"] = "application/json"
65
+ headers["user-agent"] = @sdk_configuration.user_agent
66
+ retries ||= @sdk_configuration.retry_config
67
+ retries ||= Utils::RetryConfig.new(
68
+ backoff: Utils::BackoffStrategy.new(
69
+ exponent: 2.0,
70
+ initial_interval: 500,
71
+ max_elapsed_time: 30_000,
72
+ max_interval: 8000
73
+ ),
74
+ retry_connection_errors: true,
75
+ strategy: "backoff"
76
+ )
77
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
78
+ retry_options[:retry_statuses] = [408, 429, 500, 501, 502, 503, 504, 505]
79
+
80
+ security = @sdk_configuration.security_source&.call
81
+
82
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
83
+ timeout ||= @sdk_configuration.timeout
84
+
85
+ connection = @sdk_configuration.client.dup
86
+ connection.use(Utils::RetryMiddleware, retry_options)
87
+
88
+ hook_ctx = SDKHooks::HookContext.new(
89
+ config: @sdk_configuration,
90
+ base_url: base_url,
91
+ oauth2_scopes: nil,
92
+ operation_id: "listAuditEvents",
93
+ security_source: @sdk_configuration.security_source
94
+ )
95
+
96
+ error = T.let(nil, T.nilable(StandardError))
97
+ http_response = T.let(nil, T.nilable(Faraday::Response))
98
+
99
+ begin
100
+ http_response = T.must(connection).get(url) do |req|
101
+ req.headers.merge!(headers)
102
+ req.options.timeout = timeout unless timeout.nil?
103
+ req.params = query_params
104
+ Utils.configure_request_security(req, security)
105
+ http_headers&.each do |key, value|
106
+ req.headers[key.to_s] = value
107
+ end
108
+
109
+ @sdk_configuration.hooks.before_request(
110
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
111
+ hook_ctx: hook_ctx
112
+ ),
113
+ request: req
114
+ )
115
+ end
116
+
117
+ rescue StandardError => e
118
+ error = e
119
+ ensure
120
+ if http_response.nil? || Utils.error_status?(http_response.status)
121
+ http_response = @sdk_configuration.hooks.after_error(
122
+ error: error,
123
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
124
+ hook_ctx: hook_ctx
125
+ ),
126
+ response: http_response
127
+ )
128
+ else
129
+ http_response = @sdk_configuration.hooks.after_success(
130
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
131
+ hook_ctx: hook_ctx
132
+ ),
133
+ response: http_response
134
+ )
135
+ end
136
+
137
+ if http_response.nil?
138
+ raise error if !error.nil?
139
+ raise "no response"
140
+ end
141
+ end
142
+
143
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
144
+ if Utils.match_status_code(http_response.status, ["200"])
145
+ if Utils.match_content_type(content_type, "application/json")
146
+ @sdk_configuration.hooks.after_success(
147
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
148
+ hook_ctx: hook_ctx
149
+ ),
150
+ response: http_response
151
+ )
152
+ response_data = http_response.env.response_body
153
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::AuditEventList)
154
+ result = obj
155
+ response = Models::Operations::ListAuditEventsResponse.new(
156
+ result: result,
157
+ headers: http_response.headers
158
+ )
159
+ sdk = self
160
+
161
+ response.next_page = proc do
162
+ next_cursor = Janeway.enum_for("$.next_cursor", JSON.parse(response_data)).search
163
+ if next_cursor.nil?
164
+ next nil
165
+ else
166
+ next_cursor = next_cursor[0]
167
+ if next_cursor.nil?
168
+ next nil
169
+ end
170
+ end
171
+
172
+ sdk.list(
173
+ request: Models::Operations::ListAuditEventsRequest.new(
174
+ workspace_id: request.workspace_id,
175
+ limit: request.limit,
176
+ cursor: next_cursor,
177
+ environment: request.environment,
178
+ action: request.action,
179
+ actor: request.actor,
180
+ target_type: request.target_type,
181
+ target_id: request.target_id,
182
+ outcome: request.outcome,
183
+ since: request.since,
184
+ until_: request.until_
185
+ ),
186
+ http_headers: http_headers
187
+ )
188
+ end
189
+
190
+ return response
191
+ else
192
+ raise(
193
+ ::NoResponse::Models::Errors::APIStatusError.new(
194
+ status_code: http_response.status,
195
+ body: http_response.env.response_body,
196
+ raw_response: http_response
197
+ ),
198
+ "Unknown content type received"
199
+ )
200
+ end
201
+ elsif Utils.match_status_code(http_response.status, ["400"])
202
+ if Utils.match_content_type(content_type, "application/problem+json")
203
+ @sdk_configuration.hooks.after_success(
204
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
205
+ hook_ctx: hook_ctx
206
+ ),
207
+ response: http_response
208
+ )
209
+ response_data = http_response.env.response_body
210
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
211
+ raise obj
212
+ else
213
+ raise(
214
+ ::NoResponse::Models::Errors::APIStatusError.new(
215
+ status_code: http_response.status,
216
+ body: http_response.env.response_body,
217
+ raw_response: http_response
218
+ ),
219
+ "Unknown content type received"
220
+ )
221
+ end
222
+ elsif Utils.match_status_code(http_response.status, ["401"])
223
+ if Utils.match_content_type(content_type, "application/problem+json")
224
+ @sdk_configuration.hooks.after_success(
225
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
226
+ hook_ctx: hook_ctx
227
+ ),
228
+ response: http_response
229
+ )
230
+ response_data = http_response.env.response_body
231
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
232
+ raise obj
233
+ else
234
+ raise(
235
+ ::NoResponse::Models::Errors::APIStatusError.new(
236
+ status_code: http_response.status,
237
+ body: http_response.env.response_body,
238
+ raw_response: http_response
239
+ ),
240
+ "Unknown content type received"
241
+ )
242
+ end
243
+ elsif Utils.match_status_code(http_response.status, ["403"])
244
+ if Utils.match_content_type(content_type, "application/problem+json")
245
+ @sdk_configuration.hooks.after_success(
246
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
247
+ hook_ctx: hook_ctx
248
+ ),
249
+ response: http_response
250
+ )
251
+ response_data = http_response.env.response_body
252
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
253
+ raise obj
254
+ else
255
+ raise(
256
+ ::NoResponse::Models::Errors::APIStatusError.new(
257
+ status_code: http_response.status,
258
+ body: http_response.env.response_body,
259
+ raw_response: http_response
260
+ ),
261
+ "Unknown content type received"
262
+ )
263
+ end
264
+ elsif Utils.match_status_code(http_response.status, ["404"])
265
+ if Utils.match_content_type(content_type, "application/problem+json")
266
+ @sdk_configuration.hooks.after_success(
267
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
268
+ hook_ctx: hook_ctx
269
+ ),
270
+ response: http_response
271
+ )
272
+ response_data = http_response.env.response_body
273
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
274
+ raise obj
275
+ else
276
+ raise(
277
+ ::NoResponse::Models::Errors::APIStatusError.new(
278
+ status_code: http_response.status,
279
+ body: http_response.env.response_body,
280
+ raw_response: http_response
281
+ ),
282
+ "Unknown content type received"
283
+ )
284
+ end
285
+ elsif Utils.match_status_code(http_response.status, ["409"])
286
+ if Utils.match_content_type(content_type, "application/problem+json")
287
+ @sdk_configuration.hooks.after_success(
288
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
289
+ hook_ctx: hook_ctx
290
+ ),
291
+ response: http_response
292
+ )
293
+ response_data = http_response.env.response_body
294
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
295
+ raise obj
296
+ else
297
+ raise(
298
+ ::NoResponse::Models::Errors::APIStatusError.new(
299
+ status_code: http_response.status,
300
+ body: http_response.env.response_body,
301
+ raw_response: http_response
302
+ ),
303
+ "Unknown content type received"
304
+ )
305
+ end
306
+ elsif Utils.match_status_code(http_response.status, ["429"])
307
+ if Utils.match_content_type(content_type, "application/problem+json")
308
+ @sdk_configuration.hooks.after_success(
309
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
310
+ hook_ctx: hook_ctx
311
+ ),
312
+ response: http_response
313
+ )
314
+ response_data = http_response.env.response_body
315
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
316
+ raise obj
317
+ else
318
+ raise(
319
+ ::NoResponse::Models::Errors::APIStatusError.new(
320
+ status_code: http_response.status,
321
+ body: http_response.env.response_body,
322
+ raw_response: http_response
323
+ ),
324
+ "Unknown content type received"
325
+ )
326
+ end
327
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
328
+ raise(
329
+ ::NoResponse::Models::Errors::APIStatusError.new(
330
+ status_code: http_response.status,
331
+ body: http_response.env.response_body,
332
+ raw_response: http_response
333
+ ),
334
+ "API error occurred"
335
+ )
336
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
337
+ raise(
338
+ ::NoResponse::Models::Errors::APIStatusError.new(
339
+ status_code: http_response.status,
340
+ body: http_response.env.response_body,
341
+ raw_response: http_response
342
+ ),
343
+ "API error occurred"
344
+ )
345
+ else
346
+ raise(
347
+ ::NoResponse::Models::Errors::APIStatusError.new(
348
+ status_code: http_response.status,
349
+ body: http_response.env.response_body,
350
+ raw_response: http_response
351
+ ),
352
+ "Unknown status code received"
353
+ )
354
+
355
+ end
356
+ end
357
+
358
+ sig {
359
+ params(
360
+ workspace_id: ::String,
361
+ environment: Models::Shared::AuditSettingsEnvironment,
362
+ retries: T.nilable(Utils::RetryConfig),
363
+ timeout_ms: T.nilable(Integer),
364
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
365
+ )
366
+ .returns(Models::Operations::GetAuditRetentionResponse)
367
+ }
368
+ def get_retention(workspace_id:, environment:, retries: nil, timeout_ms: nil, http_headers: nil)
369
+ # get_retention - Read audit retention and available history.
370
+ # Read audit retention for the environment. The default is 365 days. Oldest available is an observation; it does not establish uninterrupted capture. Workspace-wide events follow the live storage policy.
371
+ request = Models::Operations::GetAuditRetentionRequest.new(
372
+ workspace_id: workspace_id,
373
+ environment: environment
374
+ )
375
+ url, params = @sdk_configuration.get_server_details
376
+ base_url = Utils.template_url(url, params)
377
+ url = Utils.generate_url(
378
+ Models::Operations::GetAuditRetentionRequest,
379
+ base_url,
380
+ "/v1/workspaces/{workspace_id}/audit_settings/{environment}",
381
+ request
382
+ )
383
+ headers = {}
384
+ headers = T.cast(headers, T::Hash[String, String])
385
+ headers["Accept"] = "application/json"
386
+ headers["user-agent"] = @sdk_configuration.user_agent
387
+ retries ||= @sdk_configuration.retry_config
388
+ retries ||= Utils::RetryConfig.new(
389
+ backoff: Utils::BackoffStrategy.new(
390
+ exponent: 2.0,
391
+ initial_interval: 500,
392
+ max_elapsed_time: 30_000,
393
+ max_interval: 8000
394
+ ),
395
+ retry_connection_errors: true,
396
+ strategy: "backoff"
397
+ )
398
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
399
+ retry_options[:retry_statuses] = [408, 429, 500, 501, 502, 503, 504, 505]
400
+
401
+ security = @sdk_configuration.security_source&.call
402
+
403
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
404
+ timeout ||= @sdk_configuration.timeout
405
+
406
+ connection = @sdk_configuration.client.dup
407
+ connection.use(Utils::RetryMiddleware, retry_options)
408
+
409
+ hook_ctx = SDKHooks::HookContext.new(
410
+ config: @sdk_configuration,
411
+ base_url: base_url,
412
+ oauth2_scopes: nil,
413
+ operation_id: "getAuditRetention",
414
+ security_source: @sdk_configuration.security_source
415
+ )
416
+
417
+ error = T.let(nil, T.nilable(StandardError))
418
+ http_response = T.let(nil, T.nilable(Faraday::Response))
419
+
420
+ begin
421
+ http_response = T.must(connection).get(url) do |req|
422
+ req.headers.merge!(headers)
423
+ req.options.timeout = timeout unless timeout.nil?
424
+ Utils.configure_request_security(req, security)
425
+ http_headers&.each do |key, value|
426
+ req.headers[key.to_s] = value
427
+ end
428
+
429
+ @sdk_configuration.hooks.before_request(
430
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
431
+ hook_ctx: hook_ctx
432
+ ),
433
+ request: req
434
+ )
435
+ end
436
+
437
+ rescue StandardError => e
438
+ error = e
439
+ ensure
440
+ if http_response.nil? || Utils.error_status?(http_response.status)
441
+ http_response = @sdk_configuration.hooks.after_error(
442
+ error: error,
443
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
444
+ hook_ctx: hook_ctx
445
+ ),
446
+ response: http_response
447
+ )
448
+ else
449
+ http_response = @sdk_configuration.hooks.after_success(
450
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
451
+ hook_ctx: hook_ctx
452
+ ),
453
+ response: http_response
454
+ )
455
+ end
456
+
457
+ if http_response.nil?
458
+ raise error if !error.nil?
459
+ raise "no response"
460
+ end
461
+ end
462
+
463
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
464
+ if Utils.match_status_code(http_response.status, ["200"])
465
+ if Utils.match_content_type(content_type, "application/json")
466
+ @sdk_configuration.hooks.after_success(
467
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
468
+ hook_ctx: hook_ctx
469
+ ),
470
+ response: http_response
471
+ )
472
+ response_data = http_response.env.response_body
473
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::AuditSettings)
474
+ result = obj
475
+ response = Models::Operations::GetAuditRetentionResponse.new(
476
+ result: result,
477
+ headers: http_response.headers
478
+ )
479
+
480
+ return response
481
+ else
482
+ raise(
483
+ ::NoResponse::Models::Errors::APIStatusError.new(
484
+ status_code: http_response.status,
485
+ body: http_response.env.response_body,
486
+ raw_response: http_response
487
+ ),
488
+ "Unknown content type received"
489
+ )
490
+ end
491
+ elsif Utils.match_status_code(http_response.status, ["400"])
492
+ if Utils.match_content_type(content_type, "application/problem+json")
493
+ @sdk_configuration.hooks.after_success(
494
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
495
+ hook_ctx: hook_ctx
496
+ ),
497
+ response: http_response
498
+ )
499
+ response_data = http_response.env.response_body
500
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
501
+ raise obj
502
+ else
503
+ raise(
504
+ ::NoResponse::Models::Errors::APIStatusError.new(
505
+ status_code: http_response.status,
506
+ body: http_response.env.response_body,
507
+ raw_response: http_response
508
+ ),
509
+ "Unknown content type received"
510
+ )
511
+ end
512
+ elsif Utils.match_status_code(http_response.status, ["401"])
513
+ if Utils.match_content_type(content_type, "application/problem+json")
514
+ @sdk_configuration.hooks.after_success(
515
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
516
+ hook_ctx: hook_ctx
517
+ ),
518
+ response: http_response
519
+ )
520
+ response_data = http_response.env.response_body
521
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
522
+ raise obj
523
+ else
524
+ raise(
525
+ ::NoResponse::Models::Errors::APIStatusError.new(
526
+ status_code: http_response.status,
527
+ body: http_response.env.response_body,
528
+ raw_response: http_response
529
+ ),
530
+ "Unknown content type received"
531
+ )
532
+ end
533
+ elsif Utils.match_status_code(http_response.status, ["403"])
534
+ if Utils.match_content_type(content_type, "application/problem+json")
535
+ @sdk_configuration.hooks.after_success(
536
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
537
+ hook_ctx: hook_ctx
538
+ ),
539
+ response: http_response
540
+ )
541
+ response_data = http_response.env.response_body
542
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
543
+ raise obj
544
+ else
545
+ raise(
546
+ ::NoResponse::Models::Errors::APIStatusError.new(
547
+ status_code: http_response.status,
548
+ body: http_response.env.response_body,
549
+ raw_response: http_response
550
+ ),
551
+ "Unknown content type received"
552
+ )
553
+ end
554
+ elsif Utils.match_status_code(http_response.status, ["404"])
555
+ if Utils.match_content_type(content_type, "application/problem+json")
556
+ @sdk_configuration.hooks.after_success(
557
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
558
+ hook_ctx: hook_ctx
559
+ ),
560
+ response: http_response
561
+ )
562
+ response_data = http_response.env.response_body
563
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
564
+ raise obj
565
+ else
566
+ raise(
567
+ ::NoResponse::Models::Errors::APIStatusError.new(
568
+ status_code: http_response.status,
569
+ body: http_response.env.response_body,
570
+ raw_response: http_response
571
+ ),
572
+ "Unknown content type received"
573
+ )
574
+ end
575
+ elsif Utils.match_status_code(http_response.status, ["409"])
576
+ if Utils.match_content_type(content_type, "application/problem+json")
577
+ @sdk_configuration.hooks.after_success(
578
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
579
+ hook_ctx: hook_ctx
580
+ ),
581
+ response: http_response
582
+ )
583
+ response_data = http_response.env.response_body
584
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
585
+ raise obj
586
+ else
587
+ raise(
588
+ ::NoResponse::Models::Errors::APIStatusError.new(
589
+ status_code: http_response.status,
590
+ body: http_response.env.response_body,
591
+ raw_response: http_response
592
+ ),
593
+ "Unknown content type received"
594
+ )
595
+ end
596
+ elsif Utils.match_status_code(http_response.status, ["429"])
597
+ if Utils.match_content_type(content_type, "application/problem+json")
598
+ @sdk_configuration.hooks.after_success(
599
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
600
+ hook_ctx: hook_ctx
601
+ ),
602
+ response: http_response
603
+ )
604
+ response_data = http_response.env.response_body
605
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
606
+ raise obj
607
+ else
608
+ raise(
609
+ ::NoResponse::Models::Errors::APIStatusError.new(
610
+ status_code: http_response.status,
611
+ body: http_response.env.response_body,
612
+ raw_response: http_response
613
+ ),
614
+ "Unknown content type received"
615
+ )
616
+ end
617
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
618
+ raise(
619
+ ::NoResponse::Models::Errors::APIStatusError.new(
620
+ status_code: http_response.status,
621
+ body: http_response.env.response_body,
622
+ raw_response: http_response
623
+ ),
624
+ "API error occurred"
625
+ )
626
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
627
+ raise(
628
+ ::NoResponse::Models::Errors::APIStatusError.new(
629
+ status_code: http_response.status,
630
+ body: http_response.env.response_body,
631
+ raw_response: http_response
632
+ ),
633
+ "API error occurred"
634
+ )
635
+ else
636
+ raise(
637
+ ::NoResponse::Models::Errors::APIStatusError.new(
638
+ status_code: http_response.status,
639
+ body: http_response.env.response_body,
640
+ raw_response: http_response
641
+ ),
642
+ "Unknown status code received"
643
+ )
644
+
645
+ end
646
+ end
647
+
648
+ sig {
649
+ params(
650
+ body: Models::Shared::AuditSettingsRequest,
651
+ workspace_id: ::String,
652
+ environment: Models::Operations::Environment,
653
+ retries: T.nilable(Utils::RetryConfig),
654
+ timeout_ms: T.nilable(Integer),
655
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
656
+ )
657
+ .returns(Models::Operations::UpdateAuditRetentionResponse)
658
+ }
659
+ def update_retention(body:, workspace_id:, environment:, retries: nil, timeout_ms: nil, http_headers: nil)
660
+ # update_retention - Set bounded customer audit retention.
661
+ # Set test-environment audit retention from 1 to 365 days with audit_manage scope. Live retention also governs workspace-wide audit events and requires a dashboard member authorised in both environments. Shortening immediately hides older events and invalidates audit exports; extending cannot restore deleted events. External receivers control copies already delivered.
662
+ request = Models::Operations::UpdateAuditRetentionRequest.new(
663
+ workspace_id: workspace_id,
664
+ environment: environment,
665
+ body: body
666
+ )
667
+ url, params = @sdk_configuration.get_server_details
668
+ base_url = Utils.template_url(url, params)
669
+ url = Utils.generate_url(
670
+ Models::Operations::UpdateAuditRetentionRequest,
671
+ base_url,
672
+ "/v1/workspaces/{workspace_id}/audit_settings/{environment}",
673
+ request
674
+ )
675
+ headers = {}
676
+ headers = T.cast(headers, T::Hash[String, String])
677
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
678
+ headers["content-type"] = req_content_type
679
+ raise StandardError, "request body is required" if data.nil? && form.nil?
680
+
681
+ if form && !form.empty?
682
+ body = Utils.encode_form(form)
683
+ elsif Utils.match_content_type(req_content_type, "application/x-www-form-urlencoded")
684
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
685
+ else
686
+ body = data
687
+ end
688
+
689
+ headers["Accept"] = "application/json"
690
+ headers["user-agent"] = @sdk_configuration.user_agent
691
+ retries ||= @sdk_configuration.retry_config
692
+ retries ||= Utils::RetryConfig.new(
693
+ backoff: Utils::BackoffStrategy.new(
694
+ exponent: 2.0,
695
+ initial_interval: 500,
696
+ max_elapsed_time: 30_000,
697
+ max_interval: 8000
698
+ ),
699
+ retry_connection_errors: true,
700
+ strategy: "backoff"
701
+ )
702
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
703
+ retry_options[:retry_statuses] = [408, 429, 500, 501, 502, 503, 504, 505]
704
+
705
+ security = @sdk_configuration.security_source&.call
706
+
707
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
708
+ timeout ||= @sdk_configuration.timeout
709
+
710
+ connection = @sdk_configuration.client.dup
711
+ connection.use(Utils::RetryMiddleware, retry_options)
712
+
713
+ hook_ctx = SDKHooks::HookContext.new(
714
+ config: @sdk_configuration,
715
+ base_url: base_url,
716
+ oauth2_scopes: nil,
717
+ operation_id: "updateAuditRetention",
718
+ security_source: @sdk_configuration.security_source
719
+ )
720
+
721
+ error = T.let(nil, T.nilable(StandardError))
722
+ http_response = T.let(nil, T.nilable(Faraday::Response))
723
+
724
+ begin
725
+ http_response = T.must(connection).patch(url) do |req|
726
+ req.body = body
727
+ req.headers.merge!(headers)
728
+ req.options.timeout = timeout unless timeout.nil?
729
+ Utils.configure_request_security(req, security)
730
+ http_headers&.each do |key, value|
731
+ req.headers[key.to_s] = value
732
+ end
733
+
734
+ @sdk_configuration.hooks.before_request(
735
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
736
+ hook_ctx: hook_ctx
737
+ ),
738
+ request: req
739
+ )
740
+ end
741
+
742
+ rescue StandardError => e
743
+ error = e
744
+ ensure
745
+ if http_response.nil? || Utils.error_status?(http_response.status)
746
+ http_response = @sdk_configuration.hooks.after_error(
747
+ error: error,
748
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
749
+ hook_ctx: hook_ctx
750
+ ),
751
+ response: http_response
752
+ )
753
+ else
754
+ http_response = @sdk_configuration.hooks.after_success(
755
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
756
+ hook_ctx: hook_ctx
757
+ ),
758
+ response: http_response
759
+ )
760
+ end
761
+
762
+ if http_response.nil?
763
+ raise error if !error.nil?
764
+ raise "no response"
765
+ end
766
+ end
767
+
768
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
769
+ if Utils.match_status_code(http_response.status, ["200"])
770
+ if Utils.match_content_type(content_type, "application/json")
771
+ @sdk_configuration.hooks.after_success(
772
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
773
+ hook_ctx: hook_ctx
774
+ ),
775
+ response: http_response
776
+ )
777
+ response_data = http_response.env.response_body
778
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::AuditSettings)
779
+ result = obj
780
+ response = Models::Operations::UpdateAuditRetentionResponse.new(
781
+ result: result,
782
+ headers: http_response.headers
783
+ )
784
+
785
+ return response
786
+ else
787
+ raise(
788
+ ::NoResponse::Models::Errors::APIStatusError.new(
789
+ status_code: http_response.status,
790
+ body: http_response.env.response_body,
791
+ raw_response: http_response
792
+ ),
793
+ "Unknown content type received"
794
+ )
795
+ end
796
+ elsif Utils.match_status_code(http_response.status, ["400"])
797
+ if Utils.match_content_type(content_type, "application/problem+json")
798
+ @sdk_configuration.hooks.after_success(
799
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
800
+ hook_ctx: hook_ctx
801
+ ),
802
+ response: http_response
803
+ )
804
+ response_data = http_response.env.response_body
805
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
806
+ raise obj
807
+ else
808
+ raise(
809
+ ::NoResponse::Models::Errors::APIStatusError.new(
810
+ status_code: http_response.status,
811
+ body: http_response.env.response_body,
812
+ raw_response: http_response
813
+ ),
814
+ "Unknown content type received"
815
+ )
816
+ end
817
+ elsif Utils.match_status_code(http_response.status, ["401"])
818
+ if Utils.match_content_type(content_type, "application/problem+json")
819
+ @sdk_configuration.hooks.after_success(
820
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
821
+ hook_ctx: hook_ctx
822
+ ),
823
+ response: http_response
824
+ )
825
+ response_data = http_response.env.response_body
826
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
827
+ raise obj
828
+ else
829
+ raise(
830
+ ::NoResponse::Models::Errors::APIStatusError.new(
831
+ status_code: http_response.status,
832
+ body: http_response.env.response_body,
833
+ raw_response: http_response
834
+ ),
835
+ "Unknown content type received"
836
+ )
837
+ end
838
+ elsif Utils.match_status_code(http_response.status, ["403"])
839
+ if Utils.match_content_type(content_type, "application/problem+json")
840
+ @sdk_configuration.hooks.after_success(
841
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
842
+ hook_ctx: hook_ctx
843
+ ),
844
+ response: http_response
845
+ )
846
+ response_data = http_response.env.response_body
847
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
848
+ raise obj
849
+ else
850
+ raise(
851
+ ::NoResponse::Models::Errors::APIStatusError.new(
852
+ status_code: http_response.status,
853
+ body: http_response.env.response_body,
854
+ raw_response: http_response
855
+ ),
856
+ "Unknown content type received"
857
+ )
858
+ end
859
+ elsif Utils.match_status_code(http_response.status, ["404"])
860
+ if Utils.match_content_type(content_type, "application/problem+json")
861
+ @sdk_configuration.hooks.after_success(
862
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
863
+ hook_ctx: hook_ctx
864
+ ),
865
+ response: http_response
866
+ )
867
+ response_data = http_response.env.response_body
868
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
869
+ raise obj
870
+ else
871
+ raise(
872
+ ::NoResponse::Models::Errors::APIStatusError.new(
873
+ status_code: http_response.status,
874
+ body: http_response.env.response_body,
875
+ raw_response: http_response
876
+ ),
877
+ "Unknown content type received"
878
+ )
879
+ end
880
+ elsif Utils.match_status_code(http_response.status, ["409"])
881
+ if Utils.match_content_type(content_type, "application/problem+json")
882
+ @sdk_configuration.hooks.after_success(
883
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
884
+ hook_ctx: hook_ctx
885
+ ),
886
+ response: http_response
887
+ )
888
+ response_data = http_response.env.response_body
889
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
890
+ raise obj
891
+ else
892
+ raise(
893
+ ::NoResponse::Models::Errors::APIStatusError.new(
894
+ status_code: http_response.status,
895
+ body: http_response.env.response_body,
896
+ raw_response: http_response
897
+ ),
898
+ "Unknown content type received"
899
+ )
900
+ end
901
+ elsif Utils.match_status_code(http_response.status, ["429"])
902
+ if Utils.match_content_type(content_type, "application/problem+json")
903
+ @sdk_configuration.hooks.after_success(
904
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
905
+ hook_ctx: hook_ctx
906
+ ),
907
+ response: http_response
908
+ )
909
+ response_data = http_response.env.response_body
910
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
911
+ raise obj
912
+ else
913
+ raise(
914
+ ::NoResponse::Models::Errors::APIStatusError.new(
915
+ status_code: http_response.status,
916
+ body: http_response.env.response_body,
917
+ raw_response: http_response
918
+ ),
919
+ "Unknown content type received"
920
+ )
921
+ end
922
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
923
+ raise(
924
+ ::NoResponse::Models::Errors::APIStatusError.new(
925
+ status_code: http_response.status,
926
+ body: http_response.env.response_body,
927
+ raw_response: http_response
928
+ ),
929
+ "API error occurred"
930
+ )
931
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
932
+ raise(
933
+ ::NoResponse::Models::Errors::APIStatusError.new(
934
+ status_code: http_response.status,
935
+ body: http_response.env.response_body,
936
+ raw_response: http_response
937
+ ),
938
+ "API error occurred"
939
+ )
940
+ else
941
+ raise(
942
+ ::NoResponse::Models::Errors::APIStatusError.new(
943
+ status_code: http_response.status,
944
+ body: http_response.env.response_body,
945
+ raw_response: http_response
946
+ ),
947
+ "Unknown status code received"
948
+ )
949
+
950
+ end
951
+ end
952
+
953
+ sig {
954
+ params(
955
+ workspace_id: ::String,
956
+ environment: Models::Shared::Environment,
957
+ retries: T.nilable(Utils::RetryConfig),
958
+ timeout_ms: T.nilable(Integer),
959
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
960
+ )
961
+ .returns(Models::Operations::ListAuditStreamsResponse)
962
+ }
963
+ def list_streams(workspace_id:, environment:, retries: nil, timeout_ms: nil, http_headers: nil)
964
+ # list_streams - Read audit stream subscriptions.
965
+ # List audit subscriptions and their endpoint state and latest delivery attempt. Streams use verified HTTPS webhook endpoints and signed audit.event bodies. Delivery is at least once and unordered; deduplicate by webhook id. An empty action filter accepts all actions within the chosen scope.
966
+ request = Models::Operations::ListAuditStreamsRequest.new(
967
+ workspace_id: workspace_id,
968
+ environment: environment
969
+ )
970
+ url, params = @sdk_configuration.get_server_details
971
+ base_url = Utils.template_url(url, params)
972
+ url = Utils.generate_url(
973
+ Models::Operations::ListAuditStreamsRequest,
974
+ base_url,
975
+ "/v1/workspaces/{workspace_id}/audit_streams/{environment}",
976
+ request
977
+ )
978
+ headers = {}
979
+ headers = T.cast(headers, T::Hash[String, String])
980
+ headers["Accept"] = "application/json"
981
+ headers["user-agent"] = @sdk_configuration.user_agent
982
+ retries ||= @sdk_configuration.retry_config
983
+ retries ||= Utils::RetryConfig.new(
984
+ backoff: Utils::BackoffStrategy.new(
985
+ exponent: 2.0,
986
+ initial_interval: 500,
987
+ max_elapsed_time: 30_000,
988
+ max_interval: 8000
989
+ ),
990
+ retry_connection_errors: true,
991
+ strategy: "backoff"
992
+ )
993
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
994
+ retry_options[:retry_statuses] = [408, 429, 500, 501, 502, 503, 504, 505]
995
+
996
+ security = @sdk_configuration.security_source&.call
997
+
998
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
999
+ timeout ||= @sdk_configuration.timeout
1000
+
1001
+ connection = @sdk_configuration.client.dup
1002
+ connection.use(Utils::RetryMiddleware, retry_options)
1003
+
1004
+ hook_ctx = SDKHooks::HookContext.new(
1005
+ config: @sdk_configuration,
1006
+ base_url: base_url,
1007
+ oauth2_scopes: nil,
1008
+ operation_id: "listAuditStreams",
1009
+ security_source: @sdk_configuration.security_source
1010
+ )
1011
+
1012
+ error = T.let(nil, T.nilable(StandardError))
1013
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1014
+
1015
+ begin
1016
+ http_response = T.must(connection).get(url) do |req|
1017
+ req.headers.merge!(headers)
1018
+ req.options.timeout = timeout unless timeout.nil?
1019
+ Utils.configure_request_security(req, security)
1020
+ http_headers&.each do |key, value|
1021
+ req.headers[key.to_s] = value
1022
+ end
1023
+
1024
+ @sdk_configuration.hooks.before_request(
1025
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1026
+ hook_ctx: hook_ctx
1027
+ ),
1028
+ request: req
1029
+ )
1030
+ end
1031
+
1032
+ rescue StandardError => e
1033
+ error = e
1034
+ ensure
1035
+ if http_response.nil? || Utils.error_status?(http_response.status)
1036
+ http_response = @sdk_configuration.hooks.after_error(
1037
+ error: error,
1038
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1039
+ hook_ctx: hook_ctx
1040
+ ),
1041
+ response: http_response
1042
+ )
1043
+ else
1044
+ http_response = @sdk_configuration.hooks.after_success(
1045
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1046
+ hook_ctx: hook_ctx
1047
+ ),
1048
+ response: http_response
1049
+ )
1050
+ end
1051
+
1052
+ if http_response.nil?
1053
+ raise error if !error.nil?
1054
+ raise "no response"
1055
+ end
1056
+ end
1057
+
1058
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
1059
+ if Utils.match_status_code(http_response.status, ["200"])
1060
+ if Utils.match_content_type(content_type, "application/json")
1061
+ @sdk_configuration.hooks.after_success(
1062
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1063
+ hook_ctx: hook_ctx
1064
+ ),
1065
+ response: http_response
1066
+ )
1067
+ response_data = http_response.env.response_body
1068
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::AuditStreamList)
1069
+ result = obj
1070
+ response = Models::Operations::ListAuditStreamsResponse.new(
1071
+ result: result,
1072
+ headers: http_response.headers
1073
+ )
1074
+
1075
+ return response
1076
+ else
1077
+ raise(
1078
+ ::NoResponse::Models::Errors::APIStatusError.new(
1079
+ status_code: http_response.status,
1080
+ body: http_response.env.response_body,
1081
+ raw_response: http_response
1082
+ ),
1083
+ "Unknown content type received"
1084
+ )
1085
+ end
1086
+ elsif Utils.match_status_code(http_response.status, ["400"])
1087
+ if Utils.match_content_type(content_type, "application/problem+json")
1088
+ @sdk_configuration.hooks.after_success(
1089
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1090
+ hook_ctx: hook_ctx
1091
+ ),
1092
+ response: http_response
1093
+ )
1094
+ response_data = http_response.env.response_body
1095
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
1096
+ raise obj
1097
+ else
1098
+ raise(
1099
+ ::NoResponse::Models::Errors::APIStatusError.new(
1100
+ status_code: http_response.status,
1101
+ body: http_response.env.response_body,
1102
+ raw_response: http_response
1103
+ ),
1104
+ "Unknown content type received"
1105
+ )
1106
+ end
1107
+ elsif Utils.match_status_code(http_response.status, ["401"])
1108
+ if Utils.match_content_type(content_type, "application/problem+json")
1109
+ @sdk_configuration.hooks.after_success(
1110
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1111
+ hook_ctx: hook_ctx
1112
+ ),
1113
+ response: http_response
1114
+ )
1115
+ response_data = http_response.env.response_body
1116
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
1117
+ raise obj
1118
+ else
1119
+ raise(
1120
+ ::NoResponse::Models::Errors::APIStatusError.new(
1121
+ status_code: http_response.status,
1122
+ body: http_response.env.response_body,
1123
+ raw_response: http_response
1124
+ ),
1125
+ "Unknown content type received"
1126
+ )
1127
+ end
1128
+ elsif Utils.match_status_code(http_response.status, ["403"])
1129
+ if Utils.match_content_type(content_type, "application/problem+json")
1130
+ @sdk_configuration.hooks.after_success(
1131
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1132
+ hook_ctx: hook_ctx
1133
+ ),
1134
+ response: http_response
1135
+ )
1136
+ response_data = http_response.env.response_body
1137
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
1138
+ raise obj
1139
+ else
1140
+ raise(
1141
+ ::NoResponse::Models::Errors::APIStatusError.new(
1142
+ status_code: http_response.status,
1143
+ body: http_response.env.response_body,
1144
+ raw_response: http_response
1145
+ ),
1146
+ "Unknown content type received"
1147
+ )
1148
+ end
1149
+ elsif Utils.match_status_code(http_response.status, ["404"])
1150
+ if Utils.match_content_type(content_type, "application/problem+json")
1151
+ @sdk_configuration.hooks.after_success(
1152
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1153
+ hook_ctx: hook_ctx
1154
+ ),
1155
+ response: http_response
1156
+ )
1157
+ response_data = http_response.env.response_body
1158
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
1159
+ raise obj
1160
+ else
1161
+ raise(
1162
+ ::NoResponse::Models::Errors::APIStatusError.new(
1163
+ status_code: http_response.status,
1164
+ body: http_response.env.response_body,
1165
+ raw_response: http_response
1166
+ ),
1167
+ "Unknown content type received"
1168
+ )
1169
+ end
1170
+ elsif Utils.match_status_code(http_response.status, ["409"])
1171
+ if Utils.match_content_type(content_type, "application/problem+json")
1172
+ @sdk_configuration.hooks.after_success(
1173
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1174
+ hook_ctx: hook_ctx
1175
+ ),
1176
+ response: http_response
1177
+ )
1178
+ response_data = http_response.env.response_body
1179
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
1180
+ raise obj
1181
+ else
1182
+ raise(
1183
+ ::NoResponse::Models::Errors::APIStatusError.new(
1184
+ status_code: http_response.status,
1185
+ body: http_response.env.response_body,
1186
+ raw_response: http_response
1187
+ ),
1188
+ "Unknown content type received"
1189
+ )
1190
+ end
1191
+ elsif Utils.match_status_code(http_response.status, ["429"])
1192
+ if Utils.match_content_type(content_type, "application/problem+json")
1193
+ @sdk_configuration.hooks.after_success(
1194
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1195
+ hook_ctx: hook_ctx
1196
+ ),
1197
+ response: http_response
1198
+ )
1199
+ response_data = http_response.env.response_body
1200
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
1201
+ raise obj
1202
+ else
1203
+ raise(
1204
+ ::NoResponse::Models::Errors::APIStatusError.new(
1205
+ status_code: http_response.status,
1206
+ body: http_response.env.response_body,
1207
+ raw_response: http_response
1208
+ ),
1209
+ "Unknown content type received"
1210
+ )
1211
+ end
1212
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
1213
+ raise(
1214
+ ::NoResponse::Models::Errors::APIStatusError.new(
1215
+ status_code: http_response.status,
1216
+ body: http_response.env.response_body,
1217
+ raw_response: http_response
1218
+ ),
1219
+ "API error occurred"
1220
+ )
1221
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
1222
+ raise(
1223
+ ::NoResponse::Models::Errors::APIStatusError.new(
1224
+ status_code: http_response.status,
1225
+ body: http_response.env.response_body,
1226
+ raw_response: http_response
1227
+ ),
1228
+ "API error occurred"
1229
+ )
1230
+ else
1231
+ raise(
1232
+ ::NoResponse::Models::Errors::APIStatusError.new(
1233
+ status_code: http_response.status,
1234
+ body: http_response.env.response_body,
1235
+ raw_response: http_response
1236
+ ),
1237
+ "Unknown status code received"
1238
+ )
1239
+
1240
+ end
1241
+ end
1242
+
1243
+ sig {
1244
+ params(
1245
+ body: Models::Shared::AuditStreamRequest,
1246
+ workspace_id: ::String,
1247
+ environment: Models::Shared::Environment,
1248
+ retries: T.nilable(Utils::RetryConfig),
1249
+ timeout_ms: T.nilable(Integer),
1250
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
1251
+ )
1252
+ .returns(Models::Operations::ConfigureAuditStreamResponse)
1253
+ }
1254
+ def configure_stream(body:, workspace_id:, environment:, retries: nil, timeout_ms: nil, http_headers: nil)
1255
+ # configure_stream - Configure an audit stream subscription.
1256
+ # Configure the action filter for one verified webhook endpoint. Requires audit_manage. Capture starts at subscription creation; use an audit export for available earlier events. Workspace-wide scope requires an unrestricted console member and is unavailable to API keys.
1257
+ request = Models::Operations::ConfigureAuditStreamRequest.new(
1258
+ workspace_id: workspace_id,
1259
+ environment: environment,
1260
+ body: body
1261
+ )
1262
+ url, params = @sdk_configuration.get_server_details
1263
+ base_url = Utils.template_url(url, params)
1264
+ url = Utils.generate_url(
1265
+ Models::Operations::ConfigureAuditStreamRequest,
1266
+ base_url,
1267
+ "/v1/workspaces/{workspace_id}/audit_streams/{environment}",
1268
+ request
1269
+ )
1270
+ headers = {}
1271
+ headers = T.cast(headers, T::Hash[String, String])
1272
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
1273
+ headers["content-type"] = req_content_type
1274
+ raise StandardError, "request body is required" if data.nil? && form.nil?
1275
+
1276
+ if form && !form.empty?
1277
+ body = Utils.encode_form(form)
1278
+ elsif Utils.match_content_type(req_content_type, "application/x-www-form-urlencoded")
1279
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
1280
+ else
1281
+ body = data
1282
+ end
1283
+
1284
+ headers["Accept"] = "application/json"
1285
+ headers["user-agent"] = @sdk_configuration.user_agent
1286
+ retries ||= @sdk_configuration.retry_config
1287
+ retries ||= Utils::RetryConfig.new(
1288
+ backoff: Utils::BackoffStrategy.new(
1289
+ exponent: 2.0,
1290
+ initial_interval: 500,
1291
+ max_elapsed_time: 30_000,
1292
+ max_interval: 8000
1293
+ ),
1294
+ retry_connection_errors: true,
1295
+ strategy: "backoff"
1296
+ )
1297
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1298
+ retry_options[:retry_statuses] = [408, 429, 500, 501, 502, 503, 504, 505]
1299
+
1300
+ security = @sdk_configuration.security_source&.call
1301
+
1302
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1303
+ timeout ||= @sdk_configuration.timeout
1304
+
1305
+ connection = @sdk_configuration.client.dup
1306
+ connection.use(Utils::RetryMiddleware, retry_options)
1307
+
1308
+ hook_ctx = SDKHooks::HookContext.new(
1309
+ config: @sdk_configuration,
1310
+ base_url: base_url,
1311
+ oauth2_scopes: nil,
1312
+ operation_id: "configureAuditStream",
1313
+ security_source: @sdk_configuration.security_source
1314
+ )
1315
+
1316
+ error = T.let(nil, T.nilable(StandardError))
1317
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1318
+
1319
+ begin
1320
+ http_response = T.must(connection).post(url) do |req|
1321
+ req.body = body
1322
+ req.headers.merge!(headers)
1323
+ req.options.timeout = timeout unless timeout.nil?
1324
+ Utils.configure_request_security(req, security)
1325
+ http_headers&.each do |key, value|
1326
+ req.headers[key.to_s] = value
1327
+ end
1328
+
1329
+ @sdk_configuration.hooks.before_request(
1330
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1331
+ hook_ctx: hook_ctx
1332
+ ),
1333
+ request: req
1334
+ )
1335
+ end
1336
+
1337
+ rescue StandardError => e
1338
+ error = e
1339
+ ensure
1340
+ if http_response.nil? || Utils.error_status?(http_response.status)
1341
+ http_response = @sdk_configuration.hooks.after_error(
1342
+ error: error,
1343
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1344
+ hook_ctx: hook_ctx
1345
+ ),
1346
+ response: http_response
1347
+ )
1348
+ else
1349
+ http_response = @sdk_configuration.hooks.after_success(
1350
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1351
+ hook_ctx: hook_ctx
1352
+ ),
1353
+ response: http_response
1354
+ )
1355
+ end
1356
+
1357
+ if http_response.nil?
1358
+ raise error if !error.nil?
1359
+ raise "no response"
1360
+ end
1361
+ end
1362
+
1363
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
1364
+ if Utils.match_status_code(http_response.status, ["200"])
1365
+ if Utils.match_content_type(content_type, "application/json")
1366
+ @sdk_configuration.hooks.after_success(
1367
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1368
+ hook_ctx: hook_ctx
1369
+ ),
1370
+ response: http_response
1371
+ )
1372
+ response_data = http_response.env.response_body
1373
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::AuditStreamList)
1374
+ result = obj
1375
+ response = Models::Operations::ConfigureAuditStreamResponse.new(
1376
+ result: result,
1377
+ headers: http_response.headers
1378
+ )
1379
+
1380
+ return response
1381
+ else
1382
+ raise(
1383
+ ::NoResponse::Models::Errors::APIStatusError.new(
1384
+ status_code: http_response.status,
1385
+ body: http_response.env.response_body,
1386
+ raw_response: http_response
1387
+ ),
1388
+ "Unknown content type received"
1389
+ )
1390
+ end
1391
+ elsif Utils.match_status_code(http_response.status, ["400"])
1392
+ if Utils.match_content_type(content_type, "application/problem+json")
1393
+ @sdk_configuration.hooks.after_success(
1394
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1395
+ hook_ctx: hook_ctx
1396
+ ),
1397
+ response: http_response
1398
+ )
1399
+ response_data = http_response.env.response_body
1400
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
1401
+ raise obj
1402
+ else
1403
+ raise(
1404
+ ::NoResponse::Models::Errors::APIStatusError.new(
1405
+ status_code: http_response.status,
1406
+ body: http_response.env.response_body,
1407
+ raw_response: http_response
1408
+ ),
1409
+ "Unknown content type received"
1410
+ )
1411
+ end
1412
+ elsif Utils.match_status_code(http_response.status, ["401"])
1413
+ if Utils.match_content_type(content_type, "application/problem+json")
1414
+ @sdk_configuration.hooks.after_success(
1415
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1416
+ hook_ctx: hook_ctx
1417
+ ),
1418
+ response: http_response
1419
+ )
1420
+ response_data = http_response.env.response_body
1421
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
1422
+ raise obj
1423
+ else
1424
+ raise(
1425
+ ::NoResponse::Models::Errors::APIStatusError.new(
1426
+ status_code: http_response.status,
1427
+ body: http_response.env.response_body,
1428
+ raw_response: http_response
1429
+ ),
1430
+ "Unknown content type received"
1431
+ )
1432
+ end
1433
+ elsif Utils.match_status_code(http_response.status, ["403"])
1434
+ if Utils.match_content_type(content_type, "application/problem+json")
1435
+ @sdk_configuration.hooks.after_success(
1436
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1437
+ hook_ctx: hook_ctx
1438
+ ),
1439
+ response: http_response
1440
+ )
1441
+ response_data = http_response.env.response_body
1442
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
1443
+ raise obj
1444
+ else
1445
+ raise(
1446
+ ::NoResponse::Models::Errors::APIStatusError.new(
1447
+ status_code: http_response.status,
1448
+ body: http_response.env.response_body,
1449
+ raw_response: http_response
1450
+ ),
1451
+ "Unknown content type received"
1452
+ )
1453
+ end
1454
+ elsif Utils.match_status_code(http_response.status, ["404"])
1455
+ if Utils.match_content_type(content_type, "application/problem+json")
1456
+ @sdk_configuration.hooks.after_success(
1457
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1458
+ hook_ctx: hook_ctx
1459
+ ),
1460
+ response: http_response
1461
+ )
1462
+ response_data = http_response.env.response_body
1463
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
1464
+ raise obj
1465
+ else
1466
+ raise(
1467
+ ::NoResponse::Models::Errors::APIStatusError.new(
1468
+ status_code: http_response.status,
1469
+ body: http_response.env.response_body,
1470
+ raw_response: http_response
1471
+ ),
1472
+ "Unknown content type received"
1473
+ )
1474
+ end
1475
+ elsif Utils.match_status_code(http_response.status, ["409"])
1476
+ if Utils.match_content_type(content_type, "application/problem+json")
1477
+ @sdk_configuration.hooks.after_success(
1478
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1479
+ hook_ctx: hook_ctx
1480
+ ),
1481
+ response: http_response
1482
+ )
1483
+ response_data = http_response.env.response_body
1484
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
1485
+ raise obj
1486
+ else
1487
+ raise(
1488
+ ::NoResponse::Models::Errors::APIStatusError.new(
1489
+ status_code: http_response.status,
1490
+ body: http_response.env.response_body,
1491
+ raw_response: http_response
1492
+ ),
1493
+ "Unknown content type received"
1494
+ )
1495
+ end
1496
+ elsif Utils.match_status_code(http_response.status, ["429"])
1497
+ if Utils.match_content_type(content_type, "application/problem+json")
1498
+ @sdk_configuration.hooks.after_success(
1499
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1500
+ hook_ctx: hook_ctx
1501
+ ),
1502
+ response: http_response
1503
+ )
1504
+ response_data = http_response.env.response_body
1505
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
1506
+ raise obj
1507
+ else
1508
+ raise(
1509
+ ::NoResponse::Models::Errors::APIStatusError.new(
1510
+ status_code: http_response.status,
1511
+ body: http_response.env.response_body,
1512
+ raw_response: http_response
1513
+ ),
1514
+ "Unknown content type received"
1515
+ )
1516
+ end
1517
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
1518
+ raise(
1519
+ ::NoResponse::Models::Errors::APIStatusError.new(
1520
+ status_code: http_response.status,
1521
+ body: http_response.env.response_body,
1522
+ raw_response: http_response
1523
+ ),
1524
+ "API error occurred"
1525
+ )
1526
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
1527
+ raise(
1528
+ ::NoResponse::Models::Errors::APIStatusError.new(
1529
+ status_code: http_response.status,
1530
+ body: http_response.env.response_body,
1531
+ raw_response: http_response
1532
+ ),
1533
+ "API error occurred"
1534
+ )
1535
+ else
1536
+ raise(
1537
+ ::NoResponse::Models::Errors::APIStatusError.new(
1538
+ status_code: http_response.status,
1539
+ body: http_response.env.response_body,
1540
+ raw_response: http_response
1541
+ ),
1542
+ "Unknown status code received"
1543
+ )
1544
+
1545
+ end
1546
+ end
1547
+
1548
+ sig {
1549
+ params(
1550
+ workspace_id: ::String,
1551
+ environment: Models::Shared::Environment,
1552
+ endpoint_id: ::String,
1553
+ retries: T.nilable(Utils::RetryConfig),
1554
+ timeout_ms: T.nilable(Integer),
1555
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
1556
+ )
1557
+ .returns(Models::Operations::RemoveAuditStreamResponse)
1558
+ }
1559
+ def remove_stream(workspace_id:, environment:, endpoint_id:, retries: nil, timeout_ms: nil, http_headers: nil)
1560
+ # remove_stream - Remove an audit stream.
1561
+ # Remove an audit subscription and cancel queued deliveries. Requires audit_manage. An HTTP delivery already in flight cannot be recalled. The endpoint remains registered for other event types.
1562
+ request = Models::Operations::RemoveAuditStreamRequest.new(
1563
+ workspace_id: workspace_id,
1564
+ environment: environment,
1565
+ endpoint_id: endpoint_id
1566
+ )
1567
+ url, params = @sdk_configuration.get_server_details
1568
+ base_url = Utils.template_url(url, params)
1569
+ url = Utils.generate_url(
1570
+ Models::Operations::RemoveAuditStreamRequest,
1571
+ base_url,
1572
+ "/v1/workspaces/{workspace_id}/audit_streams/{environment}/{endpoint_id}",
1573
+ request
1574
+ )
1575
+ headers = {}
1576
+ headers = T.cast(headers, T::Hash[String, String])
1577
+ headers["Accept"] = "application/json"
1578
+ headers["user-agent"] = @sdk_configuration.user_agent
1579
+ retries ||= @sdk_configuration.retry_config
1580
+ retries ||= Utils::RetryConfig.new(
1581
+ backoff: Utils::BackoffStrategy.new(
1582
+ exponent: 2.0,
1583
+ initial_interval: 500,
1584
+ max_elapsed_time: 30_000,
1585
+ max_interval: 8000
1586
+ ),
1587
+ retry_connection_errors: true,
1588
+ strategy: "backoff"
1589
+ )
1590
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1591
+ retry_options[:retry_statuses] = [408, 429, 500, 501, 502, 503, 504, 505]
1592
+
1593
+ security = @sdk_configuration.security_source&.call
1594
+
1595
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1596
+ timeout ||= @sdk_configuration.timeout
1597
+
1598
+ connection = @sdk_configuration.client.dup
1599
+ connection.use(Utils::RetryMiddleware, retry_options)
1600
+
1601
+ hook_ctx = SDKHooks::HookContext.new(
1602
+ config: @sdk_configuration,
1603
+ base_url: base_url,
1604
+ oauth2_scopes: nil,
1605
+ operation_id: "removeAuditStream",
1606
+ security_source: @sdk_configuration.security_source
1607
+ )
1608
+
1609
+ error = T.let(nil, T.nilable(StandardError))
1610
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1611
+
1612
+ begin
1613
+ http_response = T.must(connection).delete(url) do |req|
1614
+ req.headers.merge!(headers)
1615
+ req.options.timeout = timeout unless timeout.nil?
1616
+ Utils.configure_request_security(req, security)
1617
+ http_headers&.each do |key, value|
1618
+ req.headers[key.to_s] = value
1619
+ end
1620
+
1621
+ @sdk_configuration.hooks.before_request(
1622
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1623
+ hook_ctx: hook_ctx
1624
+ ),
1625
+ request: req
1626
+ )
1627
+ end
1628
+
1629
+ rescue StandardError => e
1630
+ error = e
1631
+ ensure
1632
+ if http_response.nil? || Utils.error_status?(http_response.status)
1633
+ http_response = @sdk_configuration.hooks.after_error(
1634
+ error: error,
1635
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1636
+ hook_ctx: hook_ctx
1637
+ ),
1638
+ response: http_response
1639
+ )
1640
+ else
1641
+ http_response = @sdk_configuration.hooks.after_success(
1642
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1643
+ hook_ctx: hook_ctx
1644
+ ),
1645
+ response: http_response
1646
+ )
1647
+ end
1648
+
1649
+ if http_response.nil?
1650
+ raise error if !error.nil?
1651
+ raise "no response"
1652
+ end
1653
+ end
1654
+
1655
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
1656
+ if Utils.match_status_code(http_response.status, ["200"])
1657
+ if Utils.match_content_type(content_type, "application/json")
1658
+ @sdk_configuration.hooks.after_success(
1659
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1660
+ hook_ctx: hook_ctx
1661
+ ),
1662
+ response: http_response
1663
+ )
1664
+ response_data = http_response.env.response_body
1665
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::AuditStreamList)
1666
+ result = obj
1667
+ response = Models::Operations::RemoveAuditStreamResponse.new(
1668
+ result: result,
1669
+ headers: http_response.headers
1670
+ )
1671
+
1672
+ return response
1673
+ else
1674
+ raise(
1675
+ ::NoResponse::Models::Errors::APIStatusError.new(
1676
+ status_code: http_response.status,
1677
+ body: http_response.env.response_body,
1678
+ raw_response: http_response
1679
+ ),
1680
+ "Unknown content type received"
1681
+ )
1682
+ end
1683
+ elsif Utils.match_status_code(http_response.status, ["400"])
1684
+ if Utils.match_content_type(content_type, "application/problem+json")
1685
+ @sdk_configuration.hooks.after_success(
1686
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1687
+ hook_ctx: hook_ctx
1688
+ ),
1689
+ response: http_response
1690
+ )
1691
+ response_data = http_response.env.response_body
1692
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
1693
+ raise obj
1694
+ else
1695
+ raise(
1696
+ ::NoResponse::Models::Errors::APIStatusError.new(
1697
+ status_code: http_response.status,
1698
+ body: http_response.env.response_body,
1699
+ raw_response: http_response
1700
+ ),
1701
+ "Unknown content type received"
1702
+ )
1703
+ end
1704
+ elsif Utils.match_status_code(http_response.status, ["401"])
1705
+ if Utils.match_content_type(content_type, "application/problem+json")
1706
+ @sdk_configuration.hooks.after_success(
1707
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1708
+ hook_ctx: hook_ctx
1709
+ ),
1710
+ response: http_response
1711
+ )
1712
+ response_data = http_response.env.response_body
1713
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
1714
+ raise obj
1715
+ else
1716
+ raise(
1717
+ ::NoResponse::Models::Errors::APIStatusError.new(
1718
+ status_code: http_response.status,
1719
+ body: http_response.env.response_body,
1720
+ raw_response: http_response
1721
+ ),
1722
+ "Unknown content type received"
1723
+ )
1724
+ end
1725
+ elsif Utils.match_status_code(http_response.status, ["403"])
1726
+ if Utils.match_content_type(content_type, "application/problem+json")
1727
+ @sdk_configuration.hooks.after_success(
1728
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1729
+ hook_ctx: hook_ctx
1730
+ ),
1731
+ response: http_response
1732
+ )
1733
+ response_data = http_response.env.response_body
1734
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
1735
+ raise obj
1736
+ else
1737
+ raise(
1738
+ ::NoResponse::Models::Errors::APIStatusError.new(
1739
+ status_code: http_response.status,
1740
+ body: http_response.env.response_body,
1741
+ raw_response: http_response
1742
+ ),
1743
+ "Unknown content type received"
1744
+ )
1745
+ end
1746
+ elsif Utils.match_status_code(http_response.status, ["404"])
1747
+ if Utils.match_content_type(content_type, "application/problem+json")
1748
+ @sdk_configuration.hooks.after_success(
1749
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1750
+ hook_ctx: hook_ctx
1751
+ ),
1752
+ response: http_response
1753
+ )
1754
+ response_data = http_response.env.response_body
1755
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
1756
+ raise obj
1757
+ else
1758
+ raise(
1759
+ ::NoResponse::Models::Errors::APIStatusError.new(
1760
+ status_code: http_response.status,
1761
+ body: http_response.env.response_body,
1762
+ raw_response: http_response
1763
+ ),
1764
+ "Unknown content type received"
1765
+ )
1766
+ end
1767
+ elsif Utils.match_status_code(http_response.status, ["409"])
1768
+ if Utils.match_content_type(content_type, "application/problem+json")
1769
+ @sdk_configuration.hooks.after_success(
1770
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1771
+ hook_ctx: hook_ctx
1772
+ ),
1773
+ response: http_response
1774
+ )
1775
+ response_data = http_response.env.response_body
1776
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
1777
+ raise obj
1778
+ else
1779
+ raise(
1780
+ ::NoResponse::Models::Errors::APIStatusError.new(
1781
+ status_code: http_response.status,
1782
+ body: http_response.env.response_body,
1783
+ raw_response: http_response
1784
+ ),
1785
+ "Unknown content type received"
1786
+ )
1787
+ end
1788
+ elsif Utils.match_status_code(http_response.status, ["429"])
1789
+ if Utils.match_content_type(content_type, "application/problem+json")
1790
+ @sdk_configuration.hooks.after_success(
1791
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1792
+ hook_ctx: hook_ctx
1793
+ ),
1794
+ response: http_response
1795
+ )
1796
+ response_data = http_response.env.response_body
1797
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
1798
+ raise obj
1799
+ else
1800
+ raise(
1801
+ ::NoResponse::Models::Errors::APIStatusError.new(
1802
+ status_code: http_response.status,
1803
+ body: http_response.env.response_body,
1804
+ raw_response: http_response
1805
+ ),
1806
+ "Unknown content type received"
1807
+ )
1808
+ end
1809
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
1810
+ raise(
1811
+ ::NoResponse::Models::Errors::APIStatusError.new(
1812
+ status_code: http_response.status,
1813
+ body: http_response.env.response_body,
1814
+ raw_response: http_response
1815
+ ),
1816
+ "API error occurred"
1817
+ )
1818
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
1819
+ raise(
1820
+ ::NoResponse::Models::Errors::APIStatusError.new(
1821
+ status_code: http_response.status,
1822
+ body: http_response.env.response_body,
1823
+ raw_response: http_response
1824
+ ),
1825
+ "API error occurred"
1826
+ )
1827
+ else
1828
+ raise(
1829
+ ::NoResponse::Models::Errors::APIStatusError.new(
1830
+ status_code: http_response.status,
1831
+ body: http_response.env.response_body,
1832
+ raw_response: http_response
1833
+ ),
1834
+ "Unknown status code received"
1835
+ )
1836
+
1837
+ end
1838
+ end
1839
+
1840
+ sig {
1841
+ params(
1842
+ body: Models::Shared::AuditStreamReplayRequest,
1843
+ workspace_id: ::String,
1844
+ environment: Models::Shared::Environment,
1845
+ endpoint_id: ::String,
1846
+ timeout_ms: T.nilable(Integer),
1847
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
1848
+ )
1849
+ .returns(Models::Operations::ReplayAuditStreamResponse)
1850
+ }
1851
+ def replay_stream(body:, workspace_id:, environment:, endpoint_id:, timeout_ms: nil, http_headers: nil)
1852
+ # replay_stream - Replay an audit delivery.
1853
+ # Replay a recorded delivery for the current audit subscription. Requires audit_manage. Source retention and the current action filter are checked again before sending. Expired or unsubscribed events are dropped.
1854
+ request = Models::Operations::ReplayAuditStreamRequest.new(
1855
+ workspace_id: workspace_id,
1856
+ environment: environment,
1857
+ endpoint_id: endpoint_id,
1858
+ body: body
1859
+ )
1860
+ url, params = @sdk_configuration.get_server_details
1861
+ base_url = Utils.template_url(url, params)
1862
+ url = Utils.generate_url(
1863
+ Models::Operations::ReplayAuditStreamRequest,
1864
+ base_url,
1865
+ "/v1/workspaces/{workspace_id}/audit_streams/{environment}/{endpoint_id}/replay",
1866
+ request
1867
+ )
1868
+ headers = {}
1869
+ headers = T.cast(headers, T::Hash[String, String])
1870
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
1871
+ headers["content-type"] = req_content_type
1872
+ raise StandardError, "request body is required" if data.nil? && form.nil?
1873
+
1874
+ if form && !form.empty?
1875
+ body = Utils.encode_form(form)
1876
+ elsif Utils.match_content_type(req_content_type, "application/x-www-form-urlencoded")
1877
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
1878
+ else
1879
+ body = data
1880
+ end
1881
+
1882
+ headers["Accept"] = "application/json"
1883
+ headers["user-agent"] = @sdk_configuration.user_agent
1884
+
1885
+ security = @sdk_configuration.security_source&.call
1886
+
1887
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1888
+ timeout ||= @sdk_configuration.timeout
1889
+
1890
+ connection = @sdk_configuration.client
1891
+
1892
+ hook_ctx = SDKHooks::HookContext.new(
1893
+ config: @sdk_configuration,
1894
+ base_url: base_url,
1895
+ oauth2_scopes: nil,
1896
+ operation_id: "replayAuditStream",
1897
+ security_source: @sdk_configuration.security_source
1898
+ )
1899
+
1900
+ error = T.let(nil, T.nilable(StandardError))
1901
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1902
+
1903
+ begin
1904
+ http_response = T.must(connection).post(url) do |req|
1905
+ req.body = body
1906
+ req.headers.merge!(headers)
1907
+ req.options.timeout = timeout unless timeout.nil?
1908
+ Utils.configure_request_security(req, security)
1909
+ http_headers&.each do |key, value|
1910
+ req.headers[key.to_s] = value
1911
+ end
1912
+
1913
+ @sdk_configuration.hooks.before_request(
1914
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1915
+ hook_ctx: hook_ctx
1916
+ ),
1917
+ request: req
1918
+ )
1919
+ end
1920
+
1921
+ rescue StandardError => e
1922
+ error = e
1923
+ ensure
1924
+ if http_response.nil? || Utils.error_status?(http_response.status)
1925
+ http_response = @sdk_configuration.hooks.after_error(
1926
+ error: error,
1927
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1928
+ hook_ctx: hook_ctx
1929
+ ),
1930
+ response: http_response
1931
+ )
1932
+ else
1933
+ http_response = @sdk_configuration.hooks.after_success(
1934
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1935
+ hook_ctx: hook_ctx
1936
+ ),
1937
+ response: http_response
1938
+ )
1939
+ end
1940
+
1941
+ if http_response.nil?
1942
+ raise error if !error.nil?
1943
+ raise "no response"
1944
+ end
1945
+ end
1946
+
1947
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
1948
+ if Utils.match_status_code(http_response.status, ["200"])
1949
+ if Utils.match_content_type(content_type, "application/json")
1950
+ @sdk_configuration.hooks.after_success(
1951
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1952
+ hook_ctx: hook_ctx
1953
+ ),
1954
+ response: http_response
1955
+ )
1956
+ response_data = http_response.env.response_body
1957
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::AuditStreamList)
1958
+ result = obj
1959
+ response = Models::Operations::ReplayAuditStreamResponse.new(
1960
+ result: result,
1961
+ headers: http_response.headers
1962
+ )
1963
+
1964
+ return response
1965
+ else
1966
+ raise(
1967
+ ::NoResponse::Models::Errors::APIStatusError.new(
1968
+ status_code: http_response.status,
1969
+ body: http_response.env.response_body,
1970
+ raw_response: http_response
1971
+ ),
1972
+ "Unknown content type received"
1973
+ )
1974
+ end
1975
+ elsif Utils.match_status_code(http_response.status, ["400"])
1976
+ if Utils.match_content_type(content_type, "application/problem+json")
1977
+ @sdk_configuration.hooks.after_success(
1978
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1979
+ hook_ctx: hook_ctx
1980
+ ),
1981
+ response: http_response
1982
+ )
1983
+ response_data = http_response.env.response_body
1984
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
1985
+ raise obj
1986
+ else
1987
+ raise(
1988
+ ::NoResponse::Models::Errors::APIStatusError.new(
1989
+ status_code: http_response.status,
1990
+ body: http_response.env.response_body,
1991
+ raw_response: http_response
1992
+ ),
1993
+ "Unknown content type received"
1994
+ )
1995
+ end
1996
+ elsif Utils.match_status_code(http_response.status, ["401"])
1997
+ if Utils.match_content_type(content_type, "application/problem+json")
1998
+ @sdk_configuration.hooks.after_success(
1999
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2000
+ hook_ctx: hook_ctx
2001
+ ),
2002
+ response: http_response
2003
+ )
2004
+ response_data = http_response.env.response_body
2005
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
2006
+ raise obj
2007
+ else
2008
+ raise(
2009
+ ::NoResponse::Models::Errors::APIStatusError.new(
2010
+ status_code: http_response.status,
2011
+ body: http_response.env.response_body,
2012
+ raw_response: http_response
2013
+ ),
2014
+ "Unknown content type received"
2015
+ )
2016
+ end
2017
+ elsif Utils.match_status_code(http_response.status, ["403"])
2018
+ if Utils.match_content_type(content_type, "application/problem+json")
2019
+ @sdk_configuration.hooks.after_success(
2020
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2021
+ hook_ctx: hook_ctx
2022
+ ),
2023
+ response: http_response
2024
+ )
2025
+ response_data = http_response.env.response_body
2026
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
2027
+ raise obj
2028
+ else
2029
+ raise(
2030
+ ::NoResponse::Models::Errors::APIStatusError.new(
2031
+ status_code: http_response.status,
2032
+ body: http_response.env.response_body,
2033
+ raw_response: http_response
2034
+ ),
2035
+ "Unknown content type received"
2036
+ )
2037
+ end
2038
+ elsif Utils.match_status_code(http_response.status, ["404"])
2039
+ if Utils.match_content_type(content_type, "application/problem+json")
2040
+ @sdk_configuration.hooks.after_success(
2041
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2042
+ hook_ctx: hook_ctx
2043
+ ),
2044
+ response: http_response
2045
+ )
2046
+ response_data = http_response.env.response_body
2047
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
2048
+ raise obj
2049
+ else
2050
+ raise(
2051
+ ::NoResponse::Models::Errors::APIStatusError.new(
2052
+ status_code: http_response.status,
2053
+ body: http_response.env.response_body,
2054
+ raw_response: http_response
2055
+ ),
2056
+ "Unknown content type received"
2057
+ )
2058
+ end
2059
+ elsif Utils.match_status_code(http_response.status, ["409"])
2060
+ if Utils.match_content_type(content_type, "application/problem+json")
2061
+ @sdk_configuration.hooks.after_success(
2062
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2063
+ hook_ctx: hook_ctx
2064
+ ),
2065
+ response: http_response
2066
+ )
2067
+ response_data = http_response.env.response_body
2068
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
2069
+ raise obj
2070
+ else
2071
+ raise(
2072
+ ::NoResponse::Models::Errors::APIStatusError.new(
2073
+ status_code: http_response.status,
2074
+ body: http_response.env.response_body,
2075
+ raw_response: http_response
2076
+ ),
2077
+ "Unknown content type received"
2078
+ )
2079
+ end
2080
+ elsif Utils.match_status_code(http_response.status, ["429"])
2081
+ if Utils.match_content_type(content_type, "application/problem+json")
2082
+ @sdk_configuration.hooks.after_success(
2083
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2084
+ hook_ctx: hook_ctx
2085
+ ),
2086
+ response: http_response
2087
+ )
2088
+ response_data = http_response.env.response_body
2089
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
2090
+ raise obj
2091
+ else
2092
+ raise(
2093
+ ::NoResponse::Models::Errors::APIStatusError.new(
2094
+ status_code: http_response.status,
2095
+ body: http_response.env.response_body,
2096
+ raw_response: http_response
2097
+ ),
2098
+ "Unknown content type received"
2099
+ )
2100
+ end
2101
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
2102
+ raise(
2103
+ ::NoResponse::Models::Errors::APIStatusError.new(
2104
+ status_code: http_response.status,
2105
+ body: http_response.env.response_body,
2106
+ raw_response: http_response
2107
+ ),
2108
+ "API error occurred"
2109
+ )
2110
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
2111
+ raise(
2112
+ ::NoResponse::Models::Errors::APIStatusError.new(
2113
+ status_code: http_response.status,
2114
+ body: http_response.env.response_body,
2115
+ raw_response: http_response
2116
+ ),
2117
+ "API error occurred"
2118
+ )
2119
+ else
2120
+ raise(
2121
+ ::NoResponse::Models::Errors::APIStatusError.new(
2122
+ status_code: http_response.status,
2123
+ body: http_response.env.response_body,
2124
+ raw_response: http_response
2125
+ ),
2126
+ "Unknown status code received"
2127
+ )
2128
+
2129
+ end
2130
+ end
2131
+ end
2132
+ end