cloudinary-account-provisioning 0.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 (319) hide show
  1. checksums.yaml +7 -0
  2. data/lib/cld_provisioning/accesskeys.rb +927 -0
  3. data/lib/cld_provisioning/billingusage.rb +231 -0
  4. data/lib/cld_provisioning/cldprovisioning.rb +173 -0
  5. data/lib/cld_provisioning/custompolicies.rb +958 -0
  6. data/lib/cld_provisioning/effectivepolicies.rb +233 -0
  7. data/lib/cld_provisioning/models/callbacks.rb +13 -0
  8. data/lib/cld_provisioning/models/errors/apierror.rb +40 -0
  9. data/lib/cld_provisioning/models/errors/apierror.rbi +27 -0
  10. data/lib/cld_provisioning/models/errors/errorresponse.rb +35 -0
  11. data/lib/cld_provisioning/models/errors/errorresponse.rbi +14 -0
  12. data/lib/cld_provisioning/models/errors/permissionserrorresponse.rb +35 -0
  13. data/lib/cld_provisioning/models/errors/permissionserrorresponse.rbi +14 -0
  14. data/lib/cld_provisioning/models/errors.rb +15 -0
  15. data/lib/cld_provisioning/models/operations/addusertousergroup_request.rb +44 -0
  16. data/lib/cld_provisioning/models/operations/addusertousergroup_request.rbi +26 -0
  17. data/lib/cld_provisioning/models/operations/createcustompolicy_request.rb +40 -0
  18. data/lib/cld_provisioning/models/operations/createcustompolicy_request.rbi +20 -0
  19. data/lib/cld_provisioning/models/operations/createproductenvironment_request.rb +50 -0
  20. data/lib/cld_provisioning/models/operations/createproductenvironment_request.rbi +20 -0
  21. data/lib/cld_provisioning/models/operations/createrole_request.rb +40 -0
  22. data/lib/cld_provisioning/models/operations/createrole_request.rbi +20 -0
  23. data/lib/cld_provisioning/models/operations/createuser_request.rb +40 -0
  24. data/lib/cld_provisioning/models/operations/createuser_request.rbi +20 -0
  25. data/lib/cld_provisioning/models/operations/createuser_requestbody.rb +85 -0
  26. data/lib/cld_provisioning/models/operations/createuser_requestbody.rbi +38 -0
  27. data/lib/cld_provisioning/models/operations/createusergroup_request.rb +40 -0
  28. data/lib/cld_provisioning/models/operations/createusergroup_request.rbi +20 -0
  29. data/lib/cld_provisioning/models/operations/deleteaccesskey_request.rb +48 -0
  30. data/lib/cld_provisioning/models/operations/deleteaccesskey_request.rbi +26 -0
  31. data/lib/cld_provisioning/models/operations/deleteaccesskeybyname_request.rb +48 -0
  32. data/lib/cld_provisioning/models/operations/deleteaccesskeybyname_request.rbi +26 -0
  33. data/lib/cld_provisioning/models/operations/deletecustompolicy_request.rb +40 -0
  34. data/lib/cld_provisioning/models/operations/deletecustompolicy_request.rbi +20 -0
  35. data/lib/cld_provisioning/models/operations/deleteproductenvironment_request.rb +44 -0
  36. data/lib/cld_provisioning/models/operations/deleteproductenvironment_request.rbi +20 -0
  37. data/lib/cld_provisioning/models/operations/deleterole_request.rb +51 -0
  38. data/lib/cld_provisioning/models/operations/deleterole_request.rbi +26 -0
  39. data/lib/cld_provisioning/models/operations/deleteuser_request.rb +40 -0
  40. data/lib/cld_provisioning/models/operations/deleteuser_request.rbi +20 -0
  41. data/lib/cld_provisioning/models/operations/deleteusergroup_request.rb +40 -0
  42. data/lib/cld_provisioning/models/operations/deleteusergroup_request.rbi +20 -0
  43. data/lib/cld_provisioning/models/operations/generateaccesskey_request.rb +55 -0
  44. data/lib/cld_provisioning/models/operations/generateaccesskey_request.rbi +26 -0
  45. data/lib/cld_provisioning/models/operations/getaccesskeys_request.rb +89 -0
  46. data/lib/cld_provisioning/models/operations/getaccesskeys_request.rbi +44 -0
  47. data/lib/cld_provisioning/models/operations/getbillingusage_request.rb +60 -0
  48. data/lib/cld_provisioning/models/operations/getbillingusage_request.rbi +26 -0
  49. data/lib/cld_provisioning/models/operations/getcustompolicies_request.rb +79 -0
  50. data/lib/cld_provisioning/models/operations/getcustompolicies_request.rbi +38 -0
  51. data/lib/cld_provisioning/models/operations/getcustompolicy_request.rb +40 -0
  52. data/lib/cld_provisioning/models/operations/getcustompolicy_request.rbi +20 -0
  53. data/lib/cld_provisioning/models/operations/geteffectivepolicies_request.rb +85 -0
  54. data/lib/cld_provisioning/models/operations/geteffectivepolicies_request.rbi +38 -0
  55. data/lib/cld_provisioning/models/operations/getgroupsforuser_request.rb +40 -0
  56. data/lib/cld_provisioning/models/operations/getgroupsforuser_request.rbi +20 -0
  57. data/lib/cld_provisioning/models/operations/getprincipalroles_request.rb +161 -0
  58. data/lib/cld_provisioning/models/operations/getprincipalroles_request.rbi +80 -0
  59. data/lib/cld_provisioning/models/operations/getproductenvironment_request.rb +44 -0
  60. data/lib/cld_provisioning/models/operations/getproductenvironment_request.rbi +20 -0
  61. data/lib/cld_provisioning/models/operations/getproductenvironments_request.rb +79 -0
  62. data/lib/cld_provisioning/models/operations/getproductenvironments_request.rbi +38 -0
  63. data/lib/cld_provisioning/models/operations/getrole_request.rb +103 -0
  64. data/lib/cld_provisioning/models/operations/getrole_request.rbi +50 -0
  65. data/lib/cld_provisioning/models/operations/getroleprincipals_request.rb +135 -0
  66. data/lib/cld_provisioning/models/operations/getroleprincipals_request.rbi +68 -0
  67. data/lib/cld_provisioning/models/operations/getroles_request.rb +80 -0
  68. data/lib/cld_provisioning/models/operations/getroles_request.rbi +38 -0
  69. data/lib/cld_provisioning/models/operations/getsubaccountsforuser_request.rb +40 -0
  70. data/lib/cld_provisioning/models/operations/getsubaccountsforuser_request.rbi +20 -0
  71. data/lib/cld_provisioning/models/operations/getsystempolicies_request.rb +59 -0
  72. data/lib/cld_provisioning/models/operations/getsystempolicies_request.rbi +26 -0
  73. data/lib/cld_provisioning/models/operations/getuser_request.rb +40 -0
  74. data/lib/cld_provisioning/models/operations/getuser_request.rbi +20 -0
  75. data/lib/cld_provisioning/models/operations/getusergroup_request.rb +52 -0
  76. data/lib/cld_provisioning/models/operations/getusergroup_request.rbi +26 -0
  77. data/lib/cld_provisioning/models/operations/getusergroups_request.rb +46 -0
  78. data/lib/cld_provisioning/models/operations/getusergroups_request.rbi +20 -0
  79. data/lib/cld_provisioning/models/operations/getusers_request.rb +179 -0
  80. data/lib/cld_provisioning/models/operations/getusers_request.rbi +92 -0
  81. data/lib/cld_provisioning/models/operations/getusersinusergroup_request.rb +40 -0
  82. data/lib/cld_provisioning/models/operations/getusersinusergroup_request.rbi +20 -0
  83. data/lib/cld_provisioning/models/operations/inspect_request.rb +155 -0
  84. data/lib/cld_provisioning/models/operations/inspect_request.rbi +74 -0
  85. data/lib/cld_provisioning/models/operations/inspectmultiple_request.rb +40 -0
  86. data/lib/cld_provisioning/models/operations/inspectmultiple_request.rbi +20 -0
  87. data/lib/cld_provisioning/models/operations/queryparam_sort_by.rb +22 -0
  88. data/lib/cld_provisioning/models/operations/queryparam_sort_by.rbi +9 -0
  89. data/lib/cld_provisioning/models/operations/queryparam_sort_order.rb +20 -0
  90. data/lib/cld_provisioning/models/operations/queryparam_sort_order.rbi +9 -0
  91. data/lib/cld_provisioning/models/operations/removeuserfromusergroup_request.rb +44 -0
  92. data/lib/cld_provisioning/models/operations/removeuserfromusergroup_request.rbi +26 -0
  93. data/lib/cld_provisioning/models/operations/role.rb +24 -0
  94. data/lib/cld_provisioning/models/operations/role.rbi +9 -0
  95. data/lib/cld_provisioning/models/operations/sort_by.rb +22 -0
  96. data/lib/cld_provisioning/models/operations/sort_by.rbi +9 -0
  97. data/lib/cld_provisioning/models/operations/sort_order.rb +20 -0
  98. data/lib/cld_provisioning/models/operations/sort_order.rbi +9 -0
  99. data/lib/cld_provisioning/models/operations/union_type.rb +21 -0
  100. data/lib/cld_provisioning/models/operations/union_type.rbi +9 -0
  101. data/lib/cld_provisioning/models/operations/updateaccesskey_request.rb +64 -0
  102. data/lib/cld_provisioning/models/operations/updateaccesskey_request.rbi +32 -0
  103. data/lib/cld_provisioning/models/operations/updatecustompolicy_request.rb +51 -0
  104. data/lib/cld_provisioning/models/operations/updatecustompolicy_request.rbi +26 -0
  105. data/lib/cld_provisioning/models/operations/updateprincipalroles_request.rb +50 -0
  106. data/lib/cld_provisioning/models/operations/updateprincipalroles_request.rbi +20 -0
  107. data/lib/cld_provisioning/models/operations/updateproductenvironment_request.rb +59 -0
  108. data/lib/cld_provisioning/models/operations/updateproductenvironment_request.rbi +26 -0
  109. data/lib/cld_provisioning/models/operations/updaterole_request.rb +44 -0
  110. data/lib/cld_provisioning/models/operations/updaterole_request.rbi +26 -0
  111. data/lib/cld_provisioning/models/operations/updateroleprincipals_request.rb +55 -0
  112. data/lib/cld_provisioning/models/operations/updateroleprincipals_request.rbi +26 -0
  113. data/lib/cld_provisioning/models/operations/updateuser_request.rb +46 -0
  114. data/lib/cld_provisioning/models/operations/updateuser_request.rbi +26 -0
  115. data/lib/cld_provisioning/models/operations/updateusergroup_request.rb +51 -0
  116. data/lib/cld_provisioning/models/operations/updateusergroup_request.rbi +26 -0
  117. data/lib/cld_provisioning/models/operations.rb +72 -0
  118. data/lib/cld_provisioning/models/server_variables/server_region.rb +20 -0
  119. data/lib/cld_provisioning/models/server_variables.rb +13 -0
  120. data/lib/cld_provisioning/models/shared/accesskey.rb +96 -0
  121. data/lib/cld_provisioning/models/shared/accesskey.rbi +44 -0
  122. data/lib/cld_provisioning/models/shared/accesskeyrequest.rb +44 -0
  123. data/lib/cld_provisioning/models/shared/accesskeyrequest.rbi +20 -0
  124. data/lib/cld_provisioning/models/shared/accesskeysresponse.rb +44 -0
  125. data/lib/cld_provisioning/models/shared/accesskeysresponse.rbi +20 -0
  126. data/lib/cld_provisioning/models/shared/accesskeyupdaterequest.rb +66 -0
  127. data/lib/cld_provisioning/models/shared/accesskeyupdaterequest.rbi +26 -0
  128. data/lib/cld_provisioning/models/shared/apiaccesskey.rb +52 -0
  129. data/lib/cld_provisioning/models/shared/apiaccesskey.rbi +26 -0
  130. data/lib/cld_provisioning/models/shared/billingusageresponse.rb +46 -0
  131. data/lib/cld_provisioning/models/shared/billingusageresponse.rbi +20 -0
  132. data/lib/cld_provisioning/models/shared/billingusageresponse_breakdown.rb +133 -0
  133. data/lib/cld_provisioning/models/shared/billingusageresponse_breakdown.rbi +68 -0
  134. data/lib/cld_provisioning/models/shared/breakdown.rb +133 -0
  135. data/lib/cld_provisioning/models/shared/breakdown.rbi +68 -0
  136. data/lib/cld_provisioning/models/shared/cedarerror.rb +43 -0
  137. data/lib/cld_provisioning/models/shared/cedarerror.rbi +20 -0
  138. data/lib/cld_provisioning/models/shared/cedarschemaresponse.rb +35 -0
  139. data/lib/cld_provisioning/models/shared/cedarschemaresponse.rbi +14 -0
  140. data/lib/cld_provisioning/models/shared/cloudassettypebreakdown.rb +143 -0
  141. data/lib/cld_provisioning/models/shared/cloudassettypebreakdown.rbi +74 -0
  142. data/lib/cld_provisioning/models/shared/createrole.rb +102 -0
  143. data/lib/cld_provisioning/models/shared/createrole.rbi +44 -0
  144. data/lib/cld_provisioning/models/shared/custom_attributes.rb +26 -0
  145. data/lib/cld_provisioning/models/shared/custom_attributes.rbi +9 -0
  146. data/lib/cld_provisioning/models/shared/custompoliciesresponse.rb +47 -0
  147. data/lib/cld_provisioning/models/shared/custompoliciesresponse.rbi +20 -0
  148. data/lib/cld_provisioning/models/shared/custompolicy.rb +96 -0
  149. data/lib/cld_provisioning/models/shared/custompolicy.rbi +44 -0
  150. data/lib/cld_provisioning/models/shared/custompolicyresponse.rb +35 -0
  151. data/lib/cld_provisioning/models/shared/custompolicyresponse.rbi +14 -0
  152. data/lib/cld_provisioning/models/shared/custompolicyresponsedata.rb +125 -0
  153. data/lib/cld_provisioning/models/shared/custompolicyresponsedata.rbi +62 -0
  154. data/lib/cld_provisioning/models/shared/cycles.rb +87 -0
  155. data/lib/cld_provisioning/models/shared/cycles.rbi +38 -0
  156. data/lib/cld_provisioning/models/shared/data.rb +49 -0
  157. data/lib/cld_provisioning/models/shared/data.rbi +20 -0
  158. data/lib/cld_provisioning/models/shared/dedicated_for.rb +20 -0
  159. data/lib/cld_provisioning/models/shared/dedicated_for.rbi +9 -0
  160. data/lib/cld_provisioning/models/shared/details.rb +26 -0
  161. data/lib/cld_provisioning/models/shared/details.rbi +9 -0
  162. data/lib/cld_provisioning/models/shared/effectivepoliciesresponse.rb +35 -0
  163. data/lib/cld_provisioning/models/shared/effectivepoliciesresponse.rbi +14 -0
  164. data/lib/cld_provisioning/models/shared/effectivepolicy.rb +44 -0
  165. data/lib/cld_provisioning/models/shared/effectivepolicy.rbi +20 -0
  166. data/lib/cld_provisioning/models/shared/effectiverole.rb +46 -0
  167. data/lib/cld_provisioning/models/shared/effectiverole.rbi +20 -0
  168. data/lib/cld_provisioning/models/shared/email_preferences.rb +26 -0
  169. data/lib/cld_provisioning/models/shared/email_preferences.rbi +9 -0
  170. data/lib/cld_provisioning/models/shared/error.rb +35 -0
  171. data/lib/cld_provisioning/models/shared/error.rbi +14 -0
  172. data/lib/cld_provisioning/models/shared/inspectrequest.rb +83 -0
  173. data/lib/cld_provisioning/models/shared/inspectrequest.rbi +38 -0
  174. data/lib/cld_provisioning/models/shared/inspectrequest_policy_parameters.rb +26 -0
  175. data/lib/cld_provisioning/models/shared/inspectrequest_policy_parameters.rbi +9 -0
  176. data/lib/cld_provisioning/models/shared/managementtypeenum.rb +22 -0
  177. data/lib/cld_provisioning/models/shared/managementtypeenum.rbi +9 -0
  178. data/lib/cld_provisioning/models/shared/metric_usage.rb +68 -0
  179. data/lib/cld_provisioning/models/shared/metric_usage.rbi +32 -0
  180. data/lib/cld_provisioning/models/shared/monthly_cycles.rb +87 -0
  181. data/lib/cld_provisioning/models/shared/monthly_cycles.rbi +38 -0
  182. data/lib/cld_provisioning/models/shared/operationenum.rb +19 -0
  183. data/lib/cld_provisioning/models/shared/operationenum.rbi +9 -0
  184. data/lib/cld_provisioning/models/shared/permissionserror.rb +68 -0
  185. data/lib/cld_provisioning/models/shared/permissionserror.rbi +32 -0
  186. data/lib/cld_provisioning/models/shared/permissiontypeenum.rb +22 -0
  187. data/lib/cld_provisioning/models/shared/permissiontypeenum.rbi +9 -0
  188. data/lib/cld_provisioning/models/shared/policy_parameters.rb +29 -0
  189. data/lib/cld_provisioning/models/shared/policy_parameters.rbi +9 -0
  190. data/lib/cld_provisioning/models/shared/principal.rb +46 -0
  191. data/lib/cld_provisioning/models/shared/principal.rbi +20 -0
  192. data/lib/cld_provisioning/models/shared/principalresponsedata.rb +120 -0
  193. data/lib/cld_provisioning/models/shared/principalresponsedata.rbi +56 -0
  194. data/lib/cld_provisioning/models/shared/principalresponsedata_policy_parameters.rb +26 -0
  195. data/lib/cld_provisioning/models/shared/principalresponsedata_policy_parameters.rbi +9 -0
  196. data/lib/cld_provisioning/models/shared/principalrole.rb +68 -0
  197. data/lib/cld_provisioning/models/shared/principalrole.rbi +26 -0
  198. data/lib/cld_provisioning/models/shared/principalrolesdata.rb +150 -0
  199. data/lib/cld_provisioning/models/shared/principalrolesdata.rbi +68 -0
  200. data/lib/cld_provisioning/models/shared/principalrolesinspectdata.rb +61 -0
  201. data/lib/cld_provisioning/models/shared/principalrolesinspectdata.rbi +26 -0
  202. data/lib/cld_provisioning/models/shared/principalrolesinspectresponse.rb +46 -0
  203. data/lib/cld_provisioning/models/shared/principalrolesinspectresponse.rbi +20 -0
  204. data/lib/cld_provisioning/models/shared/principalrolesinspectresponse_data.rb +35 -0
  205. data/lib/cld_provisioning/models/shared/principalrolesinspectresponse_data.rbi +14 -0
  206. data/lib/cld_provisioning/models/shared/principalrolesresponse.rb +35 -0
  207. data/lib/cld_provisioning/models/shared/principalrolesresponse.rbi +14 -0
  208. data/lib/cld_provisioning/models/shared/principalsresponse.rb +36 -0
  209. data/lib/cld_provisioning/models/shared/principalsresponse.rbi +14 -0
  210. data/lib/cld_provisioning/models/shared/principaltypeenum.rb +24 -0
  211. data/lib/cld_provisioning/models/shared/principaltypeenum.rbi +9 -0
  212. data/lib/cld_provisioning/models/shared/productenvironment.rb +112 -0
  213. data/lib/cld_provisioning/models/shared/productenvironment.rbi +50 -0
  214. data/lib/cld_provisioning/models/shared/productenvironmentrequest.rb +68 -0
  215. data/lib/cld_provisioning/models/shared/productenvironmentrequest.rbi +32 -0
  216. data/lib/cld_provisioning/models/shared/productenvironmentsresponse.rb +35 -0
  217. data/lib/cld_provisioning/models/shared/productenvironmentsresponse.rbi +14 -0
  218. data/lib/cld_provisioning/models/shared/productenvironmentupdaterequest.rb +71 -0
  219. data/lib/cld_provisioning/models/shared/productenvironmentupdaterequest.rbi +32 -0
  220. data/lib/cld_provisioning/models/shared/productenvironmentupdaterequest_custom_attributes.rb +26 -0
  221. data/lib/cld_provisioning/models/shared/productenvironmentupdaterequest_custom_attributes.rbi +9 -0
  222. data/lib/cld_provisioning/models/shared/role.rb +58 -0
  223. data/lib/cld_provisioning/models/shared/role.rbi +26 -0
  224. data/lib/cld_provisioning/models/shared/roleresponse.rb +35 -0
  225. data/lib/cld_provisioning/models/shared/roleresponse.rbi +14 -0
  226. data/lib/cld_provisioning/models/shared/roleresponse_data1.rb +149 -0
  227. data/lib/cld_provisioning/models/shared/roleresponse_data1.rbi +68 -0
  228. data/lib/cld_provisioning/models/shared/roleresponsedata.rb +139 -0
  229. data/lib/cld_provisioning/models/shared/roleresponsedata.rbi +62 -0
  230. data/lib/cld_provisioning/models/shared/rolesresponse.rb +36 -0
  231. data/lib/cld_provisioning/models/shared/rolesresponse.rbi +14 -0
  232. data/lib/cld_provisioning/models/shared/roletomanage.rb +55 -0
  233. data/lib/cld_provisioning/models/shared/roletomanage.rbi +26 -0
  234. data/lib/cld_provisioning/models/shared/roletomanage_policy_parameters.rb +26 -0
  235. data/lib/cld_provisioning/models/shared/roletomanage_policy_parameters.rbi +9 -0
  236. data/lib/cld_provisioning/models/shared/scopetypeenum.rb +22 -0
  237. data/lib/cld_provisioning/models/shared/scopetypeenum.rbi +9 -0
  238. data/lib/cld_provisioning/models/shared/security.rb +52 -0
  239. data/lib/cld_provisioning/models/shared/security.rbi +20 -0
  240. data/lib/cld_provisioning/models/shared/subaccountsummary.rb +77 -0
  241. data/lib/cld_provisioning/models/shared/subaccountsummary.rbi +38 -0
  242. data/lib/cld_provisioning/models/shared/successresponse.rb +35 -0
  243. data/lib/cld_provisioning/models/shared/successresponse.rbi +14 -0
  244. data/lib/cld_provisioning/models/shared/systempoliciesresponse.rb +47 -0
  245. data/lib/cld_provisioning/models/shared/systempoliciesresponse.rbi +20 -0
  246. data/lib/cld_provisioning/models/shared/systempolicyresponsedata.rb +153 -0
  247. data/lib/cld_provisioning/models/shared/systempolicyresponsedata.rbi +74 -0
  248. data/lib/cld_provisioning/models/shared/systemrolesandpoliciescatalogresponse.rb +35 -0
  249. data/lib/cld_provisioning/models/shared/systemrolesandpoliciescatalogresponse.rbi +14 -0
  250. data/lib/cld_provisioning/models/shared/updatecustompolicy.rb +96 -0
  251. data/lib/cld_provisioning/models/shared/updatecustompolicy.rbi +44 -0
  252. data/lib/cld_provisioning/models/shared/updateprincipalrolesrequest.rb +64 -0
  253. data/lib/cld_provisioning/models/shared/updateprincipalrolesrequest.rbi +26 -0
  254. data/lib/cld_provisioning/models/shared/updateroleprincipal.rb +74 -0
  255. data/lib/cld_provisioning/models/shared/updateroleprincipal.rbi +32 -0
  256. data/lib/cld_provisioning/models/shared/updateroleprincipal_policy_parameters.rb +26 -0
  257. data/lib/cld_provisioning/models/shared/updateroleprincipal_policy_parameters.rbi +9 -0
  258. data/lib/cld_provisioning/models/shared/updateroleprincipalsrequest.rb +55 -0
  259. data/lib/cld_provisioning/models/shared/updateroleprincipalsrequest.rbi +20 -0
  260. data/lib/cld_provisioning/models/shared/user.rb +258 -0
  261. data/lib/cld_provisioning/models/shared/user.rbi +134 -0
  262. data/lib/cld_provisioning/models/shared/usergroup.rb +93 -0
  263. data/lib/cld_provisioning/models/shared/usergroup.rbi +38 -0
  264. data/lib/cld_provisioning/models/shared/usergrouprequest.rb +46 -0
  265. data/lib/cld_provisioning/models/shared/usergrouprequest.rbi +20 -0
  266. data/lib/cld_provisioning/models/shared/usergroupslistresponse.rb +36 -0
  267. data/lib/cld_provisioning/models/shared/usergroupslistresponse.rbi +14 -0
  268. data/lib/cld_provisioning/models/shared/usergroupsresponse.rb +36 -0
  269. data/lib/cld_provisioning/models/shared/usergroupsresponse.rbi +14 -0
  270. data/lib/cld_provisioning/models/shared/usergroupsummary.rb +44 -0
  271. data/lib/cld_provisioning/models/shared/usergroupsummary.rbi +20 -0
  272. data/lib/cld_provisioning/models/shared/usergroupuser.rb +52 -0
  273. data/lib/cld_provisioning/models/shared/usergroupuser.rbi +26 -0
  274. data/lib/cld_provisioning/models/shared/usergroupusersresponse.rb +36 -0
  275. data/lib/cld_provisioning/models/shared/usergroupusersresponse.rbi +14 -0
  276. data/lib/cld_provisioning/models/shared/userrequest.rb +85 -0
  277. data/lib/cld_provisioning/models/shared/userrequest.rbi +38 -0
  278. data/lib/cld_provisioning/models/shared/userrequest_role.rb +24 -0
  279. data/lib/cld_provisioning/models/shared/userrequest_role.rbi +9 -0
  280. data/lib/cld_provisioning/models/shared/usersresponse.rb +35 -0
  281. data/lib/cld_provisioning/models/shared/usersresponse.rbi +14 -0
  282. data/lib/cld_provisioning/models/shared/usersubaccountsresponse.rb +36 -0
  283. data/lib/cld_provisioning/models/shared/usersubaccountsresponse.rbi +14 -0
  284. data/lib/cld_provisioning/models/shared/validatecedarpolicyrequest.rb +36 -0
  285. data/lib/cld_provisioning/models/shared/validatecedarpolicyrequest.rbi +14 -0
  286. data/lib/cld_provisioning/models/shared/validatecedarpolicyresponse.rb +43 -0
  287. data/lib/cld_provisioning/models/shared/validatecedarpolicyresponse.rbi +20 -0
  288. data/lib/cld_provisioning/models/shared.rb +111 -0
  289. data/lib/cld_provisioning/principals.rb +818 -0
  290. data/lib/cld_provisioning/productenvironments.rb +928 -0
  291. data/lib/cld_provisioning/public.rb +456 -0
  292. data/lib/cld_provisioning/roles.rb +1315 -0
  293. data/lib/cld_provisioning/sdk_hooks/account_config.rb +62 -0
  294. data/lib/cld_provisioning/sdk_hooks/cloudinary_account_hook.rb +87 -0
  295. data/lib/cld_provisioning/sdk_hooks/hooks.rb +100 -0
  296. data/lib/cld_provisioning/sdk_hooks/registration.rb +37 -0
  297. data/lib/cld_provisioning/sdk_hooks/types.rb +181 -0
  298. data/lib/cld_provisioning/sdk_hooks/user_agent_hook.rb +35 -0
  299. data/lib/cld_provisioning/sdkconfiguration.rb +133 -0
  300. data/lib/cld_provisioning/sdkconfiguration.rbi +89 -0
  301. data/lib/cld_provisioning/systempolicies.rb +240 -0
  302. data/lib/cld_provisioning/usergroups.rb +1425 -0
  303. data/lib/cld_provisioning/users.rb +1245 -0
  304. data/lib/cld_provisioning/utils/forms.rb +233 -0
  305. data/lib/cld_provisioning/utils/headers.rb +83 -0
  306. data/lib/cld_provisioning/utils/query_params.rb +168 -0
  307. data/lib/cld_provisioning/utils/request_bodies.rb +80 -0
  308. data/lib/cld_provisioning/utils/retries.rb +98 -0
  309. data/lib/cld_provisioning/utils/security.rb +159 -0
  310. data/lib/cld_provisioning/utils/url.rb +125 -0
  311. data/lib/cld_provisioning/utils/utils.rb +242 -0
  312. data/lib/cloudinary_account_provisioning.rb +38 -0
  313. data/lib/crystalline/enum.rbi +17 -0
  314. data/lib/crystalline/metadata_fields.rb +266 -0
  315. data/lib/crystalline/module.rb +189 -0
  316. data/lib/crystalline/types.rb +171 -0
  317. data/lib/crystalline/utils.rb +70 -0
  318. data/lib/crystalline.rb +14 -0
  319. metadata +570 -0
@@ -0,0 +1,1315 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+ # @generated-id: 2486d9d632ad
3
+
4
+ # typed: true
5
+ # frozen_string_literal: true
6
+
7
+ require "faraday"
8
+ require "faraday/multipart"
9
+ require "faraday/retry"
10
+ require "sorbet-runtime"
11
+
12
+ require_relative "sdk_hooks/hooks"
13
+ require_relative "utils/retries"
14
+
15
+ module CldProvisioning
16
+ extend T::Sig
17
+
18
+ class Roles
19
+ extend T::Sig
20
+
21
+ # All roles include one or more predefined **system policies**, and can be applied to principals to enforce these policies.
22
+ #
23
+ # You can **manage custom roles**, where you select the system policies.
24
+ #
25
+ # You can **view system roles**, which contain a fixed set of system policies and are provided by Cloudinary.
26
+ #
27
+
28
+ sig { params(sdk_config: SDKConfiguration).void }
29
+ def initialize(sdk_config)
30
+ @sdk_configuration = sdk_config
31
+ end
32
+
33
+ sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
34
+ def get_url(base_url:, url_variables: nil)
35
+ sd_base_url, sd_options = @sdk_configuration.get_server_details
36
+
37
+ if base_url.nil?
38
+ base_url = sd_base_url
39
+ end
40
+
41
+ if url_variables.nil?
42
+ url_variables = sd_options
43
+ end
44
+
45
+ return Utils.template_url(base_url, url_variables)
46
+ end
47
+
48
+ sig {
49
+ params(
50
+ request: Models::Operations::GetRolesRequest,
51
+ timeout_ms: T.nilable(Integer),
52
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
53
+ )
54
+ .returns(Models::Shared::RolesResponse)
55
+ }
56
+ def list(request:, timeout_ms: nil, http_headers: nil)
57
+ # list - Get roles
58
+ # Retrieve all system and custom roles of a specific `permission_type` (global or content-specific). Optionally filter by `scope_type`, `management_type`, and `policy_parameters`.
59
+ #
60
+ url, params = @sdk_configuration.get_server_details
61
+ base_url = Utils.template_url(url, params)
62
+ url = Utils.generate_url(
63
+ Models::Operations::GetRolesRequest,
64
+ base_url,
65
+ "/v2/accounts/{account_id}/permissions/roles",
66
+ request,
67
+ @sdk_configuration.globals
68
+ )
69
+ headers = {}
70
+ headers = T.cast(headers, T::Hash[String, String])
71
+ query_params = Utils.get_query_params(
72
+ Models::Operations::GetRolesRequest,
73
+ request,
74
+ nil,
75
+ @sdk_configuration.globals
76
+ )
77
+ headers["Accept"] = "application/json"
78
+ headers["user-agent"] = @sdk_configuration.user_agent
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
86
+
87
+ hook_ctx = SDKHooks::HookContext.new(
88
+ config: @sdk_configuration,
89
+ base_url: base_url,
90
+ oauth2_scopes: nil,
91
+ operation_id: "getRoles",
92
+ security_source: @sdk_configuration.security_source
93
+ )
94
+
95
+ error = T.let(nil, T.nilable(StandardError))
96
+ http_response = T.let(nil, T.nilable(Faraday::Response))
97
+
98
+ begin
99
+ http_response = T.must(connection).get(url) do |req|
100
+ req.headers.merge!(headers)
101
+ req.options.timeout = timeout unless timeout.nil?
102
+ req.params = query_params
103
+ Utils.configure_request_security(req, security)
104
+ http_headers&.each do |key, value|
105
+ req.headers[key.to_s] = value
106
+ end
107
+
108
+ @sdk_configuration.hooks.before_request(
109
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
110
+ hook_ctx: hook_ctx
111
+ ),
112
+ request: req
113
+ )
114
+ end
115
+
116
+ rescue StandardError => e
117
+ error = e
118
+ ensure
119
+ if http_response.nil? || Utils.error_status?(http_response.status)
120
+ http_response = @sdk_configuration.hooks.after_error(
121
+ error: error,
122
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
123
+ hook_ctx: hook_ctx
124
+ ),
125
+ response: http_response
126
+ )
127
+ else
128
+ http_response = @sdk_configuration.hooks.after_success(
129
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
130
+ hook_ctx: hook_ctx
131
+ ),
132
+ response: http_response
133
+ )
134
+ end
135
+
136
+ if http_response.nil?
137
+ raise error if !error.nil?
138
+ raise "no response"
139
+ end
140
+ end
141
+
142
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
143
+ if Utils.match_status_code(http_response.status, ["200"])
144
+ if Utils.match_content_type(content_type, "application/json")
145
+ @sdk_configuration.hooks.after_success(
146
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
147
+ hook_ctx: hook_ctx
148
+ ),
149
+ response: http_response
150
+ )
151
+ response_data = http_response.env.response_body
152
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::RolesResponse)
153
+
154
+ return obj
155
+ else
156
+ raise(
157
+ ::CldProvisioning::Models::Errors::APIError.new(
158
+ status_code: http_response.status,
159
+ body: http_response.env.response_body,
160
+ raw_response: http_response
161
+ ),
162
+ "Unknown content type received"
163
+ )
164
+ end
165
+ elsif Utils.match_status_code(http_response.status, ["401", "403"])
166
+ if Utils.match_content_type(content_type, "application/json")
167
+ @sdk_configuration.hooks.after_success(
168
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
169
+ hook_ctx: hook_ctx
170
+ ),
171
+ response: http_response
172
+ )
173
+ response_data = http_response.env.response_body
174
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionsErrorResponse)
175
+ raise obj
176
+ else
177
+ raise(
178
+ ::CldProvisioning::Models::Errors::APIError.new(
179
+ status_code: http_response.status,
180
+ body: http_response.env.response_body,
181
+ raw_response: http_response
182
+ ),
183
+ "Unknown content type received"
184
+ )
185
+ end
186
+ elsif Utils.match_status_code(http_response.status, ["500"])
187
+ if Utils.match_content_type(content_type, "application/json")
188
+ @sdk_configuration.hooks.after_success(
189
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
190
+ hook_ctx: hook_ctx
191
+ ),
192
+ response: http_response
193
+ )
194
+ response_data = http_response.env.response_body
195
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionsErrorResponse)
196
+ raise obj
197
+ else
198
+ raise(
199
+ ::CldProvisioning::Models::Errors::APIError.new(
200
+ status_code: http_response.status,
201
+ body: http_response.env.response_body,
202
+ raw_response: http_response
203
+ ),
204
+ "Unknown content type received"
205
+ )
206
+ end
207
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
208
+ raise(
209
+ ::CldProvisioning::Models::Errors::APIError.new(
210
+ status_code: http_response.status,
211
+ body: http_response.env.response_body,
212
+ raw_response: http_response
213
+ ),
214
+ "API error occurred"
215
+ )
216
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
217
+ raise(
218
+ ::CldProvisioning::Models::Errors::APIError.new(
219
+ status_code: http_response.status,
220
+ body: http_response.env.response_body,
221
+ raw_response: http_response
222
+ ),
223
+ "API error occurred"
224
+ )
225
+ else
226
+ raise(
227
+ ::CldProvisioning::Models::Errors::APIError.new(
228
+ status_code: http_response.status,
229
+ body: http_response.env.response_body,
230
+ raw_response: http_response
231
+ ),
232
+ "Unknown status code received"
233
+ )
234
+
235
+ end
236
+ end
237
+
238
+ sig {
239
+ params(
240
+ create_role: Models::Shared::CreateRole,
241
+ account_id: T.nilable(::String),
242
+ timeout_ms: T.nilable(Integer),
243
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
244
+ )
245
+ .returns(Models::Shared::RoleResponse)
246
+ }
247
+ def create(create_role:, account_id: nil, timeout_ms: nil, http_headers: nil)
248
+ # create - Create custom role
249
+ # Create a new custom role.
250
+ request = Models::Operations::CreateRoleRequest.new(
251
+ create_role: create_role,
252
+ account_id: account_id
253
+ )
254
+ url, params = @sdk_configuration.get_server_details
255
+ base_url = Utils.template_url(url, params)
256
+ url = Utils.generate_url(
257
+ Models::Operations::CreateRoleRequest,
258
+ base_url,
259
+ "/v2/accounts/{account_id}/permissions/roles",
260
+ request,
261
+ @sdk_configuration.globals
262
+ )
263
+ headers = {}
264
+ headers = T.cast(headers, T::Hash[String, String])
265
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :create_role, :json)
266
+ headers["content-type"] = req_content_type
267
+ raise StandardError, "request body is required" if data.nil? && form.nil?
268
+
269
+ if form && !form.empty?
270
+ body = Utils.encode_form(form)
271
+ elsif Utils.match_content_type(req_content_type, "application/x-www-form-urlencoded")
272
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
273
+ else
274
+ body = data
275
+ end
276
+
277
+ headers["Accept"] = "application/json"
278
+ headers["user-agent"] = @sdk_configuration.user_agent
279
+
280
+ security = @sdk_configuration.security_source&.call
281
+
282
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
283
+ timeout ||= @sdk_configuration.timeout
284
+
285
+ connection = @sdk_configuration.client
286
+
287
+ hook_ctx = SDKHooks::HookContext.new(
288
+ config: @sdk_configuration,
289
+ base_url: base_url,
290
+ oauth2_scopes: nil,
291
+ operation_id: "createRole",
292
+ security_source: @sdk_configuration.security_source
293
+ )
294
+
295
+ error = T.let(nil, T.nilable(StandardError))
296
+ http_response = T.let(nil, T.nilable(Faraday::Response))
297
+
298
+ begin
299
+ http_response = T.must(connection).post(url) do |req|
300
+ req.body = body
301
+ req.headers.merge!(headers)
302
+ req.options.timeout = timeout unless timeout.nil?
303
+ Utils.configure_request_security(req, security)
304
+ http_headers&.each do |key, value|
305
+ req.headers[key.to_s] = value
306
+ end
307
+
308
+ @sdk_configuration.hooks.before_request(
309
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
310
+ hook_ctx: hook_ctx
311
+ ),
312
+ request: req
313
+ )
314
+ end
315
+
316
+ rescue StandardError => e
317
+ error = e
318
+ ensure
319
+ if http_response.nil? || Utils.error_status?(http_response.status)
320
+ http_response = @sdk_configuration.hooks.after_error(
321
+ error: error,
322
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
323
+ hook_ctx: hook_ctx
324
+ ),
325
+ response: http_response
326
+ )
327
+ else
328
+ http_response = @sdk_configuration.hooks.after_success(
329
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
330
+ hook_ctx: hook_ctx
331
+ ),
332
+ response: http_response
333
+ )
334
+ end
335
+
336
+ if http_response.nil?
337
+ raise error if !error.nil?
338
+ raise "no response"
339
+ end
340
+ end
341
+
342
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
343
+ if Utils.match_status_code(http_response.status, ["201"])
344
+ if Utils.match_content_type(content_type, "application/json")
345
+ @sdk_configuration.hooks.after_success(
346
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
347
+ hook_ctx: hook_ctx
348
+ ),
349
+ response: http_response
350
+ )
351
+ response_data = http_response.env.response_body
352
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::RoleResponse)
353
+
354
+ return obj
355
+ else
356
+ raise(
357
+ ::CldProvisioning::Models::Errors::APIError.new(
358
+ status_code: http_response.status,
359
+ body: http_response.env.response_body,
360
+ raw_response: http_response
361
+ ),
362
+ "Unknown content type received"
363
+ )
364
+ end
365
+ elsif Utils.match_status_code(http_response.status, ["400", "401", "403", "409"])
366
+ if Utils.match_content_type(content_type, "application/json")
367
+ @sdk_configuration.hooks.after_success(
368
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
369
+ hook_ctx: hook_ctx
370
+ ),
371
+ response: http_response
372
+ )
373
+ response_data = http_response.env.response_body
374
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionsErrorResponse)
375
+ raise obj
376
+ else
377
+ raise(
378
+ ::CldProvisioning::Models::Errors::APIError.new(
379
+ status_code: http_response.status,
380
+ body: http_response.env.response_body,
381
+ raw_response: http_response
382
+ ),
383
+ "Unknown content type received"
384
+ )
385
+ end
386
+ elsif Utils.match_status_code(http_response.status, ["500"])
387
+ if Utils.match_content_type(content_type, "application/json")
388
+ @sdk_configuration.hooks.after_success(
389
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
390
+ hook_ctx: hook_ctx
391
+ ),
392
+ response: http_response
393
+ )
394
+ response_data = http_response.env.response_body
395
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionsErrorResponse)
396
+ raise obj
397
+ else
398
+ raise(
399
+ ::CldProvisioning::Models::Errors::APIError.new(
400
+ status_code: http_response.status,
401
+ body: http_response.env.response_body,
402
+ raw_response: http_response
403
+ ),
404
+ "Unknown content type received"
405
+ )
406
+ end
407
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
408
+ raise(
409
+ ::CldProvisioning::Models::Errors::APIError.new(
410
+ status_code: http_response.status,
411
+ body: http_response.env.response_body,
412
+ raw_response: http_response
413
+ ),
414
+ "API error occurred"
415
+ )
416
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
417
+ raise(
418
+ ::CldProvisioning::Models::Errors::APIError.new(
419
+ status_code: http_response.status,
420
+ body: http_response.env.response_body,
421
+ raw_response: http_response
422
+ ),
423
+ "API error occurred"
424
+ )
425
+ else
426
+ raise(
427
+ ::CldProvisioning::Models::Errors::APIError.new(
428
+ status_code: http_response.status,
429
+ body: http_response.env.response_body,
430
+ raw_response: http_response
431
+ ),
432
+ "Unknown status code received"
433
+ )
434
+
435
+ end
436
+ end
437
+
438
+ sig {
439
+ params(
440
+ request: Models::Operations::GetRoleRequest,
441
+ timeout_ms: T.nilable(Integer),
442
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
443
+ )
444
+ .returns(Models::Shared::RoleResponse)
445
+ }
446
+ def get(request:, timeout_ms: nil, http_headers: nil)
447
+ # get - Get role
448
+ # Get a specific system or custom role.
449
+ url, params = @sdk_configuration.get_server_details
450
+ base_url = Utils.template_url(url, params)
451
+ url = Utils.generate_url(
452
+ Models::Operations::GetRoleRequest,
453
+ base_url,
454
+ "/v2/accounts/{account_id}/permissions/roles/{role_id}",
455
+ request,
456
+ @sdk_configuration.globals
457
+ )
458
+ headers = {}
459
+ headers = T.cast(headers, T::Hash[String, String])
460
+ query_params = Utils.get_query_params(
461
+ Models::Operations::GetRoleRequest,
462
+ request,
463
+ nil,
464
+ @sdk_configuration.globals
465
+ )
466
+ headers["Accept"] = "application/json"
467
+ headers["user-agent"] = @sdk_configuration.user_agent
468
+
469
+ security = @sdk_configuration.security_source&.call
470
+
471
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
472
+ timeout ||= @sdk_configuration.timeout
473
+
474
+ connection = @sdk_configuration.client
475
+
476
+ hook_ctx = SDKHooks::HookContext.new(
477
+ config: @sdk_configuration,
478
+ base_url: base_url,
479
+ oauth2_scopes: nil,
480
+ operation_id: "getRole",
481
+ security_source: @sdk_configuration.security_source
482
+ )
483
+
484
+ error = T.let(nil, T.nilable(StandardError))
485
+ http_response = T.let(nil, T.nilable(Faraday::Response))
486
+
487
+ begin
488
+ http_response = T.must(connection).get(url) do |req|
489
+ req.headers.merge!(headers)
490
+ req.options.timeout = timeout unless timeout.nil?
491
+ req.params = query_params
492
+ Utils.configure_request_security(req, security)
493
+ http_headers&.each do |key, value|
494
+ req.headers[key.to_s] = value
495
+ end
496
+
497
+ @sdk_configuration.hooks.before_request(
498
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
499
+ hook_ctx: hook_ctx
500
+ ),
501
+ request: req
502
+ )
503
+ end
504
+
505
+ rescue StandardError => e
506
+ error = e
507
+ ensure
508
+ if http_response.nil? || Utils.error_status?(http_response.status)
509
+ http_response = @sdk_configuration.hooks.after_error(
510
+ error: error,
511
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
512
+ hook_ctx: hook_ctx
513
+ ),
514
+ response: http_response
515
+ )
516
+ else
517
+ http_response = @sdk_configuration.hooks.after_success(
518
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
519
+ hook_ctx: hook_ctx
520
+ ),
521
+ response: http_response
522
+ )
523
+ end
524
+
525
+ if http_response.nil?
526
+ raise error if !error.nil?
527
+ raise "no response"
528
+ end
529
+ end
530
+
531
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
532
+ if Utils.match_status_code(http_response.status, ["200"])
533
+ if Utils.match_content_type(content_type, "application/json")
534
+ @sdk_configuration.hooks.after_success(
535
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
536
+ hook_ctx: hook_ctx
537
+ ),
538
+ response: http_response
539
+ )
540
+ response_data = http_response.env.response_body
541
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::RoleResponse)
542
+
543
+ return obj
544
+ else
545
+ raise(
546
+ ::CldProvisioning::Models::Errors::APIError.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, ["401", "403", "404"])
555
+ if Utils.match_content_type(content_type, "application/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::PermissionsErrorResponse)
564
+ raise obj
565
+ else
566
+ raise(
567
+ ::CldProvisioning::Models::Errors::APIError.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, ["4XX"])
576
+ raise(
577
+ ::CldProvisioning::Models::Errors::APIError.new(
578
+ status_code: http_response.status,
579
+ body: http_response.env.response_body,
580
+ raw_response: http_response
581
+ ),
582
+ "API error occurred"
583
+ )
584
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
585
+ raise(
586
+ ::CldProvisioning::Models::Errors::APIError.new(
587
+ status_code: http_response.status,
588
+ body: http_response.env.response_body,
589
+ raw_response: http_response
590
+ ),
591
+ "API error occurred"
592
+ )
593
+ else
594
+ raise(
595
+ ::CldProvisioning::Models::Errors::APIError.new(
596
+ status_code: http_response.status,
597
+ body: http_response.env.response_body,
598
+ raw_response: http_response
599
+ ),
600
+ "Unknown status code received"
601
+ )
602
+
603
+ end
604
+ end
605
+
606
+ sig {
607
+ params(
608
+ role_id: ::String,
609
+ role: Models::Shared::Role,
610
+ account_id: T.nilable(::String),
611
+ timeout_ms: T.nilable(Integer),
612
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
613
+ )
614
+ .returns(Models::Shared::RoleResponse)
615
+ }
616
+ def update(role_id:, role:, account_id: nil, timeout_ms: nil, http_headers: nil)
617
+ # update - Update custom role
618
+ # Update a specific custom role by providing all relevant details, including those you want to keep as-is.
619
+ #
620
+ # *Note:* Updating a role with a name that already exists will trigger a 409 error.
621
+ #
622
+ request = Models::Operations::UpdateRoleRequest.new(
623
+ role_id: role_id,
624
+ role: role,
625
+ account_id: account_id
626
+ )
627
+ url, params = @sdk_configuration.get_server_details
628
+ base_url = Utils.template_url(url, params)
629
+ url = Utils.generate_url(
630
+ Models::Operations::UpdateRoleRequest,
631
+ base_url,
632
+ "/v2/accounts/{account_id}/permissions/roles/{role_id}",
633
+ request,
634
+ @sdk_configuration.globals
635
+ )
636
+ headers = {}
637
+ headers = T.cast(headers, T::Hash[String, String])
638
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :role, :json)
639
+ headers["content-type"] = req_content_type
640
+ raise StandardError, "request body is required" if data.nil? && form.nil?
641
+
642
+ if form && !form.empty?
643
+ body = Utils.encode_form(form)
644
+ elsif Utils.match_content_type(req_content_type, "application/x-www-form-urlencoded")
645
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
646
+ else
647
+ body = data
648
+ end
649
+
650
+ headers["Accept"] = "application/json"
651
+ headers["user-agent"] = @sdk_configuration.user_agent
652
+
653
+ security = @sdk_configuration.security_source&.call
654
+
655
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
656
+ timeout ||= @sdk_configuration.timeout
657
+
658
+ connection = @sdk_configuration.client
659
+
660
+ hook_ctx = SDKHooks::HookContext.new(
661
+ config: @sdk_configuration,
662
+ base_url: base_url,
663
+ oauth2_scopes: nil,
664
+ operation_id: "updateRole",
665
+ security_source: @sdk_configuration.security_source
666
+ )
667
+
668
+ error = T.let(nil, T.nilable(StandardError))
669
+ http_response = T.let(nil, T.nilable(Faraday::Response))
670
+
671
+ begin
672
+ http_response = T.must(connection).put(url) do |req|
673
+ req.body = body
674
+ req.headers.merge!(headers)
675
+ req.options.timeout = timeout unless timeout.nil?
676
+ Utils.configure_request_security(req, security)
677
+ http_headers&.each do |key, value|
678
+ req.headers[key.to_s] = value
679
+ end
680
+
681
+ @sdk_configuration.hooks.before_request(
682
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
683
+ hook_ctx: hook_ctx
684
+ ),
685
+ request: req
686
+ )
687
+ end
688
+
689
+ rescue StandardError => e
690
+ error = e
691
+ ensure
692
+ if http_response.nil? || Utils.error_status?(http_response.status)
693
+ http_response = @sdk_configuration.hooks.after_error(
694
+ error: error,
695
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
696
+ hook_ctx: hook_ctx
697
+ ),
698
+ response: http_response
699
+ )
700
+ else
701
+ http_response = @sdk_configuration.hooks.after_success(
702
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
703
+ hook_ctx: hook_ctx
704
+ ),
705
+ response: http_response
706
+ )
707
+ end
708
+
709
+ if http_response.nil?
710
+ raise error if !error.nil?
711
+ raise "no response"
712
+ end
713
+ end
714
+
715
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
716
+ if Utils.match_status_code(http_response.status, ["200"])
717
+ if Utils.match_content_type(content_type, "application/json")
718
+ @sdk_configuration.hooks.after_success(
719
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
720
+ hook_ctx: hook_ctx
721
+ ),
722
+ response: http_response
723
+ )
724
+ response_data = http_response.env.response_body
725
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::RoleResponse)
726
+
727
+ return obj
728
+ else
729
+ raise(
730
+ ::CldProvisioning::Models::Errors::APIError.new(
731
+ status_code: http_response.status,
732
+ body: http_response.env.response_body,
733
+ raw_response: http_response
734
+ ),
735
+ "Unknown content type received"
736
+ )
737
+ end
738
+ elsif Utils.match_status_code(http_response.status, ["400", "401", "403", "404", "409"])
739
+ if Utils.match_content_type(content_type, "application/json")
740
+ @sdk_configuration.hooks.after_success(
741
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
742
+ hook_ctx: hook_ctx
743
+ ),
744
+ response: http_response
745
+ )
746
+ response_data = http_response.env.response_body
747
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionsErrorResponse)
748
+ raise obj
749
+ else
750
+ raise(
751
+ ::CldProvisioning::Models::Errors::APIError.new(
752
+ status_code: http_response.status,
753
+ body: http_response.env.response_body,
754
+ raw_response: http_response
755
+ ),
756
+ "Unknown content type received"
757
+ )
758
+ end
759
+ elsif Utils.match_status_code(http_response.status, ["500"])
760
+ if Utils.match_content_type(content_type, "application/json")
761
+ @sdk_configuration.hooks.after_success(
762
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
763
+ hook_ctx: hook_ctx
764
+ ),
765
+ response: http_response
766
+ )
767
+ response_data = http_response.env.response_body
768
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionsErrorResponse)
769
+ raise obj
770
+ else
771
+ raise(
772
+ ::CldProvisioning::Models::Errors::APIError.new(
773
+ status_code: http_response.status,
774
+ body: http_response.env.response_body,
775
+ raw_response: http_response
776
+ ),
777
+ "Unknown content type received"
778
+ )
779
+ end
780
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
781
+ raise(
782
+ ::CldProvisioning::Models::Errors::APIError.new(
783
+ status_code: http_response.status,
784
+ body: http_response.env.response_body,
785
+ raw_response: http_response
786
+ ),
787
+ "API error occurred"
788
+ )
789
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
790
+ raise(
791
+ ::CldProvisioning::Models::Errors::APIError.new(
792
+ status_code: http_response.status,
793
+ body: http_response.env.response_body,
794
+ raw_response: http_response
795
+ ),
796
+ "API error occurred"
797
+ )
798
+ else
799
+ raise(
800
+ ::CldProvisioning::Models::Errors::APIError.new(
801
+ status_code: http_response.status,
802
+ body: http_response.env.response_body,
803
+ raw_response: http_response
804
+ ),
805
+ "Unknown status code received"
806
+ )
807
+
808
+ end
809
+ end
810
+
811
+ sig {
812
+ params(
813
+ role_id: ::String,
814
+ account_id: T.nilable(::String),
815
+ force: T.nilable(T::Boolean),
816
+ timeout_ms: T.nilable(Integer),
817
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
818
+ )
819
+ .void
820
+ }
821
+ def delete(role_id:, account_id: nil, force: nil, timeout_ms: nil, http_headers: nil)
822
+ # delete - Delete custom role
823
+ # Delete a specific custom role.
824
+ request = Models::Operations::DeleteRoleRequest.new(
825
+ role_id: role_id,
826
+ account_id: account_id,
827
+ force: force
828
+ )
829
+ url, params = @sdk_configuration.get_server_details
830
+ base_url = Utils.template_url(url, params)
831
+ url = Utils.generate_url(
832
+ Models::Operations::DeleteRoleRequest,
833
+ base_url,
834
+ "/v2/accounts/{account_id}/permissions/roles/{role_id}",
835
+ request,
836
+ @sdk_configuration.globals
837
+ )
838
+ headers = {}
839
+ headers = T.cast(headers, T::Hash[String, String])
840
+ query_params = Utils.get_query_params(
841
+ Models::Operations::DeleteRoleRequest,
842
+ request,
843
+ nil,
844
+ @sdk_configuration.globals
845
+ )
846
+ headers["Accept"] = "application/json"
847
+ headers["user-agent"] = @sdk_configuration.user_agent
848
+
849
+ security = @sdk_configuration.security_source&.call
850
+
851
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
852
+ timeout ||= @sdk_configuration.timeout
853
+
854
+ connection = @sdk_configuration.client
855
+
856
+ hook_ctx = SDKHooks::HookContext.new(
857
+ config: @sdk_configuration,
858
+ base_url: base_url,
859
+ oauth2_scopes: nil,
860
+ operation_id: "deleteRole",
861
+ security_source: @sdk_configuration.security_source
862
+ )
863
+
864
+ error = T.let(nil, T.nilable(StandardError))
865
+ http_response = T.let(nil, T.nilable(Faraday::Response))
866
+
867
+ begin
868
+ http_response = T.must(connection).delete(url) do |req|
869
+ req.headers.merge!(headers)
870
+ req.options.timeout = timeout unless timeout.nil?
871
+ req.params = query_params
872
+ Utils.configure_request_security(req, security)
873
+ http_headers&.each do |key, value|
874
+ req.headers[key.to_s] = value
875
+ end
876
+
877
+ @sdk_configuration.hooks.before_request(
878
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
879
+ hook_ctx: hook_ctx
880
+ ),
881
+ request: req
882
+ )
883
+ end
884
+
885
+ rescue StandardError => e
886
+ error = e
887
+ ensure
888
+ if http_response.nil? || Utils.error_status?(http_response.status)
889
+ http_response = @sdk_configuration.hooks.after_error(
890
+ error: error,
891
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
892
+ hook_ctx: hook_ctx
893
+ ),
894
+ response: http_response
895
+ )
896
+ else
897
+ http_response = @sdk_configuration.hooks.after_success(
898
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
899
+ hook_ctx: hook_ctx
900
+ ),
901
+ response: http_response
902
+ )
903
+ end
904
+
905
+ if http_response.nil?
906
+ raise error if !error.nil?
907
+ raise "no response"
908
+ end
909
+ end
910
+
911
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
912
+ if Utils.match_status_code(http_response.status, ["204"])
913
+ @sdk_configuration.hooks.after_success(
914
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
915
+ hook_ctx: hook_ctx
916
+ ),
917
+ response: http_response
918
+ )
919
+ return
920
+ elsif Utils.match_status_code(http_response.status, ["401", "403", "404"])
921
+ if Utils.match_content_type(content_type, "application/json")
922
+ @sdk_configuration.hooks.after_success(
923
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
924
+ hook_ctx: hook_ctx
925
+ ),
926
+ response: http_response
927
+ )
928
+ return
929
+ else
930
+ raise(
931
+ ::CldProvisioning::Models::Errors::APIError.new(
932
+ status_code: http_response.status,
933
+ body: http_response.env.response_body,
934
+ raw_response: http_response
935
+ ),
936
+ "Unknown content type received"
937
+ )
938
+ end
939
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
940
+ raise(
941
+ ::CldProvisioning::Models::Errors::APIError.new(
942
+ status_code: http_response.status,
943
+ body: http_response.env.response_body,
944
+ raw_response: http_response
945
+ ),
946
+ "API error occurred"
947
+ )
948
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
949
+ raise(
950
+ ::CldProvisioning::Models::Errors::APIError.new(
951
+ status_code: http_response.status,
952
+ body: http_response.env.response_body,
953
+ raw_response: http_response
954
+ ),
955
+ "API error occurred"
956
+ )
957
+ else
958
+ raise(
959
+ ::CldProvisioning::Models::Errors::APIError.new(
960
+ status_code: http_response.status,
961
+ body: http_response.env.response_body,
962
+ raw_response: http_response
963
+ ),
964
+ "Unknown status code received"
965
+ )
966
+
967
+ end
968
+ end
969
+
970
+ sig {
971
+ params(
972
+ request: Models::Operations::GetRolePrincipalsRequest,
973
+ timeout_ms: T.nilable(Integer),
974
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
975
+ )
976
+ .returns(Models::Shared::PrincipalsResponse)
977
+ }
978
+ def list_principals(request:, timeout_ms: nil, http_headers: nil)
979
+ # list_principals - Get a role's principals
980
+ # Retrieve all principals associated with a specific role.
981
+ url, params = @sdk_configuration.get_server_details
982
+ base_url = Utils.template_url(url, params)
983
+ url = Utils.generate_url(
984
+ Models::Operations::GetRolePrincipalsRequest,
985
+ base_url,
986
+ "/v2/accounts/{account_id}/permissions/roles/{role_id}/principals",
987
+ request,
988
+ @sdk_configuration.globals
989
+ )
990
+ headers = {}
991
+ headers = T.cast(headers, T::Hash[String, String])
992
+ query_params = Utils.get_query_params(
993
+ Models::Operations::GetRolePrincipalsRequest,
994
+ request,
995
+ nil,
996
+ @sdk_configuration.globals
997
+ )
998
+ headers["Accept"] = "application/json"
999
+ headers["user-agent"] = @sdk_configuration.user_agent
1000
+
1001
+ security = @sdk_configuration.security_source&.call
1002
+
1003
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1004
+ timeout ||= @sdk_configuration.timeout
1005
+
1006
+ connection = @sdk_configuration.client
1007
+
1008
+ hook_ctx = SDKHooks::HookContext.new(
1009
+ config: @sdk_configuration,
1010
+ base_url: base_url,
1011
+ oauth2_scopes: nil,
1012
+ operation_id: "getRolePrincipals",
1013
+ security_source: @sdk_configuration.security_source
1014
+ )
1015
+
1016
+ error = T.let(nil, T.nilable(StandardError))
1017
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1018
+
1019
+ begin
1020
+ http_response = T.must(connection).get(url) do |req|
1021
+ req.headers.merge!(headers)
1022
+ req.options.timeout = timeout unless timeout.nil?
1023
+ req.params = query_params
1024
+ Utils.configure_request_security(req, security)
1025
+ http_headers&.each do |key, value|
1026
+ req.headers[key.to_s] = value
1027
+ end
1028
+
1029
+ @sdk_configuration.hooks.before_request(
1030
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1031
+ hook_ctx: hook_ctx
1032
+ ),
1033
+ request: req
1034
+ )
1035
+ end
1036
+
1037
+ rescue StandardError => e
1038
+ error = e
1039
+ ensure
1040
+ if http_response.nil? || Utils.error_status?(http_response.status)
1041
+ http_response = @sdk_configuration.hooks.after_error(
1042
+ error: error,
1043
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1044
+ hook_ctx: hook_ctx
1045
+ ),
1046
+ response: http_response
1047
+ )
1048
+ else
1049
+ http_response = @sdk_configuration.hooks.after_success(
1050
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1051
+ hook_ctx: hook_ctx
1052
+ ),
1053
+ response: http_response
1054
+ )
1055
+ end
1056
+
1057
+ if http_response.nil?
1058
+ raise error if !error.nil?
1059
+ raise "no response"
1060
+ end
1061
+ end
1062
+
1063
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
1064
+ if Utils.match_status_code(http_response.status, ["200"])
1065
+ if Utils.match_content_type(content_type, "application/json")
1066
+ @sdk_configuration.hooks.after_success(
1067
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1068
+ hook_ctx: hook_ctx
1069
+ ),
1070
+ response: http_response
1071
+ )
1072
+ response_data = http_response.env.response_body
1073
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::PrincipalsResponse)
1074
+
1075
+ return obj
1076
+ else
1077
+ raise(
1078
+ ::CldProvisioning::Models::Errors::APIError.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, ["401", "403", "404"])
1087
+ if Utils.match_content_type(content_type, "application/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::PermissionsErrorResponse)
1096
+ raise obj
1097
+ else
1098
+ raise(
1099
+ ::CldProvisioning::Models::Errors::APIError.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, ["4XX"])
1108
+ raise(
1109
+ ::CldProvisioning::Models::Errors::APIError.new(
1110
+ status_code: http_response.status,
1111
+ body: http_response.env.response_body,
1112
+ raw_response: http_response
1113
+ ),
1114
+ "API error occurred"
1115
+ )
1116
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
1117
+ raise(
1118
+ ::CldProvisioning::Models::Errors::APIError.new(
1119
+ status_code: http_response.status,
1120
+ body: http_response.env.response_body,
1121
+ raw_response: http_response
1122
+ ),
1123
+ "API error occurred"
1124
+ )
1125
+ else
1126
+ raise(
1127
+ ::CldProvisioning::Models::Errors::APIError.new(
1128
+ status_code: http_response.status,
1129
+ body: http_response.env.response_body,
1130
+ raw_response: http_response
1131
+ ),
1132
+ "Unknown status code received"
1133
+ )
1134
+
1135
+ end
1136
+ end
1137
+
1138
+ sig {
1139
+ params(
1140
+ role_id: ::String,
1141
+ update_role_principals_request: Models::Shared::UpdateRolePrincipalsRequest,
1142
+ account_id: T.nilable(::String),
1143
+ timeout_ms: T.nilable(Integer),
1144
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
1145
+ )
1146
+ .void
1147
+ }
1148
+ def update_principals(
1149
+ role_id:,
1150
+ update_role_principals_request:,
1151
+ account_id: nil,
1152
+ timeout_ms: nil,
1153
+ http_headers: nil
1154
+ )
1155
+ # update_principals - Assign principals to a role
1156
+ # Add or remove principals associated with a role.
1157
+ request = Models::Operations::UpdateRolePrincipalsRequest.new(
1158
+ role_id: role_id,
1159
+ update_role_principals_request: update_role_principals_request,
1160
+ account_id: account_id
1161
+ )
1162
+ url, params = @sdk_configuration.get_server_details
1163
+ base_url = Utils.template_url(url, params)
1164
+ url = Utils.generate_url(
1165
+ Models::Operations::UpdateRolePrincipalsRequest,
1166
+ base_url,
1167
+ "/v2/accounts/{account_id}/permissions/roles/{role_id}/principals",
1168
+ request,
1169
+ @sdk_configuration.globals
1170
+ )
1171
+ headers = {}
1172
+ headers = T.cast(headers, T::Hash[String, String])
1173
+ req_content_type, data, form = Utils.serialize_request_body(
1174
+ request,
1175
+ false,
1176
+ false,
1177
+ :update_role_principals_request,
1178
+ :json
1179
+ )
1180
+ headers["content-type"] = req_content_type
1181
+ raise StandardError, "request body is required" if data.nil? && form.nil?
1182
+
1183
+ if form && !form.empty?
1184
+ body = Utils.encode_form(form)
1185
+ elsif Utils.match_content_type(req_content_type, "application/x-www-form-urlencoded")
1186
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
1187
+ else
1188
+ body = data
1189
+ end
1190
+
1191
+ headers["Accept"] = "application/json"
1192
+ headers["user-agent"] = @sdk_configuration.user_agent
1193
+
1194
+ security = @sdk_configuration.security_source&.call
1195
+
1196
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1197
+ timeout ||= @sdk_configuration.timeout
1198
+
1199
+ connection = @sdk_configuration.client
1200
+
1201
+ hook_ctx = SDKHooks::HookContext.new(
1202
+ config: @sdk_configuration,
1203
+ base_url: base_url,
1204
+ oauth2_scopes: nil,
1205
+ operation_id: "updateRolePrincipals",
1206
+ security_source: @sdk_configuration.security_source
1207
+ )
1208
+
1209
+ error = T.let(nil, T.nilable(StandardError))
1210
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1211
+
1212
+ begin
1213
+ http_response = T.must(connection).put(url) do |req|
1214
+ req.body = body
1215
+ req.headers.merge!(headers)
1216
+ req.options.timeout = timeout unless timeout.nil?
1217
+ Utils.configure_request_security(req, security)
1218
+ http_headers&.each do |key, value|
1219
+ req.headers[key.to_s] = value
1220
+ end
1221
+
1222
+ @sdk_configuration.hooks.before_request(
1223
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1224
+ hook_ctx: hook_ctx
1225
+ ),
1226
+ request: req
1227
+ )
1228
+ end
1229
+
1230
+ rescue StandardError => e
1231
+ error = e
1232
+ ensure
1233
+ if http_response.nil? || Utils.error_status?(http_response.status)
1234
+ http_response = @sdk_configuration.hooks.after_error(
1235
+ error: error,
1236
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1237
+ hook_ctx: hook_ctx
1238
+ ),
1239
+ response: http_response
1240
+ )
1241
+ else
1242
+ http_response = @sdk_configuration.hooks.after_success(
1243
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1244
+ hook_ctx: hook_ctx
1245
+ ),
1246
+ response: http_response
1247
+ )
1248
+ end
1249
+
1250
+ if http_response.nil?
1251
+ raise error if !error.nil?
1252
+ raise "no response"
1253
+ end
1254
+ end
1255
+
1256
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
1257
+ if Utils.match_status_code(http_response.status, ["200"])
1258
+ @sdk_configuration.hooks.after_success(
1259
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1260
+ hook_ctx: hook_ctx
1261
+ ),
1262
+ response: http_response
1263
+ )
1264
+ return
1265
+ elsif Utils.match_status_code(http_response.status, ["400", "401", "403", "404"])
1266
+ if Utils.match_content_type(content_type, "application/json")
1267
+ @sdk_configuration.hooks.after_success(
1268
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1269
+ hook_ctx: hook_ctx
1270
+ ),
1271
+ response: http_response
1272
+ )
1273
+ return
1274
+ else
1275
+ raise(
1276
+ ::CldProvisioning::Models::Errors::APIError.new(
1277
+ status_code: http_response.status,
1278
+ body: http_response.env.response_body,
1279
+ raw_response: http_response
1280
+ ),
1281
+ "Unknown content type received"
1282
+ )
1283
+ end
1284
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
1285
+ raise(
1286
+ ::CldProvisioning::Models::Errors::APIError.new(
1287
+ status_code: http_response.status,
1288
+ body: http_response.env.response_body,
1289
+ raw_response: http_response
1290
+ ),
1291
+ "API error occurred"
1292
+ )
1293
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
1294
+ raise(
1295
+ ::CldProvisioning::Models::Errors::APIError.new(
1296
+ status_code: http_response.status,
1297
+ body: http_response.env.response_body,
1298
+ raw_response: http_response
1299
+ ),
1300
+ "API error occurred"
1301
+ )
1302
+ else
1303
+ raise(
1304
+ ::CldProvisioning::Models::Errors::APIError.new(
1305
+ status_code: http_response.status,
1306
+ body: http_response.env.response_body,
1307
+ raw_response: http_response
1308
+ ),
1309
+ "Unknown status code received"
1310
+ )
1311
+
1312
+ end
1313
+ end
1314
+ end
1315
+ end