noresponse 8.4.1 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (570) hide show
  1. checksums.yaml +4 -4
  2. data/lib/no_response/accounts.rb +794 -126
  3. data/lib/no_response/audit.rb +2132 -0
  4. data/lib/no_response/erasures.rb +328 -0
  5. data/lib/no_response/evaluations.rb +1856 -0
  6. data/lib/no_response/exports.rb +1837 -0
  7. data/lib/no_response/invites.rb +1179 -0
  8. data/lib/no_response/keys.rb +2 -2
  9. data/lib/no_response/keyusage.rb +2 -0
  10. data/lib/no_response/lists.rb +947 -5
  11. data/lib/no_response/members.rb +906 -0
  12. data/lib/no_response/models/operations/addreviewsubject_request.rb +57 -0
  13. data/lib/no_response/models/operations/addreviewsubject_request.rbi +32 -0
  14. data/lib/no_response/models/operations/addreviewsubject_response.rb +32 -0
  15. data/lib/no_response/models/operations/addreviewsubject_response.rbi +20 -0
  16. data/lib/no_response/models/operations/aggregaterequests_response.rb +32 -0
  17. data/lib/no_response/models/operations/aggregaterequests_response.rbi +20 -0
  18. data/lib/no_response/models/operations/aggregatewebhooks_response.rb +32 -0
  19. data/lib/no_response/models/operations/aggregatewebhooks_response.rbi +20 -0
  20. data/lib/no_response/models/operations/cancelcustomerexport_request.rb +43 -0
  21. data/lib/no_response/models/operations/cancelcustomerexport_request.rbi +26 -0
  22. data/lib/no_response/models/operations/cancelcustomerexport_response.rb +32 -0
  23. data/lib/no_response/models/operations/cancelcustomerexport_response.rbi +20 -0
  24. data/lib/no_response/models/operations/cancelpolicyevaluation_request.rb +61 -0
  25. data/lib/no_response/models/operations/cancelpolicyevaluation_request.rbi +32 -0
  26. data/lib/no_response/models/operations/cancelpolicyevaluation_response.rb +32 -0
  27. data/lib/no_response/models/operations/cancelpolicyevaluation_response.rbi +20 -0
  28. data/lib/no_response/models/operations/changelists_request.rb +61 -0
  29. data/lib/no_response/models/operations/changelists_request.rbi +32 -0
  30. data/lib/no_response/models/operations/changelists_response.rb +32 -0
  31. data/lib/no_response/models/operations/changelists_response.rbi +20 -0
  32. data/lib/no_response/models/operations/commentreview_request.rb +57 -0
  33. data/lib/no_response/models/operations/commentreview_request.rbi +32 -0
  34. data/lib/no_response/models/operations/commentreview_response.rb +32 -0
  35. data/lib/no_response/models/operations/commentreview_response.rbi +20 -0
  36. data/lib/no_response/models/operations/configureauditstream_request.rb +52 -0
  37. data/lib/no_response/models/operations/configureauditstream_request.rbi +26 -0
  38. data/lib/no_response/models/operations/configureauditstream_response.rb +32 -0
  39. data/lib/no_response/models/operations/configureauditstream_response.rbi +20 -0
  40. data/lib/no_response/models/operations/createcustomerexport_request.rb +52 -0
  41. data/lib/no_response/models/operations/createcustomerexport_request.rbi +26 -0
  42. data/lib/no_response/models/operations/createcustomerexport_response.rb +32 -0
  43. data/lib/no_response/models/operations/createcustomerexport_response.rbi +20 -0
  44. data/lib/no_response/models/operations/createinvite_request.rb +37 -0
  45. data/lib/no_response/models/operations/createinvite_request.rbi +20 -0
  46. data/lib/no_response/models/operations/createinvite_response.rb +32 -0
  47. data/lib/no_response/models/operations/createinvite_response.rbi +20 -0
  48. data/lib/no_response/models/operations/createpolicyevaluation_request.rb +61 -0
  49. data/lib/no_response/models/operations/createpolicyevaluation_request.rbi +32 -0
  50. data/lib/no_response/models/operations/createpolicyevaluation_response.rb +32 -0
  51. data/lib/no_response/models/operations/createpolicyevaluation_response.rbi +20 -0
  52. data/lib/no_response/models/operations/createreview_request.rb +52 -0
  53. data/lib/no_response/models/operations/createreview_request.rbi +26 -0
  54. data/lib/no_response/models/operations/createreview_response.rb +32 -0
  55. data/lib/no_response/models/operations/createreview_response.rbi +20 -0
  56. data/lib/no_response/models/operations/createreviewview_request.rb +52 -0
  57. data/lib/no_response/models/operations/createreviewview_request.rbi +26 -0
  58. data/lib/no_response/models/operations/createreviewview_response.rb +32 -0
  59. data/lib/no_response/models/operations/createreviewview_response.rbi +20 -0
  60. data/lib/no_response/models/operations/deletereviewsubject_request.rb +62 -0
  61. data/lib/no_response/models/operations/deletereviewsubject_request.rbi +38 -0
  62. data/lib/no_response/models/operations/deletereviewsubject_response.rb +32 -0
  63. data/lib/no_response/models/operations/deletereviewsubject_response.rbi +20 -0
  64. data/lib/no_response/models/operations/deletereviewview_request.rb +57 -0
  65. data/lib/no_response/models/operations/deletereviewview_request.rbi +32 -0
  66. data/lib/no_response/models/operations/deletereviewview_response.rb +28 -0
  67. data/lib/no_response/models/operations/deletereviewview_response.rbi +14 -0
  68. data/lib/no_response/models/operations/downloadcustomerexportchunk_request.rb +45 -0
  69. data/lib/no_response/models/operations/downloadcustomerexportchunk_request.rbi +26 -0
  70. data/lib/no_response/models/operations/downloadcustomerexportchunk_response.rb +32 -0
  71. data/lib/no_response/models/operations/downloadcustomerexportchunk_response.rbi +20 -0
  72. data/lib/no_response/models/operations/environment.rb +15 -0
  73. data/lib/no_response/models/operations/environment.rbi +9 -0
  74. data/lib/no_response/models/operations/exportreview_request.rb +45 -0
  75. data/lib/no_response/models/operations/exportreview_request.rbi +26 -0
  76. data/lib/no_response/models/operations/exportreview_response.rb +32 -0
  77. data/lib/no_response/models/operations/exportreview_response.rbi +20 -0
  78. data/lib/no_response/models/operations/getauditretention_request.rb +41 -0
  79. data/lib/no_response/models/operations/getauditretention_request.rbi +20 -0
  80. data/lib/no_response/models/operations/getauditretention_response.rb +32 -0
  81. data/lib/no_response/models/operations/getauditretention_response.rbi +20 -0
  82. data/lib/no_response/models/operations/getcustomerexport_request.rb +37 -0
  83. data/lib/no_response/models/operations/getcustomerexport_request.rbi +20 -0
  84. data/lib/no_response/models/operations/getcustomerexport_response.rb +32 -0
  85. data/lib/no_response/models/operations/getcustomerexport_response.rbi +20 -0
  86. data/lib/no_response/models/operations/geterasurereceipt_request.rb +28 -0
  87. data/lib/no_response/models/operations/geterasurereceipt_request.rbi +14 -0
  88. data/lib/no_response/models/operations/geterasurereceipt_response.rb +32 -0
  89. data/lib/no_response/models/operations/geterasurereceipt_response.rbi +20 -0
  90. data/lib/no_response/models/operations/getlistchange_request.rb +45 -0
  91. data/lib/no_response/models/operations/getlistchange_request.rbi +26 -0
  92. data/lib/no_response/models/operations/getlistchange_response.rb +32 -0
  93. data/lib/no_response/models/operations/getlistchange_response.rbi +20 -0
  94. data/lib/no_response/models/operations/getpolicyevaluation_request.rb +51 -0
  95. data/lib/no_response/models/operations/getpolicyevaluation_request.rbi +26 -0
  96. data/lib/no_response/models/operations/getpolicyevaluation_response.rb +32 -0
  97. data/lib/no_response/models/operations/getpolicyevaluation_response.rbi +20 -0
  98. data/lib/no_response/models/operations/getpolicyevaluationresult_request.rb +51 -0
  99. data/lib/no_response/models/operations/getpolicyevaluationresult_request.rbi +26 -0
  100. data/lib/no_response/models/operations/getpolicyevaluationresult_response.rb +34 -0
  101. data/lib/no_response/models/operations/getpolicyevaluationresult_response.rbi +20 -0
  102. data/lib/no_response/models/operations/getreview_request.rb +45 -0
  103. data/lib/no_response/models/operations/getreview_request.rbi +26 -0
  104. data/lib/no_response/models/operations/getreview_response.rb +32 -0
  105. data/lib/no_response/models/operations/getreview_response.rbi +20 -0
  106. data/lib/no_response/models/operations/getusage_request.rb +49 -0
  107. data/lib/no_response/models/operations/getusage_request.rbi +26 -0
  108. data/lib/no_response/models/operations/getusage_response.rb +32 -0
  109. data/lib/no_response/models/operations/getusage_response.rbi +20 -0
  110. data/lib/no_response/models/operations/listaccountcredentials_response.rb +12 -0
  111. data/lib/no_response/models/operations/listaccountdecisions_request.rb +45 -0
  112. data/lib/no_response/models/operations/listaccountdecisions_request.rbi +26 -0
  113. data/lib/no_response/models/operations/listaccountdecisions_response.rb +44 -0
  114. data/lib/no_response/models/operations/listaccountdecisions_response.rbi +20 -0
  115. data/lib/no_response/models/operations/listaccountenforcements_request.rb +45 -0
  116. data/lib/no_response/models/operations/listaccountenforcements_request.rbi +26 -0
  117. data/lib/no_response/models/operations/listaccountenforcements_response.rb +46 -0
  118. data/lib/no_response/models/operations/listaccountenforcements_response.rbi +20 -0
  119. data/lib/no_response/models/operations/listaccountoutcomes_response.rb +12 -0
  120. data/lib/no_response/models/operations/listauditevents_request.rb +140 -0
  121. data/lib/no_response/models/operations/listauditevents_request.rbi +74 -0
  122. data/lib/no_response/models/operations/listauditevents_response.rb +44 -0
  123. data/lib/no_response/models/operations/listauditevents_response.rbi +20 -0
  124. data/lib/no_response/models/operations/listauditstreams_request.rb +41 -0
  125. data/lib/no_response/models/operations/listauditstreams_request.rbi +20 -0
  126. data/lib/no_response/models/operations/listauditstreams_response.rb +32 -0
  127. data/lib/no_response/models/operations/listauditstreams_response.rbi +20 -0
  128. data/lib/no_response/models/operations/listcustomerexports_request.rb +74 -0
  129. data/lib/no_response/models/operations/listcustomerexports_request.rbi +38 -0
  130. data/lib/no_response/models/operations/listcustomerexports_response.rb +44 -0
  131. data/lib/no_response/models/operations/listcustomerexports_response.rbi +20 -0
  132. data/lib/no_response/models/operations/listinvites_request.rb +33 -0
  133. data/lib/no_response/models/operations/listinvites_request.rbi +14 -0
  134. data/lib/no_response/models/operations/listinvites_response.rb +32 -0
  135. data/lib/no_response/models/operations/listinvites_response.rbi +20 -0
  136. data/lib/no_response/models/operations/listlistentries_request.rb +26 -2
  137. data/lib/no_response/models/operations/listlistentries_request.rbi +12 -0
  138. data/lib/no_response/models/operations/listlistentries_response.rb +12 -0
  139. data/lib/no_response/models/operations/listmembers_request.rb +33 -0
  140. data/lib/no_response/models/operations/listmembers_request.rbi +14 -0
  141. data/lib/no_response/models/operations/listmembers_response.rb +32 -0
  142. data/lib/no_response/models/operations/listmembers_response.rbi +20 -0
  143. data/lib/no_response/models/operations/listpolicyevaluations_request.rb +65 -0
  144. data/lib/no_response/models/operations/listpolicyevaluations_request.rbi +32 -0
  145. data/lib/no_response/models/operations/listpolicyevaluations_response.rb +44 -0
  146. data/lib/no_response/models/operations/listpolicyevaluations_response.rbi +20 -0
  147. data/lib/no_response/models/operations/listpolicyhistory_request.rb +65 -0
  148. data/lib/no_response/models/operations/listpolicyhistory_request.rbi +32 -0
  149. data/lib/no_response/models/operations/listpolicyhistory_response.rb +32 -0
  150. data/lib/no_response/models/operations/listpolicyhistory_response.rbi +20 -0
  151. data/lib/no_response/models/operations/listrequestdiagnostics_request.rb +10 -1
  152. data/lib/no_response/models/operations/listrequestdiagnostics_request.rbi +6 -0
  153. data/lib/no_response/models/operations/listrequestdiagnostics_response.rb +12 -0
  154. data/lib/no_response/models/operations/listreviewcomments_request.rb +70 -0
  155. data/lib/no_response/models/operations/listreviewcomments_request.rbi +38 -0
  156. data/lib/no_response/models/operations/listreviewcomments_response.rb +44 -0
  157. data/lib/no_response/models/operations/listreviewcomments_response.rbi +20 -0
  158. data/lib/no_response/models/operations/listreviewresolutions_request.rb +70 -0
  159. data/lib/no_response/models/operations/listreviewresolutions_request.rbi +38 -0
  160. data/lib/no_response/models/operations/listreviewresolutions_response.rb +32 -0
  161. data/lib/no_response/models/operations/listreviewresolutions_response.rbi +20 -0
  162. data/lib/no_response/models/operations/listreviews_request.rb +120 -0
  163. data/lib/no_response/models/operations/listreviews_request.rbi +62 -0
  164. data/lib/no_response/models/operations/listreviews_response.rb +44 -0
  165. data/lib/no_response/models/operations/listreviews_response.rbi +20 -0
  166. data/lib/no_response/models/operations/listreviewsubjects_request.rb +45 -0
  167. data/lib/no_response/models/operations/listreviewsubjects_request.rbi +26 -0
  168. data/lib/no_response/models/operations/listreviewsubjects_response.rb +32 -0
  169. data/lib/no_response/models/operations/listreviewsubjects_response.rbi +20 -0
  170. data/lib/no_response/models/operations/listreviewviews_request.rb +41 -0
  171. data/lib/no_response/models/operations/listreviewviews_request.rbi +20 -0
  172. data/lib/no_response/models/operations/listreviewviews_response.rb +32 -0
  173. data/lib/no_response/models/operations/listreviewviews_response.rbi +20 -0
  174. data/lib/no_response/models/operations/previewlist_request.rb +52 -0
  175. data/lib/no_response/models/operations/previewlist_request.rbi +26 -0
  176. data/lib/no_response/models/operations/previewlist_response.rb +32 -0
  177. data/lib/no_response/models/operations/previewlist_response.rbi +20 -0
  178. data/lib/no_response/models/operations/previewpolicy_request.rb +52 -0
  179. data/lib/no_response/models/operations/previewpolicy_request.rbi +26 -0
  180. data/lib/no_response/models/operations/previewpolicy_response.rb +32 -0
  181. data/lib/no_response/models/operations/previewpolicy_response.rbi +20 -0
  182. data/lib/no_response/models/operations/publishpolicyevaluation_request.rb +61 -0
  183. data/lib/no_response/models/operations/publishpolicyevaluation_request.rbi +32 -0
  184. data/lib/no_response/models/operations/publishpolicyevaluation_response.rb +32 -0
  185. data/lib/no_response/models/operations/publishpolicyevaluation_response.rbi +20 -0
  186. data/lib/no_response/models/operations/removeauditstream_request.rb +45 -0
  187. data/lib/no_response/models/operations/removeauditstream_request.rbi +26 -0
  188. data/lib/no_response/models/operations/removeauditstream_response.rb +32 -0
  189. data/lib/no_response/models/operations/removeauditstream_response.rbi +20 -0
  190. data/lib/no_response/models/operations/removemember_request.rb +37 -0
  191. data/lib/no_response/models/operations/removemember_request.rbi +20 -0
  192. data/lib/no_response/models/operations/removemember_response.rb +28 -0
  193. data/lib/no_response/models/operations/removemember_response.rbi +14 -0
  194. data/lib/no_response/models/operations/replayauditstream_request.rb +57 -0
  195. data/lib/no_response/models/operations/replayauditstream_request.rbi +32 -0
  196. data/lib/no_response/models/operations/replayauditstream_response.rb +32 -0
  197. data/lib/no_response/models/operations/replayauditstream_response.rbi +20 -0
  198. data/lib/no_response/models/operations/resendinvite_request.rb +41 -0
  199. data/lib/no_response/models/operations/resendinvite_request.rbi +26 -0
  200. data/lib/no_response/models/operations/resendinvite_response.rb +32 -0
  201. data/lib/no_response/models/operations/resendinvite_response.rbi +20 -0
  202. data/lib/no_response/models/operations/resolvereview_request.rb +57 -0
  203. data/lib/no_response/models/operations/resolvereview_request.rbi +32 -0
  204. data/lib/no_response/models/operations/resolvereview_response.rb +32 -0
  205. data/lib/no_response/models/operations/resolvereview_response.rbi +20 -0
  206. data/lib/no_response/models/operations/restorepolicy_request.rb +52 -0
  207. data/lib/no_response/models/operations/restorepolicy_request.rbi +26 -0
  208. data/lib/no_response/models/operations/restorepolicy_response.rb +32 -0
  209. data/lib/no_response/models/operations/restorepolicy_response.rbi +20 -0
  210. data/lib/no_response/models/operations/retrycustomerexport_request.rb +43 -0
  211. data/lib/no_response/models/operations/retrycustomerexport_request.rbi +26 -0
  212. data/lib/no_response/models/operations/retrycustomerexport_response.rb +32 -0
  213. data/lib/no_response/models/operations/retrycustomerexport_response.rbi +20 -0
  214. data/lib/no_response/models/operations/revokeinvite_request.rb +37 -0
  215. data/lib/no_response/models/operations/revokeinvite_request.rbi +20 -0
  216. data/lib/no_response/models/operations/revokeinvite_response.rb +28 -0
  217. data/lib/no_response/models/operations/revokeinvite_response.rbi +14 -0
  218. data/lib/no_response/models/operations/summarizeworkspaceoperations_request.rb +37 -0
  219. data/lib/no_response/models/operations/summarizeworkspaceoperations_request.rbi +20 -0
  220. data/lib/no_response/models/operations/summarizeworkspaceoperations_response.rb +34 -0
  221. data/lib/no_response/models/operations/summarizeworkspaceoperations_response.rbi +20 -0
  222. data/lib/no_response/models/operations/updateauditretention_request.rb +52 -0
  223. data/lib/no_response/models/operations/updateauditretention_request.rbi +26 -0
  224. data/lib/no_response/models/operations/updateauditretention_response.rb +32 -0
  225. data/lib/no_response/models/operations/updateauditretention_response.rbi +20 -0
  226. data/lib/no_response/models/operations/updatemember_request.rb +41 -0
  227. data/lib/no_response/models/operations/updatemember_request.rbi +26 -0
  228. data/lib/no_response/models/operations/updatemember_response.rb +32 -0
  229. data/lib/no_response/models/operations/updatemember_response.rbi +20 -0
  230. data/lib/no_response/models/operations/updatereview_request.rb +57 -0
  231. data/lib/no_response/models/operations/updatereview_request.rbi +32 -0
  232. data/lib/no_response/models/operations/updatereview_response.rb +32 -0
  233. data/lib/no_response/models/operations/updatereview_response.rbi +20 -0
  234. data/lib/no_response/models/operations/updatereviewview_request.rb +57 -0
  235. data/lib/no_response/models/operations/updatereviewview_request.rbi +32 -0
  236. data/lib/no_response/models/operations/updatereviewview_response.rb +32 -0
  237. data/lib/no_response/models/operations/updatereviewview_response.rbi +20 -0
  238. data/lib/no_response/models/operations.rb +121 -0
  239. data/lib/no_response/models/shared/accountdecisionlist.rb +56 -0
  240. data/lib/no_response/models/shared/accountdecisionlist.rbi +26 -0
  241. data/lib/no_response/models/shared/accountdeletion.rb +11 -2
  242. data/lib/no_response/models/shared/accountdeletion.rbi +6 -0
  243. data/lib/no_response/models/shared/accountenforcementlist.rb +52 -0
  244. data/lib/no_response/models/shared/accountenforcementlist.rbi +26 -0
  245. data/lib/no_response/models/shared/accountoutcomeactor.rb +50 -11
  246. data/lib/no_response/models/shared/accountoutcomeactor.rbi +20 -2
  247. data/lib/no_response/models/shared/accountoutcomeactortype.rb +19 -0
  248. data/lib/no_response/models/shared/accountoutcomeactortype.rbi +9 -0
  249. data/lib/no_response/models/shared/accountriskreason.rb +1 -1
  250. data/lib/no_response/models/shared/action.rb +19 -0
  251. data/lib/no_response/models/shared/{defaultdepth.rbi → action.rbi} +2 -2
  252. data/lib/no_response/models/shared/actor.rb +23 -0
  253. data/lib/no_response/models/shared/actor.rbi +9 -0
  254. data/lib/no_response/models/shared/aggregategroup.rb +6 -6
  255. data/lib/no_response/models/shared/aggregategrouplistmatch.rb +20 -0
  256. data/lib/no_response/models/shared/aggregategrouplistmatch.rbi +9 -0
  257. data/lib/no_response/models/shared/assessmentaggregate.rb +10 -0
  258. data/lib/no_response/models/shared/assessmentaggregate.rbi +6 -0
  259. data/lib/no_response/models/shared/assessmentaggregatecoverage.rb +133 -0
  260. data/lib/no_response/models/shared/assessmentaggregatecoverage.rbi +62 -0
  261. data/lib/no_response/models/shared/assessmentaggregaterequest.rb +132 -2
  262. data/lib/no_response/models/shared/assessmentaggregaterequest.rbi +60 -0
  263. data/lib/no_response/models/shared/assessmentdeletion.rb +11 -2
  264. data/lib/no_response/models/shared/assessmentdeletion.rbi +6 -0
  265. data/lib/no_response/models/shared/assessmentsearchrequest.rb +115 -0
  266. data/lib/no_response/models/shared/assessmentsearchrequest.rbi +54 -0
  267. data/lib/no_response/models/shared/auditevent.rb +163 -0
  268. data/lib/no_response/models/shared/auditevent.rbi +74 -0
  269. data/lib/no_response/models/shared/auditeventevent.rb +70 -0
  270. data/lib/no_response/models/shared/auditeventevent.rbi +38 -0
  271. data/lib/no_response/models/shared/auditeventlist.rb +52 -0
  272. data/lib/no_response/models/shared/auditeventlist.rbi +26 -0
  273. data/lib/no_response/models/shared/auditeventtarget.rb +47 -0
  274. data/lib/no_response/models/shared/auditeventtarget.rbi +20 -0
  275. data/lib/no_response/models/shared/auditeventtargettype.rb +26 -0
  276. data/lib/no_response/models/shared/auditeventtargettype.rbi +9 -0
  277. data/lib/no_response/models/shared/auditsettings.rb +74 -0
  278. data/lib/no_response/models/shared/auditsettings.rbi +32 -0
  279. data/lib/no_response/models/shared/auditsettingsenvironment.rb +19 -0
  280. data/lib/no_response/models/shared/auditsettingsenvironment.rbi +9 -0
  281. data/lib/no_response/models/shared/auditsettingsrequest.rb +32 -0
  282. data/lib/no_response/models/shared/auditsettingsrequest.rbi +14 -0
  283. data/lib/no_response/models/shared/auditstream.rb +111 -0
  284. data/lib/no_response/models/shared/auditstream.rbi +50 -0
  285. data/lib/no_response/models/shared/auditstreamlist.rb +32 -0
  286. data/lib/no_response/models/shared/auditstreamlist.rbi +14 -0
  287. data/lib/no_response/models/shared/auditstreamreplayrequest.rb +33 -0
  288. data/lib/no_response/models/shared/auditstreamreplayrequest.rbi +14 -0
  289. data/lib/no_response/models/shared/auditstreamrequest.rb +40 -0
  290. data/lib/no_response/models/shared/auditstreamrequest.rbi +20 -0
  291. data/lib/no_response/models/shared/band.rb +1 -1
  292. data/lib/no_response/models/shared/conclusion.rb +20 -0
  293. data/lib/no_response/models/shared/conclusion.rbi +9 -0
  294. data/lib/no_response/models/shared/conflicterrorcode.rb +10 -0
  295. data/lib/no_response/models/shared/consolelookups.rb +45 -0
  296. data/lib/no_response/models/shared/consolelookups.rbi +26 -0
  297. data/lib/no_response/models/shared/cost.rb +48 -0
  298. data/lib/no_response/models/shared/cost.rbi +32 -0
  299. data/lib/no_response/models/shared/coverage.rb +40 -0
  300. data/lib/no_response/models/shared/coverage.rbi +20 -0
  301. data/lib/no_response/models/shared/customerexport.rb +209 -0
  302. data/lib/no_response/models/shared/customerexport.rbi +104 -0
  303. data/lib/no_response/models/shared/customerexportactionrequest.rb +23 -0
  304. data/lib/no_response/models/shared/customerexportactionrequest.rbi +9 -0
  305. data/lib/no_response/models/shared/customerexportchunk.rb +78 -0
  306. data/lib/no_response/models/shared/customerexportchunk.rbi +44 -0
  307. data/lib/no_response/models/shared/customerexportlist.rb +40 -0
  308. data/lib/no_response/models/shared/customerexportlist.rbi +20 -0
  309. data/lib/no_response/models/shared/customerexportrequest.rb +90 -0
  310. data/lib/no_response/models/shared/customerexportrequest.rbi +38 -0
  311. data/lib/no_response/models/shared/customerexportrequestfilter.rb +122 -0
  312. data/lib/no_response/models/shared/customerexportrequestfilter.rbi +56 -0
  313. data/lib/no_response/models/shared/customerexportrequestfilteroutcome.rb +19 -0
  314. data/lib/no_response/models/shared/customerexportrequestfilteroutcome.rbi +9 -0
  315. data/lib/no_response/models/shared/customerexportrequestkind.rb +19 -0
  316. data/lib/no_response/models/shared/customerexportrequestkind.rbi +9 -0
  317. data/lib/no_response/models/shared/customerexportstatus.rb +23 -0
  318. data/lib/no_response/models/shared/customerexportstatus.rbi +9 -0
  319. data/lib/no_response/models/shared/enforcements.rb +93 -0
  320. data/lib/no_response/models/shared/enforcements.rbi +44 -0
  321. data/lib/no_response/models/shared/environment.rb +6 -2
  322. data/lib/no_response/models/shared/erasurereceipt.rb +118 -0
  323. data/lib/no_response/models/shared/erasurereceipt.rbi +56 -0
  324. data/lib/no_response/models/shared/erasurereceiptkind.rb +20 -0
  325. data/lib/no_response/models/shared/erasurereceiptkind.rbi +9 -0
  326. data/lib/no_response/models/shared/erasurereceipttarget.rb +67 -0
  327. data/lib/no_response/models/shared/erasurereceipttarget.rbi +26 -0
  328. data/lib/no_response/models/shared/erasurereceipttargetname.rb +21 -0
  329. data/lib/no_response/models/shared/erasurereceipttargetname.rbi +9 -0
  330. data/lib/no_response/models/shared/erasurereceipttargetstatus.rb +19 -0
  331. data/lib/no_response/models/shared/erasurereceipttargetstatus.rbi +9 -0
  332. data/lib/no_response/models/shared/exclusion.rb +1 -0
  333. data/lib/no_response/models/shared/export.rb +73 -0
  334. data/lib/no_response/models/shared/export.rbi +38 -0
  335. data/lib/no_response/models/shared/filter.rb +83 -0
  336. data/lib/no_response/models/shared/filter.rbi +38 -0
  337. data/lib/no_response/models/shared/flowchange.rb +4 -4
  338. data/lib/no_response/models/shared/flowsettings.rb +4 -4
  339. data/lib/no_response/models/shared/from.rb +22 -0
  340. data/lib/no_response/models/shared/from.rbi +9 -0
  341. data/lib/no_response/models/shared/impact.rb +1 -1
  342. data/lib/no_response/models/shared/invite.rb +152 -0
  343. data/lib/no_response/models/shared/invite.rbi +80 -0
  344. data/lib/no_response/models/shared/invite_denied_action.rb +20 -0
  345. data/lib/no_response/models/shared/invite_denied_action.rbi +9 -0
  346. data/lib/no_response/models/shared/invite_environment.rb +19 -0
  347. data/lib/no_response/models/shared/invite_environment.rbi +9 -0
  348. data/lib/no_response/models/shared/invitelist.rb +32 -0
  349. data/lib/no_response/models/shared/invitelist.rbi +14 -0
  350. data/lib/no_response/models/shared/inviterequest.rb +80 -0
  351. data/lib/no_response/models/shared/inviterequest.rbi +38 -0
  352. data/lib/no_response/models/shared/inviterequest_denied_action.rb +17 -0
  353. data/lib/no_response/models/shared/inviterequest_denied_action.rbi +9 -0
  354. data/lib/no_response/models/shared/inviterequest_environment.rb +16 -0
  355. data/lib/no_response/models/shared/inviterequest_environment.rbi +9 -0
  356. data/lib/no_response/models/shared/inviteresendrequest.rb +23 -0
  357. data/lib/no_response/models/shared/inviteresendrequest.rbi +9 -0
  358. data/lib/no_response/models/shared/key.rb +68 -3
  359. data/lib/no_response/models/shared/key.rbi +36 -0
  360. data/lib/no_response/models/shared/key_scope.rb +10 -0
  361. data/lib/no_response/models/shared/keyactor.rb +41 -0
  362. data/lib/no_response/models/shared/keyactor.rbi +20 -0
  363. data/lib/no_response/models/shared/keykind.rb +19 -0
  364. data/lib/no_response/models/shared/keykind.rbi +9 -0
  365. data/lib/no_response/models/shared/keyrequest.rb +57 -3
  366. data/lib/no_response/models/shared/keyrequest.rbi +30 -0
  367. data/lib/no_response/models/shared/keyrequest_scope.rb +10 -0
  368. data/lib/no_response/models/shared/listbulkrequest.rb +42 -0
  369. data/lib/no_response/models/shared/listbulkrequest.rbi +20 -0
  370. data/lib/no_response/models/shared/listchange.rb +98 -0
  371. data/lib/no_response/models/shared/listchange.rbi +50 -0
  372. data/lib/no_response/models/shared/listchangestate.rb +19 -0
  373. data/lib/no_response/models/shared/listchangestate.rbi +9 -0
  374. data/lib/no_response/models/shared/listentry.rb +22 -2
  375. data/lib/no_response/models/shared/listentry.rbi +6 -0
  376. data/lib/no_response/models/shared/listentrylist.rb +11 -3
  377. data/lib/no_response/models/shared/listentrylist.rbi +6 -0
  378. data/lib/no_response/models/shared/listentryrequest.rb +11 -2
  379. data/lib/no_response/models/shared/listentryrequest.rbi +6 -0
  380. data/lib/no_response/models/shared/listimpact.rb +154 -0
  381. data/lib/no_response/models/shared/listimpact.rbi +68 -0
  382. data/lib/no_response/models/shared/listimpactkind.rb +19 -0
  383. data/lib/no_response/models/shared/listimpactkind.rbi +9 -0
  384. data/lib/no_response/models/shared/listimpacttransition.rb +67 -0
  385. data/lib/no_response/models/shared/listimpacttransition.rbi +26 -0
  386. data/lib/no_response/models/shared/listimpacttransitionfrom.rb +20 -0
  387. data/lib/no_response/models/shared/listimpacttransitionfrom.rbi +9 -0
  388. data/lib/no_response/models/shared/listmatch.rb +4 -6
  389. data/lib/no_response/models/shared/listpreviewrequest.rb +41 -0
  390. data/lib/no_response/models/shared/listpreviewrequest.rbi +20 -0
  391. data/lib/no_response/models/shared/member.rb +158 -0
  392. data/lib/no_response/models/shared/member.rbi +80 -0
  393. data/lib/no_response/models/shared/member_denied_action.rb +20 -0
  394. data/lib/no_response/models/shared/member_denied_action.rbi +9 -0
  395. data/lib/no_response/models/shared/member_environment.rb +19 -0
  396. data/lib/no_response/models/shared/member_environment.rbi +9 -0
  397. data/lib/no_response/models/shared/memberlist.rb +32 -0
  398. data/lib/no_response/models/shared/memberlist.rbi +14 -0
  399. data/lib/no_response/models/shared/memberstatus.rb +18 -0
  400. data/lib/no_response/models/shared/memberstatus.rbi +9 -0
  401. data/lib/no_response/models/shared/memberupdaterequest.rb +62 -0
  402. data/lib/no_response/models/shared/memberupdaterequest.rbi +26 -0
  403. data/lib/no_response/models/shared/memberupdaterequest_denied_action.rb +17 -0
  404. data/lib/no_response/models/shared/memberupdaterequest_denied_action.rbi +9 -0
  405. data/lib/no_response/models/shared/memberupdaterequest_environment.rb +16 -0
  406. data/lib/no_response/models/shared/memberupdaterequest_environment.rbi +9 -0
  407. data/lib/no_response/models/shared/metric.rb +20 -0
  408. data/lib/no_response/models/shared/metric.rbi +9 -0
  409. data/lib/no_response/models/shared/operationalaggregate.rb +175 -0
  410. data/lib/no_response/models/shared/operationalaggregate.rbi +86 -0
  411. data/lib/no_response/models/shared/operationalaggregatebucket.rb +149 -0
  412. data/lib/no_response/models/shared/operationalaggregatebucket.rbi +80 -0
  413. data/lib/no_response/models/shared/operationalaggregatequeue.rb +64 -0
  414. data/lib/no_response/models/shared/operationalaggregatequeue.rbi +32 -0
  415. data/lib/no_response/models/shared/operationalaggregatetotals.rb +139 -0
  416. data/lib/no_response/models/shared/operationalaggregatetotals.rbi +74 -0
  417. data/lib/no_response/models/shared/outcomes.rb +93 -0
  418. data/lib/no_response/models/shared/outcomes.rbi +44 -0
  419. data/lib/no_response/models/shared/outcomesbyoutcome.rb +89 -0
  420. data/lib/no_response/models/shared/outcomesbyoutcome.rbi +44 -0
  421. data/lib/no_response/models/shared/ownertype.rb +19 -0
  422. data/lib/no_response/models/shared/ownertype.rbi +9 -0
  423. data/lib/no_response/models/shared/policyevaluation.rb +256 -0
  424. data/lib/no_response/models/shared/policyevaluation.rbi +134 -0
  425. data/lib/no_response/models/shared/policyevaluationcancelrequest.rb +23 -0
  426. data/lib/no_response/models/shared/policyevaluationcancelrequest.rbi +9 -0
  427. data/lib/no_response/models/shared/policyevaluationlist.rb +40 -0
  428. data/lib/no_response/models/shared/policyevaluationlist.rbi +20 -0
  429. data/lib/no_response/models/shared/policyevaluationpublishrequest.rb +89 -0
  430. data/lib/no_response/models/shared/policyevaluationpublishrequest.rbi +44 -0
  431. data/lib/no_response/models/shared/policyevaluationrequest.rb +101 -0
  432. data/lib/no_response/models/shared/policyevaluationrequest.rbi +56 -0
  433. data/lib/no_response/models/shared/policyevaluationrequestcosts.rb +40 -0
  434. data/lib/no_response/models/shared/policyevaluationrequestcosts.rbi +20 -0
  435. data/lib/no_response/models/shared/policyevaluationrequestlimits.rb +59 -0
  436. data/lib/no_response/models/shared/policyevaluationrequestlimits.rbi +32 -0
  437. data/lib/no_response/models/shared/policyevaluationresult.rb +40 -0
  438. data/lib/no_response/models/shared/policyevaluationresult.rbi +20 -0
  439. data/lib/no_response/models/shared/policyevaluationstatus.rb +22 -0
  440. data/lib/no_response/models/shared/policyevaluationstatus.rbi +9 -0
  441. data/lib/no_response/models/shared/policyhistory.rb +64 -0
  442. data/lib/no_response/models/shared/policyhistory.rbi +32 -0
  443. data/lib/no_response/models/shared/policyhistoryitem.rb +74 -0
  444. data/lib/no_response/models/shared/policyhistoryitem.rbi +38 -0
  445. data/lib/no_response/models/shared/policypreview.rb +115 -0
  446. data/lib/no_response/models/shared/policypreview.rbi +62 -0
  447. data/lib/no_response/models/shared/policypreviewcoverage.rb +108 -0
  448. data/lib/no_response/models/shared/policypreviewcoverage.rbi +50 -0
  449. data/lib/no_response/models/shared/policypreviewrequest.rb +65 -0
  450. data/lib/no_response/models/shared/policypreviewrequest.rbi +38 -0
  451. data/lib/no_response/models/shared/policypreviewrequestflows.rb +55 -0
  452. data/lib/no_response/models/shared/policypreviewrequestflows.rbi +26 -0
  453. data/lib/no_response/models/shared/policypreviewrequestflowsaccountcreation.rb +48 -0
  454. data/lib/no_response/models/shared/policypreviewrequestflowsaccountcreation.rbi +26 -0
  455. data/lib/no_response/models/shared/policypreviewrequestflowslogin.rb +64 -0
  456. data/lib/no_response/models/shared/policypreviewrequestflowslogin.rbi +32 -0
  457. data/lib/no_response/models/shared/policypreviewrequestflowspurchase.rb +64 -0
  458. data/lib/no_response/models/shared/policypreviewrequestflowspurchase.rbi +32 -0
  459. data/lib/no_response/models/shared/policypreviewtransition.rb +60 -0
  460. data/lib/no_response/models/shared/policypreviewtransition.rbi +26 -0
  461. data/lib/no_response/models/shared/policyrestorerequest.rb +48 -0
  462. data/lib/no_response/models/shared/policyrestorerequest.rbi +26 -0
  463. data/lib/no_response/models/shared/population.rb +19 -0
  464. data/lib/no_response/models/shared/population.rbi +9 -0
  465. data/lib/no_response/models/shared/priority.rb +21 -0
  466. data/lib/no_response/models/shared/priority.rbi +9 -0
  467. data/lib/no_response/models/shared/publication.rb +133 -0
  468. data/lib/no_response/models/shared/publication.rbi +68 -0
  469. data/lib/no_response/models/shared/ratelimiterrorcode.rb +2 -0
  470. data/lib/no_response/models/shared/report.rb +99 -0
  471. data/lib/no_response/models/shared/report.rbi +44 -0
  472. data/lib/no_response/models/shared/report_scope.rb +23 -0
  473. data/lib/no_response/models/shared/report_scope.rbi +9 -0
  474. data/lib/no_response/models/shared/requestaggregaterequest.rb +79 -0
  475. data/lib/no_response/models/shared/requestaggregaterequest.rbi +44 -0
  476. data/lib/no_response/models/shared/requestaggregaterequestbucket.rb +19 -0
  477. data/lib/no_response/models/shared/requestaggregaterequestbucket.rbi +9 -0
  478. data/lib/no_response/models/shared/requestdiagnostic.rb +12 -2
  479. data/lib/no_response/models/shared/requestdiagnostic.rbi +6 -0
  480. data/lib/no_response/models/shared/resolution.rb +111 -0
  481. data/lib/no_response/models/shared/resolution.rbi +56 -0
  482. data/lib/no_response/models/shared/resultstatus.rb +19 -0
  483. data/lib/no_response/models/shared/resultstatus.rbi +9 -0
  484. data/lib/no_response/models/shared/review.rb +187 -0
  485. data/lib/no_response/models/shared/review.rbi +98 -0
  486. data/lib/no_response/models/shared/reviewcomment.rb +59 -0
  487. data/lib/no_response/models/shared/reviewcomment.rbi +38 -0
  488. data/lib/no_response/models/shared/reviewcommentlist.rb +40 -0
  489. data/lib/no_response/models/shared/reviewcommentlist.rbi +20 -0
  490. data/lib/no_response/models/shared/reviewcommentrequest.rb +36 -0
  491. data/lib/no_response/models/shared/reviewcommentrequest.rbi +20 -0
  492. data/lib/no_response/models/shared/reviewcreaterequest.rb +57 -0
  493. data/lib/no_response/models/shared/reviewcreaterequest.rbi +26 -0
  494. data/lib/no_response/models/shared/reviewlist.rb +40 -0
  495. data/lib/no_response/models/shared/reviewlist.rbi +20 -0
  496. data/lib/no_response/models/shared/reviewresolutionlist.rb +40 -0
  497. data/lib/no_response/models/shared/reviewresolutionlist.rbi +20 -0
  498. data/lib/no_response/models/shared/reviewresolverequest.rb +66 -0
  499. data/lib/no_response/models/shared/reviewresolverequest.rbi +32 -0
  500. data/lib/no_response/models/shared/reviews.rb +119 -0
  501. data/lib/no_response/models/shared/reviews.rbi +62 -0
  502. data/lib/no_response/models/shared/reviewsconclusions.rb +50 -0
  503. data/lib/no_response/models/shared/reviewsconclusions.rbi +26 -0
  504. data/lib/no_response/models/shared/reviewstatus.rb +20 -0
  505. data/lib/no_response/models/shared/reviewstatus.rbi +9 -0
  506. data/lib/no_response/models/shared/reviewsubject.rb +131 -0
  507. data/lib/no_response/models/shared/reviewsubject.rbi +68 -0
  508. data/lib/no_response/models/shared/reviewsubjectchange.rb +40 -0
  509. data/lib/no_response/models/shared/reviewsubjectchange.rbi +20 -0
  510. data/lib/no_response/models/shared/reviewsubjectkind.rb +20 -0
  511. data/lib/no_response/models/shared/reviewsubjectkind.rbi +9 -0
  512. data/lib/no_response/models/shared/reviewsubjectlist.rb +40 -0
  513. data/lib/no_response/models/shared/reviewsubjectlist.rbi +20 -0
  514. data/lib/no_response/models/shared/reviewsubjectrequest.rb +105 -0
  515. data/lib/no_response/models/shared/reviewsubjectrequest.rbi +50 -0
  516. data/lib/no_response/models/shared/reviewupdaterequest.rb +74 -0
  517. data/lib/no_response/models/shared/reviewupdaterequest.rbi +32 -0
  518. data/lib/no_response/models/shared/reviewupdaterequeststatus.rb +16 -0
  519. data/lib/no_response/models/shared/reviewupdaterequeststatus.rbi +9 -0
  520. data/lib/no_response/models/shared/reviewview.rb +127 -0
  521. data/lib/no_response/models/shared/reviewview.rbi +68 -0
  522. data/lib/no_response/models/shared/reviewviewdeleterequest.rb +32 -0
  523. data/lib/no_response/models/shared/reviewviewdeleterequest.rbi +14 -0
  524. data/lib/no_response/models/shared/reviewviewlist.rb +32 -0
  525. data/lib/no_response/models/shared/reviewviewlist.rbi +14 -0
  526. data/lib/no_response/models/shared/reviewviewrequest.rb +60 -0
  527. data/lib/no_response/models/shared/reviewviewrequest.rbi +32 -0
  528. data/lib/no_response/models/shared/risk.rb +1 -1
  529. data/lib/no_response/models/shared/riskreason.rb +1 -1
  530. data/lib/no_response/models/shared/role.rb +24 -0
  531. data/lib/no_response/models/shared/role.rbi +9 -0
  532. data/lib/no_response/models/shared/settings.rb +1 -1
  533. data/lib/no_response/models/shared/settingsrequest.rb +27 -3
  534. data/lib/no_response/models/shared/settingsrequest.rbi +12 -0
  535. data/lib/no_response/models/shared/source.rb +19 -0
  536. data/lib/no_response/models/shared/source.rbi +9 -0
  537. data/lib/no_response/models/shared/thresholds.rb +48 -0
  538. data/lib/no_response/models/shared/thresholds.rbi +26 -0
  539. data/lib/no_response/models/shared/usage.rb +66 -0
  540. data/lib/no_response/models/shared/usage.rbi +38 -0
  541. data/lib/no_response/models/shared/usagecount.rb +100 -0
  542. data/lib/no_response/models/shared/usagecount.rbi +44 -0
  543. data/lib/no_response/models/shared/{defaultdepth.rb → usagecountdepth.rb} +2 -2
  544. data/lib/no_response/models/shared/usagecountdepth.rbi +9 -0
  545. data/lib/no_response/models/shared/usagecountflow.rb +20 -0
  546. data/lib/no_response/models/shared/usagecountflow.rbi +9 -0
  547. data/lib/no_response/models/shared/useractor.rb +65 -0
  548. data/lib/no_response/models/shared/useractor.rbi +32 -0
  549. data/lib/no_response/models/shared/webhookaggregaterequest.rb +70 -0
  550. data/lib/no_response/models/shared/webhookaggregaterequest.rbi +38 -0
  551. data/lib/no_response/models/shared/webhookdeliveryattempt.rb +1 -1
  552. data/lib/no_response/models/shared/webhookreplay.rb +1 -1
  553. data/lib/no_response/models/shared/workspacedeleted.rb +7 -4
  554. data/lib/no_response/models/shared/workspaceoperationssummary.rb +166 -0
  555. data/lib/no_response/models/shared/workspaceoperationssummary.rbi +86 -0
  556. data/lib/no_response/models/shared/workspaceoperationssummaryrequest.rb +46 -0
  557. data/lib/no_response/models/shared/workspaceoperationssummaryrequest.rbi +26 -0
  558. data/lib/no_response/models/shared.rb +140 -1
  559. data/lib/no_response/noresponseclient.rb +19 -1
  560. data/lib/no_response/operations.rb +343 -0
  561. data/lib/no_response/requests.rb +323 -0
  562. data/lib/no_response/reviews.rb +4806 -0
  563. data/lib/no_response/sdk_hooks/idempotency_key_hook.rb +1 -1
  564. data/lib/no_response/sdkconfiguration.rb +2 -2
  565. data/lib/no_response/settings.rb +903 -2
  566. data/lib/no_response/usage.rb +334 -0
  567. data/lib/no_response/webhook_verification.rb +4 -2
  568. data/lib/no_response/webhookendpoints.rb +293 -0
  569. data/lib/noresponse.rb +9 -0
  570. metadata +503 -4
@@ -15,6 +15,8 @@ module NoResponse
15
15
  class Settings
16
16
  extend T::Sig
17
17
 
18
+ # Environment policy, history and previews.
19
+
18
20
  sig { params(sdk_config: SDKConfiguration).void }
19
21
  def initialize(sdk_config)
20
22
  @sdk_configuration = sdk_config
@@ -47,7 +49,7 @@ module NoResponse
47
49
  }
48
50
  def get(workspace_id:, environment:, retries: nil, timeout_ms: nil, http_headers: nil)
49
51
  # get - Read an environment's settings.
50
- # Reads the settings of the signing key's environment: retention in days; per flow (account_creation, login, purchase) the step_up, review and block thresholds, the default depth and the admission; and the sources the environment refuses. A flow without thresholds of its own shows account_creation's with inherits_account_creation true. Requires the management scope; the other environment answers 404 not_found. Read-only and safe to retry.
52
+ # Read this environment retention, source selection and effective flow policies. A flow without its own thresholds inherits account_creation. Requires settings or management. Another environment answers404. Read-only and safe to retry.
51
53
  request = Models::Operations::GetSettingsRequest.new(
52
54
  workspace_id: workspace_id,
53
55
  environment: environment
@@ -338,7 +340,7 @@ module NoResponse
338
340
  }
339
341
  def update(body:, workspace_id:, environment:, retries: nil, timeout_ms: nil, http_headers: nil)
340
342
  # update - Change an environment's settings.
341
- # Changes only what the body names, in one transaction: retention_days, refused_sources, and per flow step_up, review, block (null turns blocking off), default_depth, admission, hold_seconds, on_expiry, or inherits_account_creation to return login or purchase to account_creation's thresholds. After the change each flow keeps 0 < step_up < review <= 100 and block off or review <= block <= 100; a change that breaks it answers 400 naming the flow. A policy change is one new policy_version with the signing key's prefix as updated_by, and every change is recorded in the workspace's audit log with the key as its actor. Requires the management scope; the other environment answers 404 not_found. A change reaches assessments within a minute.
343
+ # Change named retention, source or flow settings in one transaction. Requires settings or management; changes to active policy also require policy_publish, which legacy management includes. Use expected_policy_version to reject concurrent changes and record a change_reason. Each accepted change creates a fresh version and an atomic audit event. Retention-only edits do not require policy publication authority. Flow thresholds preserve their declared ordering and bounds.
342
344
  request = Models::Operations::UpdateSettingsRequest.new(
343
345
  workspace_id: workspace_id,
344
346
  environment: environment,
@@ -629,5 +631,904 @@ module NoResponse
629
631
 
630
632
  end
631
633
  end
634
+
635
+ sig {
636
+ params(
637
+ workspace_id: ::String,
638
+ environment: Models::Shared::KeyEnvironment,
639
+ before_version: T.nilable(::Integer),
640
+ limit: T.nilable(::Integer),
641
+ retries: T.nilable(Utils::RetryConfig),
642
+ timeout_ms: T.nilable(Integer),
643
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
644
+ )
645
+ .returns(Models::Operations::ListPolicyHistoryResponse)
646
+ }
647
+ def list_history(
648
+ workspace_id:,
649
+ environment:,
650
+ before_version: nil,
651
+ limit: nil,
652
+ retries: nil,
653
+ timeout_ms: nil,
654
+ http_headers: nil
655
+ )
656
+ # list_history - Read immutable configuration versions.
657
+ # Read immutable configuration versions in one environment with settings or management. Follow before_version for older records.
658
+ request = Models::Operations::ListPolicyHistoryRequest.new(
659
+ workspace_id: workspace_id,
660
+ environment: environment,
661
+ before_version: before_version,
662
+ limit: limit
663
+ )
664
+ url, params = @sdk_configuration.get_server_details
665
+ base_url = Utils.template_url(url, params)
666
+ url = Utils.generate_url(
667
+ Models::Operations::ListPolicyHistoryRequest,
668
+ base_url,
669
+ "/v1/workspaces/{workspace_id}/settings/{environment}/history",
670
+ request
671
+ )
672
+ headers = {}
673
+ headers = T.cast(headers, T::Hash[String, String])
674
+ query_params = Utils.get_query_params(Models::Operations::ListPolicyHistoryRequest, request, nil)
675
+ headers["Accept"] = "application/json"
676
+ headers["user-agent"] = @sdk_configuration.user_agent
677
+ retries ||= @sdk_configuration.retry_config
678
+ retries ||= Utils::RetryConfig.new(
679
+ backoff: Utils::BackoffStrategy.new(
680
+ exponent: 2.0,
681
+ initial_interval: 500,
682
+ max_elapsed_time: 30_000,
683
+ max_interval: 8000
684
+ ),
685
+ retry_connection_errors: true,
686
+ strategy: "backoff"
687
+ )
688
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
689
+ retry_options[:retry_statuses] = [408, 429, 500, 501, 502, 503, 504, 505]
690
+
691
+ security = @sdk_configuration.security_source&.call
692
+
693
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
694
+ timeout ||= @sdk_configuration.timeout
695
+
696
+ connection = @sdk_configuration.client.dup
697
+ connection.use(Utils::RetryMiddleware, retry_options)
698
+
699
+ hook_ctx = SDKHooks::HookContext.new(
700
+ config: @sdk_configuration,
701
+ base_url: base_url,
702
+ oauth2_scopes: nil,
703
+ operation_id: "listPolicyHistory",
704
+ security_source: @sdk_configuration.security_source
705
+ )
706
+
707
+ error = T.let(nil, T.nilable(StandardError))
708
+ http_response = T.let(nil, T.nilable(Faraday::Response))
709
+
710
+ begin
711
+ http_response = T.must(connection).get(url) do |req|
712
+ req.headers.merge!(headers)
713
+ req.options.timeout = timeout unless timeout.nil?
714
+ req.params = query_params
715
+ Utils.configure_request_security(req, security)
716
+ http_headers&.each do |key, value|
717
+ req.headers[key.to_s] = value
718
+ end
719
+
720
+ @sdk_configuration.hooks.before_request(
721
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
722
+ hook_ctx: hook_ctx
723
+ ),
724
+ request: req
725
+ )
726
+ end
727
+
728
+ rescue StandardError => e
729
+ error = e
730
+ ensure
731
+ if http_response.nil? || Utils.error_status?(http_response.status)
732
+ http_response = @sdk_configuration.hooks.after_error(
733
+ error: error,
734
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
735
+ hook_ctx: hook_ctx
736
+ ),
737
+ response: http_response
738
+ )
739
+ else
740
+ http_response = @sdk_configuration.hooks.after_success(
741
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
742
+ hook_ctx: hook_ctx
743
+ ),
744
+ response: http_response
745
+ )
746
+ end
747
+
748
+ if http_response.nil?
749
+ raise error if !error.nil?
750
+ raise "no response"
751
+ end
752
+ end
753
+
754
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
755
+ if Utils.match_status_code(http_response.status, ["200"])
756
+ if Utils.match_content_type(content_type, "application/json")
757
+ @sdk_configuration.hooks.after_success(
758
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
759
+ hook_ctx: hook_ctx
760
+ ),
761
+ response: http_response
762
+ )
763
+ response_data = http_response.env.response_body
764
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::PolicyHistory)
765
+ result = obj
766
+ response = Models::Operations::ListPolicyHistoryResponse.new(
767
+ result: result,
768
+ headers: http_response.headers
769
+ )
770
+
771
+ return response
772
+ else
773
+ raise(
774
+ ::NoResponse::Models::Errors::APIStatusError.new(
775
+ status_code: http_response.status,
776
+ body: http_response.env.response_body,
777
+ raw_response: http_response
778
+ ),
779
+ "Unknown content type received"
780
+ )
781
+ end
782
+ elsif Utils.match_status_code(http_response.status, ["400"])
783
+ if Utils.match_content_type(content_type, "application/problem+json")
784
+ @sdk_configuration.hooks.after_success(
785
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
786
+ hook_ctx: hook_ctx
787
+ ),
788
+ response: http_response
789
+ )
790
+ response_data = http_response.env.response_body
791
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
792
+ raise obj
793
+ else
794
+ raise(
795
+ ::NoResponse::Models::Errors::APIStatusError.new(
796
+ status_code: http_response.status,
797
+ body: http_response.env.response_body,
798
+ raw_response: http_response
799
+ ),
800
+ "Unknown content type received"
801
+ )
802
+ end
803
+ elsif Utils.match_status_code(http_response.status, ["401"])
804
+ if Utils.match_content_type(content_type, "application/problem+json")
805
+ @sdk_configuration.hooks.after_success(
806
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
807
+ hook_ctx: hook_ctx
808
+ ),
809
+ response: http_response
810
+ )
811
+ response_data = http_response.env.response_body
812
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
813
+ raise obj
814
+ else
815
+ raise(
816
+ ::NoResponse::Models::Errors::APIStatusError.new(
817
+ status_code: http_response.status,
818
+ body: http_response.env.response_body,
819
+ raw_response: http_response
820
+ ),
821
+ "Unknown content type received"
822
+ )
823
+ end
824
+ elsif Utils.match_status_code(http_response.status, ["403"])
825
+ if Utils.match_content_type(content_type, "application/problem+json")
826
+ @sdk_configuration.hooks.after_success(
827
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
828
+ hook_ctx: hook_ctx
829
+ ),
830
+ response: http_response
831
+ )
832
+ response_data = http_response.env.response_body
833
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
834
+ raise obj
835
+ else
836
+ raise(
837
+ ::NoResponse::Models::Errors::APIStatusError.new(
838
+ status_code: http_response.status,
839
+ body: http_response.env.response_body,
840
+ raw_response: http_response
841
+ ),
842
+ "Unknown content type received"
843
+ )
844
+ end
845
+ elsif Utils.match_status_code(http_response.status, ["404"])
846
+ if Utils.match_content_type(content_type, "application/problem+json")
847
+ @sdk_configuration.hooks.after_success(
848
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
849
+ hook_ctx: hook_ctx
850
+ ),
851
+ response: http_response
852
+ )
853
+ response_data = http_response.env.response_body
854
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
855
+ raise obj
856
+ else
857
+ raise(
858
+ ::NoResponse::Models::Errors::APIStatusError.new(
859
+ status_code: http_response.status,
860
+ body: http_response.env.response_body,
861
+ raw_response: http_response
862
+ ),
863
+ "Unknown content type received"
864
+ )
865
+ end
866
+ elsif Utils.match_status_code(http_response.status, ["409"])
867
+ if Utils.match_content_type(content_type, "application/problem+json")
868
+ @sdk_configuration.hooks.after_success(
869
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
870
+ hook_ctx: hook_ctx
871
+ ),
872
+ response: http_response
873
+ )
874
+ response_data = http_response.env.response_body
875
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
876
+ raise obj
877
+ else
878
+ raise(
879
+ ::NoResponse::Models::Errors::APIStatusError.new(
880
+ status_code: http_response.status,
881
+ body: http_response.env.response_body,
882
+ raw_response: http_response
883
+ ),
884
+ "Unknown content type received"
885
+ )
886
+ end
887
+ elsif Utils.match_status_code(http_response.status, ["429"])
888
+ if Utils.match_content_type(content_type, "application/problem+json")
889
+ @sdk_configuration.hooks.after_success(
890
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
891
+ hook_ctx: hook_ctx
892
+ ),
893
+ response: http_response
894
+ )
895
+ response_data = http_response.env.response_body
896
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
897
+ raise obj
898
+ else
899
+ raise(
900
+ ::NoResponse::Models::Errors::APIStatusError.new(
901
+ status_code: http_response.status,
902
+ body: http_response.env.response_body,
903
+ raw_response: http_response
904
+ ),
905
+ "Unknown content type received"
906
+ )
907
+ end
908
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
909
+ raise(
910
+ ::NoResponse::Models::Errors::APIStatusError.new(
911
+ status_code: http_response.status,
912
+ body: http_response.env.response_body,
913
+ raw_response: http_response
914
+ ),
915
+ "API error occurred"
916
+ )
917
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
918
+ raise(
919
+ ::NoResponse::Models::Errors::APIStatusError.new(
920
+ status_code: http_response.status,
921
+ body: http_response.env.response_body,
922
+ raw_response: http_response
923
+ ),
924
+ "API error occurred"
925
+ )
926
+ else
927
+ raise(
928
+ ::NoResponse::Models::Errors::APIStatusError.new(
929
+ status_code: http_response.status,
930
+ body: http_response.env.response_body,
931
+ raw_response: http_response
932
+ ),
933
+ "Unknown status code received"
934
+ )
935
+
936
+ end
937
+ end
938
+
939
+ sig {
940
+ params(
941
+ body: Models::Shared::PolicyRestoreRequest,
942
+ workspace_id: ::String,
943
+ environment: Models::Shared::KeyEnvironment,
944
+ timeout_ms: T.nilable(Integer),
945
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
946
+ )
947
+ .returns(Models::Operations::RestorePolicyResponse)
948
+ }
949
+ def restore(body:, workspace_id:, environment:, timeout_ms: nil, http_headers: nil)
950
+ # restore - Restore captured settings as a new guarded version.
951
+ # Restore a retained configuration as a fresh version with the expected current version and a change reason. Requires settings plus policy_publish, or legacy management. Restore preserves the historical record and does not undo customer enforcement.
952
+ request = Models::Operations::RestorePolicyRequest.new(
953
+ workspace_id: workspace_id,
954
+ environment: environment,
955
+ body: body
956
+ )
957
+ url, params = @sdk_configuration.get_server_details
958
+ base_url = Utils.template_url(url, params)
959
+ url = Utils.generate_url(
960
+ Models::Operations::RestorePolicyRequest,
961
+ base_url,
962
+ "/v1/workspaces/{workspace_id}/settings/{environment}/restore",
963
+ request
964
+ )
965
+ headers = {}
966
+ headers = T.cast(headers, T::Hash[String, String])
967
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
968
+ headers["content-type"] = req_content_type
969
+ raise StandardError, "request body is required" if data.nil? && form.nil?
970
+
971
+ if form && !form.empty?
972
+ body = Utils.encode_form(form)
973
+ elsif Utils.match_content_type(req_content_type, "application/x-www-form-urlencoded")
974
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
975
+ else
976
+ body = data
977
+ end
978
+
979
+ headers["Accept"] = "application/json"
980
+ headers["user-agent"] = @sdk_configuration.user_agent
981
+
982
+ security = @sdk_configuration.security_source&.call
983
+
984
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
985
+ timeout ||= @sdk_configuration.timeout
986
+
987
+ connection = @sdk_configuration.client
988
+
989
+ hook_ctx = SDKHooks::HookContext.new(
990
+ config: @sdk_configuration,
991
+ base_url: base_url,
992
+ oauth2_scopes: nil,
993
+ operation_id: "restorePolicy",
994
+ security_source: @sdk_configuration.security_source
995
+ )
996
+
997
+ error = T.let(nil, T.nilable(StandardError))
998
+ http_response = T.let(nil, T.nilable(Faraday::Response))
999
+
1000
+ begin
1001
+ http_response = T.must(connection).post(url) do |req|
1002
+ req.body = body
1003
+ req.headers.merge!(headers)
1004
+ req.options.timeout = timeout unless timeout.nil?
1005
+ Utils.configure_request_security(req, security)
1006
+ http_headers&.each do |key, value|
1007
+ req.headers[key.to_s] = value
1008
+ end
1009
+
1010
+ @sdk_configuration.hooks.before_request(
1011
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1012
+ hook_ctx: hook_ctx
1013
+ ),
1014
+ request: req
1015
+ )
1016
+ end
1017
+
1018
+ rescue StandardError => e
1019
+ error = e
1020
+ ensure
1021
+ if http_response.nil? || Utils.error_status?(http_response.status)
1022
+ http_response = @sdk_configuration.hooks.after_error(
1023
+ error: error,
1024
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1025
+ hook_ctx: hook_ctx
1026
+ ),
1027
+ response: http_response
1028
+ )
1029
+ else
1030
+ http_response = @sdk_configuration.hooks.after_success(
1031
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1032
+ hook_ctx: hook_ctx
1033
+ ),
1034
+ response: http_response
1035
+ )
1036
+ end
1037
+
1038
+ if http_response.nil?
1039
+ raise error if !error.nil?
1040
+ raise "no response"
1041
+ end
1042
+ end
1043
+
1044
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
1045
+ if Utils.match_status_code(http_response.status, ["200"])
1046
+ if Utils.match_content_type(content_type, "application/json")
1047
+ @sdk_configuration.hooks.after_success(
1048
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1049
+ hook_ctx: hook_ctx
1050
+ ),
1051
+ response: http_response
1052
+ )
1053
+ response_data = http_response.env.response_body
1054
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::Settings)
1055
+ result = obj
1056
+ response = Models::Operations::RestorePolicyResponse.new(
1057
+ result: result,
1058
+ headers: http_response.headers
1059
+ )
1060
+
1061
+ return response
1062
+ else
1063
+ raise(
1064
+ ::NoResponse::Models::Errors::APIStatusError.new(
1065
+ status_code: http_response.status,
1066
+ body: http_response.env.response_body,
1067
+ raw_response: http_response
1068
+ ),
1069
+ "Unknown content type received"
1070
+ )
1071
+ end
1072
+ elsif Utils.match_status_code(http_response.status, ["400"])
1073
+ if Utils.match_content_type(content_type, "application/problem+json")
1074
+ @sdk_configuration.hooks.after_success(
1075
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1076
+ hook_ctx: hook_ctx
1077
+ ),
1078
+ response: http_response
1079
+ )
1080
+ response_data = http_response.env.response_body
1081
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
1082
+ raise obj
1083
+ else
1084
+ raise(
1085
+ ::NoResponse::Models::Errors::APIStatusError.new(
1086
+ status_code: http_response.status,
1087
+ body: http_response.env.response_body,
1088
+ raw_response: http_response
1089
+ ),
1090
+ "Unknown content type received"
1091
+ )
1092
+ end
1093
+ elsif Utils.match_status_code(http_response.status, ["401"])
1094
+ if Utils.match_content_type(content_type, "application/problem+json")
1095
+ @sdk_configuration.hooks.after_success(
1096
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1097
+ hook_ctx: hook_ctx
1098
+ ),
1099
+ response: http_response
1100
+ )
1101
+ response_data = http_response.env.response_body
1102
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
1103
+ raise obj
1104
+ else
1105
+ raise(
1106
+ ::NoResponse::Models::Errors::APIStatusError.new(
1107
+ status_code: http_response.status,
1108
+ body: http_response.env.response_body,
1109
+ raw_response: http_response
1110
+ ),
1111
+ "Unknown content type received"
1112
+ )
1113
+ end
1114
+ elsif Utils.match_status_code(http_response.status, ["403"])
1115
+ if Utils.match_content_type(content_type, "application/problem+json")
1116
+ @sdk_configuration.hooks.after_success(
1117
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1118
+ hook_ctx: hook_ctx
1119
+ ),
1120
+ response: http_response
1121
+ )
1122
+ response_data = http_response.env.response_body
1123
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
1124
+ raise obj
1125
+ else
1126
+ raise(
1127
+ ::NoResponse::Models::Errors::APIStatusError.new(
1128
+ status_code: http_response.status,
1129
+ body: http_response.env.response_body,
1130
+ raw_response: http_response
1131
+ ),
1132
+ "Unknown content type received"
1133
+ )
1134
+ end
1135
+ elsif Utils.match_status_code(http_response.status, ["404"])
1136
+ if Utils.match_content_type(content_type, "application/problem+json")
1137
+ @sdk_configuration.hooks.after_success(
1138
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1139
+ hook_ctx: hook_ctx
1140
+ ),
1141
+ response: http_response
1142
+ )
1143
+ response_data = http_response.env.response_body
1144
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
1145
+ raise obj
1146
+ else
1147
+ raise(
1148
+ ::NoResponse::Models::Errors::APIStatusError.new(
1149
+ status_code: http_response.status,
1150
+ body: http_response.env.response_body,
1151
+ raw_response: http_response
1152
+ ),
1153
+ "Unknown content type received"
1154
+ )
1155
+ end
1156
+ elsif Utils.match_status_code(http_response.status, ["409"])
1157
+ if Utils.match_content_type(content_type, "application/problem+json")
1158
+ @sdk_configuration.hooks.after_success(
1159
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1160
+ hook_ctx: hook_ctx
1161
+ ),
1162
+ response: http_response
1163
+ )
1164
+ response_data = http_response.env.response_body
1165
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
1166
+ raise obj
1167
+ else
1168
+ raise(
1169
+ ::NoResponse::Models::Errors::APIStatusError.new(
1170
+ status_code: http_response.status,
1171
+ body: http_response.env.response_body,
1172
+ raw_response: http_response
1173
+ ),
1174
+ "Unknown content type received"
1175
+ )
1176
+ end
1177
+ elsif Utils.match_status_code(http_response.status, ["429"])
1178
+ if Utils.match_content_type(content_type, "application/problem+json")
1179
+ @sdk_configuration.hooks.after_success(
1180
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1181
+ hook_ctx: hook_ctx
1182
+ ),
1183
+ response: http_response
1184
+ )
1185
+ response_data = http_response.env.response_body
1186
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
1187
+ raise obj
1188
+ else
1189
+ raise(
1190
+ ::NoResponse::Models::Errors::APIStatusError.new(
1191
+ status_code: http_response.status,
1192
+ body: http_response.env.response_body,
1193
+ raw_response: http_response
1194
+ ),
1195
+ "Unknown content type received"
1196
+ )
1197
+ end
1198
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
1199
+ raise(
1200
+ ::NoResponse::Models::Errors::APIStatusError.new(
1201
+ status_code: http_response.status,
1202
+ body: http_response.env.response_body,
1203
+ raw_response: http_response
1204
+ ),
1205
+ "API error occurred"
1206
+ )
1207
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
1208
+ raise(
1209
+ ::NoResponse::Models::Errors::APIStatusError.new(
1210
+ status_code: http_response.status,
1211
+ body: http_response.env.response_body,
1212
+ raw_response: http_response
1213
+ ),
1214
+ "API error occurred"
1215
+ )
1216
+ else
1217
+ raise(
1218
+ ::NoResponse::Models::Errors::APIStatusError.new(
1219
+ status_code: http_response.status,
1220
+ body: http_response.env.response_body,
1221
+ raw_response: http_response
1222
+ ),
1223
+ "Unknown status code received"
1224
+ )
1225
+
1226
+ end
1227
+ end
1228
+
1229
+ sig {
1230
+ params(
1231
+ body: Models::Shared::PolicyPreviewRequest,
1232
+ workspace_id: ::String,
1233
+ environment: Models::Shared::KeyEnvironment,
1234
+ retries: T.nilable(Utils::RetryConfig),
1235
+ timeout_ms: T.nilable(Integer),
1236
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
1237
+ )
1238
+ .returns(Models::Operations::PreviewPolicyResponse)
1239
+ }
1240
+ def preview(body:, workspace_id:, environment:, retries: nil, timeout_ms: nil, http_headers: nil)
1241
+ # preview - Preview exact retained-score threshold transitions without side effects.
1242
+ # Compare proposed policy with bounded retained first answers, including baseline, coverage and uncertainty. Requires settings or management. This read starts no provider work and publishes no changes.
1243
+ request = Models::Operations::PreviewPolicyRequest.new(
1244
+ workspace_id: workspace_id,
1245
+ environment: environment,
1246
+ body: body
1247
+ )
1248
+ url, params = @sdk_configuration.get_server_details
1249
+ base_url = Utils.template_url(url, params)
1250
+ url = Utils.generate_url(
1251
+ Models::Operations::PreviewPolicyRequest,
1252
+ base_url,
1253
+ "/v1/workspaces/{workspace_id}/settings/{environment}/preview",
1254
+ request
1255
+ )
1256
+ headers = {}
1257
+ headers = T.cast(headers, T::Hash[String, String])
1258
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
1259
+ headers["content-type"] = req_content_type
1260
+ raise StandardError, "request body is required" if data.nil? && form.nil?
1261
+
1262
+ if form && !form.empty?
1263
+ body = Utils.encode_form(form)
1264
+ elsif Utils.match_content_type(req_content_type, "application/x-www-form-urlencoded")
1265
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
1266
+ else
1267
+ body = data
1268
+ end
1269
+
1270
+ headers["Accept"] = "application/json"
1271
+ headers["user-agent"] = @sdk_configuration.user_agent
1272
+ retries ||= @sdk_configuration.retry_config
1273
+ retries ||= Utils::RetryConfig.new(
1274
+ backoff: Utils::BackoffStrategy.new(
1275
+ exponent: 2.0,
1276
+ initial_interval: 500,
1277
+ max_elapsed_time: 30_000,
1278
+ max_interval: 8000
1279
+ ),
1280
+ retry_connection_errors: true,
1281
+ strategy: "backoff"
1282
+ )
1283
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1284
+ retry_options[:retry_statuses] = [408, 429, 500, 501, 502, 503, 504, 505]
1285
+
1286
+ security = @sdk_configuration.security_source&.call
1287
+
1288
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1289
+ timeout ||= @sdk_configuration.timeout
1290
+
1291
+ connection = @sdk_configuration.client.dup
1292
+ connection.use(Utils::RetryMiddleware, retry_options)
1293
+
1294
+ hook_ctx = SDKHooks::HookContext.new(
1295
+ config: @sdk_configuration,
1296
+ base_url: base_url,
1297
+ oauth2_scopes: nil,
1298
+ operation_id: "previewPolicy",
1299
+ security_source: @sdk_configuration.security_source
1300
+ )
1301
+
1302
+ error = T.let(nil, T.nilable(StandardError))
1303
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1304
+
1305
+ begin
1306
+ http_response = T.must(connection).post(url) do |req|
1307
+ req.body = body
1308
+ req.headers.merge!(headers)
1309
+ req.options.timeout = timeout unless timeout.nil?
1310
+ Utils.configure_request_security(req, security)
1311
+ http_headers&.each do |key, value|
1312
+ req.headers[key.to_s] = value
1313
+ end
1314
+
1315
+ @sdk_configuration.hooks.before_request(
1316
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1317
+ hook_ctx: hook_ctx
1318
+ ),
1319
+ request: req
1320
+ )
1321
+ end
1322
+
1323
+ rescue StandardError => e
1324
+ error = e
1325
+ ensure
1326
+ if http_response.nil? || Utils.error_status?(http_response.status)
1327
+ http_response = @sdk_configuration.hooks.after_error(
1328
+ error: error,
1329
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1330
+ hook_ctx: hook_ctx
1331
+ ),
1332
+ response: http_response
1333
+ )
1334
+ else
1335
+ http_response = @sdk_configuration.hooks.after_success(
1336
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1337
+ hook_ctx: hook_ctx
1338
+ ),
1339
+ response: http_response
1340
+ )
1341
+ end
1342
+
1343
+ if http_response.nil?
1344
+ raise error if !error.nil?
1345
+ raise "no response"
1346
+ end
1347
+ end
1348
+
1349
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
1350
+ if Utils.match_status_code(http_response.status, ["200"])
1351
+ if Utils.match_content_type(content_type, "application/json")
1352
+ @sdk_configuration.hooks.after_success(
1353
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1354
+ hook_ctx: hook_ctx
1355
+ ),
1356
+ response: http_response
1357
+ )
1358
+ response_data = http_response.env.response_body
1359
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::PolicyPreview)
1360
+ result = obj
1361
+ response = Models::Operations::PreviewPolicyResponse.new(
1362
+ result: result,
1363
+ headers: http_response.headers
1364
+ )
1365
+
1366
+ return response
1367
+ else
1368
+ raise(
1369
+ ::NoResponse::Models::Errors::APIStatusError.new(
1370
+ status_code: http_response.status,
1371
+ body: http_response.env.response_body,
1372
+ raw_response: http_response
1373
+ ),
1374
+ "Unknown content type received"
1375
+ )
1376
+ end
1377
+ elsif Utils.match_status_code(http_response.status, ["400"])
1378
+ if Utils.match_content_type(content_type, "application/problem+json")
1379
+ @sdk_configuration.hooks.after_success(
1380
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1381
+ hook_ctx: hook_ctx
1382
+ ),
1383
+ response: http_response
1384
+ )
1385
+ response_data = http_response.env.response_body
1386
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
1387
+ raise obj
1388
+ else
1389
+ raise(
1390
+ ::NoResponse::Models::Errors::APIStatusError.new(
1391
+ status_code: http_response.status,
1392
+ body: http_response.env.response_body,
1393
+ raw_response: http_response
1394
+ ),
1395
+ "Unknown content type received"
1396
+ )
1397
+ end
1398
+ elsif Utils.match_status_code(http_response.status, ["401"])
1399
+ if Utils.match_content_type(content_type, "application/problem+json")
1400
+ @sdk_configuration.hooks.after_success(
1401
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1402
+ hook_ctx: hook_ctx
1403
+ ),
1404
+ response: http_response
1405
+ )
1406
+ response_data = http_response.env.response_body
1407
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
1408
+ raise obj
1409
+ else
1410
+ raise(
1411
+ ::NoResponse::Models::Errors::APIStatusError.new(
1412
+ status_code: http_response.status,
1413
+ body: http_response.env.response_body,
1414
+ raw_response: http_response
1415
+ ),
1416
+ "Unknown content type received"
1417
+ )
1418
+ end
1419
+ elsif Utils.match_status_code(http_response.status, ["403"])
1420
+ if Utils.match_content_type(content_type, "application/problem+json")
1421
+ @sdk_configuration.hooks.after_success(
1422
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1423
+ hook_ctx: hook_ctx
1424
+ ),
1425
+ response: http_response
1426
+ )
1427
+ response_data = http_response.env.response_body
1428
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
1429
+ raise obj
1430
+ else
1431
+ raise(
1432
+ ::NoResponse::Models::Errors::APIStatusError.new(
1433
+ status_code: http_response.status,
1434
+ body: http_response.env.response_body,
1435
+ raw_response: http_response
1436
+ ),
1437
+ "Unknown content type received"
1438
+ )
1439
+ end
1440
+ elsif Utils.match_status_code(http_response.status, ["404"])
1441
+ if Utils.match_content_type(content_type, "application/problem+json")
1442
+ @sdk_configuration.hooks.after_success(
1443
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1444
+ hook_ctx: hook_ctx
1445
+ ),
1446
+ response: http_response
1447
+ )
1448
+ response_data = http_response.env.response_body
1449
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
1450
+ raise obj
1451
+ else
1452
+ raise(
1453
+ ::NoResponse::Models::Errors::APIStatusError.new(
1454
+ status_code: http_response.status,
1455
+ body: http_response.env.response_body,
1456
+ raw_response: http_response
1457
+ ),
1458
+ "Unknown content type received"
1459
+ )
1460
+ end
1461
+ elsif Utils.match_status_code(http_response.status, ["409"])
1462
+ if Utils.match_content_type(content_type, "application/problem+json")
1463
+ @sdk_configuration.hooks.after_success(
1464
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1465
+ hook_ctx: hook_ctx
1466
+ ),
1467
+ response: http_response
1468
+ )
1469
+ response_data = http_response.env.response_body
1470
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
1471
+ raise obj
1472
+ else
1473
+ raise(
1474
+ ::NoResponse::Models::Errors::APIStatusError.new(
1475
+ status_code: http_response.status,
1476
+ body: http_response.env.response_body,
1477
+ raw_response: http_response
1478
+ ),
1479
+ "Unknown content type received"
1480
+ )
1481
+ end
1482
+ elsif Utils.match_status_code(http_response.status, ["429"])
1483
+ if Utils.match_content_type(content_type, "application/problem+json")
1484
+ @sdk_configuration.hooks.after_success(
1485
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1486
+ hook_ctx: hook_ctx
1487
+ ),
1488
+ response: http_response
1489
+ )
1490
+ response_data = http_response.env.response_body
1491
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
1492
+ raise obj
1493
+ else
1494
+ raise(
1495
+ ::NoResponse::Models::Errors::APIStatusError.new(
1496
+ status_code: http_response.status,
1497
+ body: http_response.env.response_body,
1498
+ raw_response: http_response
1499
+ ),
1500
+ "Unknown content type received"
1501
+ )
1502
+ end
1503
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
1504
+ raise(
1505
+ ::NoResponse::Models::Errors::APIStatusError.new(
1506
+ status_code: http_response.status,
1507
+ body: http_response.env.response_body,
1508
+ raw_response: http_response
1509
+ ),
1510
+ "API error occurred"
1511
+ )
1512
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
1513
+ raise(
1514
+ ::NoResponse::Models::Errors::APIStatusError.new(
1515
+ status_code: http_response.status,
1516
+ body: http_response.env.response_body,
1517
+ raw_response: http_response
1518
+ ),
1519
+ "API error occurred"
1520
+ )
1521
+ else
1522
+ raise(
1523
+ ::NoResponse::Models::Errors::APIStatusError.new(
1524
+ status_code: http_response.status,
1525
+ body: http_response.env.response_body,
1526
+ raw_response: http_response
1527
+ ),
1528
+ "Unknown status code received"
1529
+ )
1530
+
1531
+ end
1532
+ end
632
1533
  end
633
1534
  end