openai 0.63.0 → 0.64.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 (265) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +1 -1
  4. data/lib/openai/internal/transport/base_client.rb +2 -0
  5. data/lib/openai/models/admin/organization/data_retention_retrieve_params.rb +18 -0
  6. data/lib/openai/models/admin/organization/data_retention_update_params.rb +40 -0
  7. data/lib/openai/models/admin/organization/group.rb +16 -3
  8. data/lib/openai/models/admin/organization/group_retrieve_params.rb +24 -0
  9. data/lib/openai/models/admin/organization/groups/role_list_response.rb +27 -1
  10. data/lib/openai/models/admin/organization/groups/role_retrieve_params.rb +32 -0
  11. data/lib/openai/models/admin/organization/groups/role_retrieve_response.rb +134 -0
  12. data/lib/openai/models/admin/organization/groups/user_retrieve_params.rb +32 -0
  13. data/lib/openai/models/admin/organization/groups/user_retrieve_response.rb +79 -0
  14. data/lib/openai/models/admin/organization/invite_create_params.rb +2 -1
  15. data/lib/openai/models/admin/organization/organization_data_retention.rb +48 -0
  16. data/lib/openai/models/admin/organization/organization_spend_alert.rb +120 -0
  17. data/lib/openai/models/admin/organization/organization_spend_alert_deleted.rb +41 -0
  18. data/lib/openai/models/admin/organization/projects/data_retention_retrieve_params.rb +26 -0
  19. data/lib/openai/models/admin/organization/projects/data_retention_update_params.rb +51 -0
  20. data/lib/openai/models/admin/organization/projects/group_retrieve_params.rb +53 -0
  21. data/lib/openai/models/admin/organization/projects/groups/role_list_response.rb +27 -1
  22. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_params.rb +40 -0
  23. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_response.rb +136 -0
  24. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rb +26 -0
  25. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rb +150 -0
  26. data/lib/openai/models/admin/organization/projects/model_permission_delete_params.rb +26 -0
  27. data/lib/openai/models/admin/organization/projects/model_permission_retrieve_params.rb +26 -0
  28. data/lib/openai/models/admin/organization/projects/model_permission_update_params.rb +54 -0
  29. data/lib/openai/models/admin/organization/projects/project_data_retention.rb +52 -0
  30. data/lib/openai/models/admin/organization/projects/project_group.rb +16 -3
  31. data/lib/openai/models/admin/organization/projects/project_hosted_tool_permissions.rb +133 -0
  32. data/lib/openai/models/admin/organization/projects/project_model_permissions.rb +56 -0
  33. data/lib/openai/models/admin/organization/projects/project_model_permissions_deleted.rb +35 -0
  34. data/lib/openai/models/admin/organization/projects/project_spend_alert.rb +122 -0
  35. data/lib/openai/models/admin/organization/projects/project_spend_alert_deleted.rb +43 -0
  36. data/lib/openai/models/admin/organization/projects/role_retrieve_params.rb +32 -0
  37. data/lib/openai/models/admin/organization/projects/service_account_update_params.rb +61 -0
  38. data/lib/openai/models/admin/organization/projects/spend_alert_create_params.rb +109 -0
  39. data/lib/openai/models/admin/organization/projects/spend_alert_delete_params.rb +32 -0
  40. data/lib/openai/models/admin/organization/projects/spend_alert_list_params.rb +76 -0
  41. data/lib/openai/models/admin/organization/projects/spend_alert_update_params.rb +116 -0
  42. data/lib/openai/models/admin/organization/projects/users/role_list_response.rb +27 -1
  43. data/lib/openai/models/admin/organization/projects/users/role_retrieve_params.rb +40 -0
  44. data/lib/openai/models/admin/organization/projects/users/role_retrieve_response.rb +136 -0
  45. data/lib/openai/models/admin/organization/role_retrieve_params.rb +24 -0
  46. data/lib/openai/models/admin/organization/spend_alert_create_params.rb +100 -0
  47. data/lib/openai/models/admin/organization/spend_alert_delete_params.rb +24 -0
  48. data/lib/openai/models/admin/organization/spend_alert_list_params.rb +66 -0
  49. data/lib/openai/models/admin/organization/spend_alert_update_params.rb +107 -0
  50. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +148 -3
  51. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +148 -3
  52. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +148 -3
  53. data/lib/openai/models/admin/organization/usage_completions_response.rb +148 -3
  54. data/lib/openai/models/admin/organization/usage_costs_response.rb +148 -3
  55. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +148 -3
  56. data/lib/openai/models/admin/organization/usage_file_search_calls_params.rb +136 -0
  57. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +889 -0
  58. data/lib/openai/models/admin/organization/usage_images_response.rb +148 -3
  59. data/lib/openai/models/admin/organization/usage_moderations_response.rb +148 -3
  60. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +148 -3
  61. data/lib/openai/models/admin/organization/usage_web_search_calls_params.rb +157 -0
  62. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +889 -0
  63. data/lib/openai/models/admin/organization/users/role_list_response.rb +27 -1
  64. data/lib/openai/models/admin/organization/users/role_retrieve_params.rb +32 -0
  65. data/lib/openai/models/admin/organization/users/role_retrieve_response.rb +134 -0
  66. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  67. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  68. data/lib/openai/models/responses/input_token_count_params.rb +3 -3
  69. data/lib/openai/models/responses/response.rb +3 -3
  70. data/lib/openai/models/responses/response_compact_params.rb +3 -3
  71. data/lib/openai/models/responses/response_create_params.rb +3 -3
  72. data/lib/openai/models/responses/response_input_item.rb +17 -1
  73. data/lib/openai/models/responses/responses_client_event.rb +3 -3
  74. data/lib/openai/resources/admin/organization/data_retention.rb +60 -0
  75. data/lib/openai/resources/admin/organization/groups/roles.rb +28 -0
  76. data/lib/openai/resources/admin/organization/groups/users.rb +28 -0
  77. data/lib/openai/resources/admin/organization/groups.rb +21 -0
  78. data/lib/openai/resources/admin/organization/projects/data_retention.rb +66 -0
  79. data/lib/openai/resources/admin/organization/projects/groups/roles.rb +34 -0
  80. data/lib/openai/resources/admin/organization/projects/groups.rb +32 -0
  81. data/lib/openai/resources/admin/organization/projects/hosted_tool_permissions.rb +75 -0
  82. data/lib/openai/resources/admin/organization/projects/model_permissions.rb +89 -0
  83. data/lib/openai/resources/admin/organization/projects/roles.rb +28 -0
  84. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +33 -0
  85. data/lib/openai/resources/admin/organization/projects/spend_alerts.rb +153 -0
  86. data/lib/openai/resources/admin/organization/projects/users/roles.rb +34 -0
  87. data/lib/openai/resources/admin/organization/projects.rb +18 -0
  88. data/lib/openai/resources/admin/organization/roles.rb +21 -0
  89. data/lib/openai/resources/admin/organization/spend_alerts.rb +133 -0
  90. data/lib/openai/resources/admin/organization/usage.rb +94 -0
  91. data/lib/openai/resources/admin/organization/users/roles.rb +28 -0
  92. data/lib/openai/resources/admin/organization.rb +8 -0
  93. data/lib/openai/resources/conversations/items.rb +1 -1
  94. data/lib/openai/resources/conversations.rb +1 -1
  95. data/lib/openai/resources/responses/input_tokens.rb +1 -1
  96. data/lib/openai/resources/responses.rb +3 -3
  97. data/lib/openai/version.rb +1 -1
  98. data/lib/openai.rb +51 -0
  99. data/rbi/openai/models/admin/organization/data_retention_retrieve_params.rbi +34 -0
  100. data/rbi/openai/models/admin/organization/data_retention_update_params.rbi +101 -0
  101. data/rbi/openai/models/admin/organization/group.rbi +39 -3
  102. data/rbi/openai/models/admin/organization/group_retrieve_params.rbi +42 -0
  103. data/rbi/openai/models/admin/organization/groups/role_list_response.rbi +58 -0
  104. data/rbi/openai/models/admin/organization/groups/role_retrieve_params.rbi +52 -0
  105. data/rbi/openai/models/admin/organization/groups/role_retrieve_response.rbi +186 -0
  106. data/rbi/openai/models/admin/organization/groups/user_retrieve_params.rbi +52 -0
  107. data/rbi/openai/models/admin/organization/groups/user_retrieve_response.rbi +128 -0
  108. data/rbi/openai/models/admin/organization/invite_create_params.rbi +4 -2
  109. data/rbi/openai/models/admin/organization/organization_data_retention.rbi +106 -0
  110. data/rbi/openai/models/admin/organization/organization_spend_alert.rbi +225 -0
  111. data/rbi/openai/models/admin/organization/organization_spend_alert_deleted.rbi +58 -0
  112. data/rbi/openai/models/admin/organization/projects/data_retention_retrieve_params.rbi +44 -0
  113. data/rbi/openai/models/admin/organization/projects/data_retention_update_params.rbi +119 -0
  114. data/rbi/openai/models/admin/organization/projects/group_retrieve_params.rbi +115 -0
  115. data/rbi/openai/models/admin/organization/projects/groups/role_list_response.rbi +58 -0
  116. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_params.rbi +64 -0
  117. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_response.rbi +188 -0
  118. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbi +44 -0
  119. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbi +330 -0
  120. data/rbi/openai/models/admin/organization/projects/model_permission_delete_params.rbi +44 -0
  121. data/rbi/openai/models/admin/organization/projects/model_permission_retrieve_params.rbi +44 -0
  122. data/rbi/openai/models/admin/organization/projects/model_permission_update_params.rbi +107 -0
  123. data/rbi/openai/models/admin/organization/projects/project_data_retention.rbi +118 -0
  124. data/rbi/openai/models/admin/organization/projects/project_group.rbi +44 -3
  125. data/rbi/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbi +281 -0
  126. data/rbi/openai/models/admin/organization/projects/project_model_permissions.rbi +106 -0
  127. data/rbi/openai/models/admin/organization/projects/project_model_permissions_deleted.rbi +50 -0
  128. data/rbi/openai/models/admin/organization/projects/project_spend_alert.rbi +227 -0
  129. data/rbi/openai/models/admin/organization/projects/project_spend_alert_deleted.rbi +59 -0
  130. data/rbi/openai/models/admin/organization/projects/role_retrieve_params.rbi +52 -0
  131. data/rbi/openai/models/admin/organization/projects/service_account_update_params.rbi +126 -0
  132. data/rbi/openai/models/admin/organization/projects/spend_alert_create_params.rbi +220 -0
  133. data/rbi/openai/models/admin/organization/projects/spend_alert_delete_params.rbi +52 -0
  134. data/rbi/openai/models/admin/organization/projects/spend_alert_list_params.rbi +146 -0
  135. data/rbi/openai/models/admin/organization/projects/spend_alert_update_params.rbi +226 -0
  136. data/rbi/openai/models/admin/organization/projects/users/role_list_response.rbi +58 -0
  137. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_params.rbi +59 -0
  138. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_response.rbi +188 -0
  139. data/rbi/openai/models/admin/organization/role_retrieve_params.rbi +42 -0
  140. data/rbi/openai/models/admin/organization/spend_alert_create_params.rbi +212 -0
  141. data/rbi/openai/models/admin/organization/spend_alert_delete_params.rbi +42 -0
  142. data/rbi/openai/models/admin/organization/spend_alert_list_params.rbi +138 -0
  143. data/rbi/openai/models/admin/organization/spend_alert_update_params.rbi +218 -0
  144. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +186 -0
  145. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +186 -0
  146. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +186 -0
  147. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +186 -0
  148. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +186 -0
  149. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +186 -0
  150. data/rbi/openai/models/admin/organization/usage_file_search_calls_params.rbi +284 -0
  151. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +1225 -0
  152. data/rbi/openai/models/admin/organization/usage_images_response.rbi +186 -0
  153. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +186 -0
  154. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +186 -0
  155. data/rbi/openai/models/admin/organization/usage_web_search_calls_params.rbi +360 -0
  156. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +1225 -0
  157. data/rbi/openai/models/admin/organization/users/role_list_response.rbi +58 -0
  158. data/rbi/openai/models/admin/organization/users/role_retrieve_params.rbi +52 -0
  159. data/rbi/openai/models/admin/organization/users/role_retrieve_response.rbi +186 -0
  160. data/rbi/openai/models/conversations/conversation_create_params.rbi +3 -0
  161. data/rbi/openai/models/conversations/item_create_params.rbi +3 -0
  162. data/rbi/openai/models/responses/response_input_item.rbi +27 -0
  163. data/rbi/openai/resources/admin/organization/data_retention.rbi +40 -0
  164. data/rbi/openai/resources/admin/organization/groups/roles.rbi +19 -0
  165. data/rbi/openai/resources/admin/organization/groups/users.rbi +19 -0
  166. data/rbi/openai/resources/admin/organization/groups.rbi +14 -0
  167. data/rbi/openai/resources/admin/organization/invites.rbi +2 -1
  168. data/rbi/openai/resources/admin/organization/projects/data_retention.rbi +54 -0
  169. data/rbi/openai/resources/admin/organization/projects/groups/roles.rbi +22 -0
  170. data/rbi/openai/resources/admin/organization/projects/groups.rbi +21 -0
  171. data/rbi/openai/resources/admin/organization/projects/hosted_tool_permissions.rbi +80 -0
  172. data/rbi/openai/resources/admin/organization/projects/model_permissions.rbi +73 -0
  173. data/rbi/openai/resources/admin/organization/projects/roles.rbi +17 -0
  174. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +26 -0
  175. data/rbi/openai/resources/admin/organization/projects/spend_alerts.rbi +135 -0
  176. data/rbi/openai/resources/admin/organization/projects/users/roles.rbi +22 -0
  177. data/rbi/openai/resources/admin/organization/projects.rbi +28 -0
  178. data/rbi/openai/resources/admin/organization/roles.rbi +14 -0
  179. data/rbi/openai/resources/admin/organization/spend_alerts.rbi +117 -0
  180. data/rbi/openai/resources/admin/organization/usage.rbi +116 -0
  181. data/rbi/openai/resources/admin/organization/users/roles.rbi +19 -0
  182. data/rbi/openai/resources/admin/organization.rbi +6 -0
  183. data/rbi/openai/resources/conversations/items.rbi +1 -0
  184. data/rbi/openai/resources/conversations.rbi +1 -0
  185. data/sig/openai/models/admin/organization/data_retention_retrieve_params.rbs +19 -0
  186. data/sig/openai/models/admin/organization/data_retention_update_params.rbs +47 -0
  187. data/sig/openai/models/admin/organization/group.rbs +15 -4
  188. data/sig/openai/models/admin/organization/group_retrieve_params.rbs +27 -0
  189. data/sig/openai/models/admin/organization/groups/role_list_response.rbs +21 -0
  190. data/sig/openai/models/admin/organization/groups/role_retrieve_params.rbs +34 -0
  191. data/sig/openai/models/admin/organization/groups/role_retrieve_response.rbs +97 -0
  192. data/sig/openai/models/admin/organization/groups/user_retrieve_params.rbs +34 -0
  193. data/sig/openai/models/admin/organization/groups/user_retrieve_response.rbs +62 -0
  194. data/sig/openai/models/admin/organization/organization_data_retention.rbs +48 -0
  195. data/sig/openai/models/admin/organization/organization_spend_alert.rbs +98 -0
  196. data/sig/openai/models/admin/organization/organization_spend_alert_deleted.rbs +36 -0
  197. data/sig/openai/models/admin/organization/projects/data_retention_retrieve_params.rbs +29 -0
  198. data/sig/openai/models/admin/organization/projects/data_retention_update_params.rbs +58 -0
  199. data/sig/openai/models/admin/organization/projects/group_retrieve_params.rbs +57 -0
  200. data/sig/openai/models/admin/organization/projects/groups/role_list_response.rbs +21 -0
  201. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_params.rbs +40 -0
  202. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_response.rbs +99 -0
  203. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbs +29 -0
  204. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbs +107 -0
  205. data/sig/openai/models/admin/organization/projects/model_permission_delete_params.rbs +29 -0
  206. data/sig/openai/models/admin/organization/projects/model_permission_retrieve_params.rbs +29 -0
  207. data/sig/openai/models/admin/organization/projects/model_permission_update_params.rbs +53 -0
  208. data/sig/openai/models/admin/organization/projects/project_data_retention.rbs +54 -0
  209. data/sig/openai/models/admin/organization/projects/project_group.rbs +15 -4
  210. data/sig/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbs +98 -0
  211. data/sig/openai/models/admin/organization/projects/project_model_permissions.rbs +49 -0
  212. data/sig/openai/models/admin/organization/projects/project_model_permissions_deleted.rbs +30 -0
  213. data/sig/openai/models/admin/organization/projects/project_spend_alert.rbs +100 -0
  214. data/sig/openai/models/admin/organization/projects/project_spend_alert_deleted.rbs +38 -0
  215. data/sig/openai/models/admin/organization/projects/role_retrieve_params.rbs +34 -0
  216. data/sig/openai/models/admin/organization/projects/service_account_update_params.rbs +64 -0
  217. data/sig/openai/models/admin/organization/projects/spend_alert_create_params.rbs +99 -0
  218. data/sig/openai/models/admin/organization/projects/spend_alert_delete_params.rbs +34 -0
  219. data/sig/openai/models/admin/organization/projects/spend_alert_list_params.rbs +73 -0
  220. data/sig/openai/models/admin/organization/projects/spend_alert_update_params.rbs +104 -0
  221. data/sig/openai/models/admin/organization/projects/users/role_list_response.rbs +21 -0
  222. data/sig/openai/models/admin/organization/projects/users/role_retrieve_params.rbs +40 -0
  223. data/sig/openai/models/admin/organization/projects/users/role_retrieve_response.rbs +99 -0
  224. data/sig/openai/models/admin/organization/role_retrieve_params.rbs +27 -0
  225. data/sig/openai/models/admin/organization/spend_alert_create_params.rbs +92 -0
  226. data/sig/openai/models/admin/organization/spend_alert_delete_params.rbs +27 -0
  227. data/sig/openai/models/admin/organization/spend_alert_list_params.rbs +66 -0
  228. data/sig/openai/models/admin/organization/spend_alert_update_params.rbs +97 -0
  229. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +96 -0
  230. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +96 -0
  231. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +96 -0
  232. data/sig/openai/models/admin/organization/usage_completions_response.rbs +96 -0
  233. data/sig/openai/models/admin/organization/usage_costs_response.rbs +96 -0
  234. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +96 -0
  235. data/sig/openai/models/admin/organization/usage_file_search_calls_params.rbs +123 -0
  236. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +628 -0
  237. data/sig/openai/models/admin/organization/usage_images_response.rbs +96 -0
  238. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +96 -0
  239. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +96 -0
  240. data/sig/openai/models/admin/organization/usage_web_search_calls_params.rbs +145 -0
  241. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +628 -0
  242. data/sig/openai/models/admin/organization/users/role_list_response.rbs +21 -0
  243. data/sig/openai/models/admin/organization/users/role_retrieve_params.rbs +34 -0
  244. data/sig/openai/models/admin/organization/users/role_retrieve_response.rbs +97 -0
  245. data/sig/openai/models/responses/response_input_item.rbs +11 -0
  246. data/sig/openai/resources/admin/organization/data_retention.rbs +20 -0
  247. data/sig/openai/resources/admin/organization/groups/roles.rbs +6 -0
  248. data/sig/openai/resources/admin/organization/groups/users.rbs +6 -0
  249. data/sig/openai/resources/admin/organization/groups.rbs +5 -0
  250. data/sig/openai/resources/admin/organization/projects/data_retention.rbs +24 -0
  251. data/sig/openai/resources/admin/organization/projects/groups/roles.rbs +7 -0
  252. data/sig/openai/resources/admin/organization/projects/groups.rbs +7 -0
  253. data/sig/openai/resources/admin/organization/projects/hosted_tool_permissions.rbs +28 -0
  254. data/sig/openai/resources/admin/organization/projects/model_permissions.rbs +30 -0
  255. data/sig/openai/resources/admin/organization/projects/roles.rbs +6 -0
  256. data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +8 -0
  257. data/sig/openai/resources/admin/organization/projects/spend_alerts.rbs +47 -0
  258. data/sig/openai/resources/admin/organization/projects/users/roles.rbs +7 -0
  259. data/sig/openai/resources/admin/organization/projects.rbs +8 -0
  260. data/sig/openai/resources/admin/organization/roles.rbs +5 -0
  261. data/sig/openai/resources/admin/organization/spend_alerts.rbs +41 -0
  262. data/sig/openai/resources/admin/organization/usage.rbs +29 -0
  263. data/sig/openai/resources/admin/organization/users/roles.rbs +6 -0
  264. data/sig/openai/resources/admin/organization.rbs +4 -0
  265. metadata +155 -2
@@ -0,0 +1,122 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::SpendAlerts#create
9
+ class ProjectSpendAlert < OpenAI::Internal::Type::BaseModel
10
+ # @!attribute id
11
+ # The identifier, which can be referenced in API endpoints.
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!attribute currency
17
+ # The currency for the threshold amount.
18
+ #
19
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert::Currency]
20
+ required :currency, enum: -> { OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Currency }
21
+
22
+ # @!attribute interval
23
+ # The time interval for evaluating spend against the threshold.
24
+ #
25
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert::Interval]
26
+ required :interval, enum: -> { OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Interval }
27
+
28
+ # @!attribute notification_channel
29
+ # Email notification settings for a spend alert.
30
+ #
31
+ # @return [OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert::NotificationChannel]
32
+ required :notification_channel,
33
+ -> { OpenAI::Admin::Organization::Projects::ProjectSpendAlert::NotificationChannel }
34
+
35
+ # @!attribute object
36
+ # The object type, which is always `project.spend_alert`.
37
+ #
38
+ # @return [Symbol, :"project.spend_alert"]
39
+ required :object, const: :"project.spend_alert"
40
+
41
+ # @!attribute threshold_amount
42
+ # The alert threshold amount, in cents.
43
+ #
44
+ # @return [Integer]
45
+ required :threshold_amount, Integer
46
+
47
+ # @!method initialize(id:, currency:, interval:, notification_channel:, threshold_amount:, object: :"project.spend_alert")
48
+ # Represents a spend alert configured at the project level.
49
+ #
50
+ # @param id [String] The identifier, which can be referenced in API endpoints.
51
+ #
52
+ # @param currency [Symbol, OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert::Currency] The currency for the threshold amount.
53
+ #
54
+ # @param interval [Symbol, OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert::Interval] The time interval for evaluating spend against the threshold.
55
+ #
56
+ # @param notification_channel [OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert::NotificationChannel] Email notification settings for a spend alert.
57
+ #
58
+ # @param threshold_amount [Integer] The alert threshold amount, in cents.
59
+ #
60
+ # @param object [Symbol, :"project.spend_alert"] The object type, which is always `project.spend_alert`.
61
+
62
+ # The currency for the threshold amount.
63
+ #
64
+ # @see OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert#currency
65
+ module Currency
66
+ extend OpenAI::Internal::Type::Enum
67
+
68
+ USD = :USD
69
+
70
+ # @!method self.values
71
+ # @return [Array<Symbol>]
72
+ end
73
+
74
+ # The time interval for evaluating spend against the threshold.
75
+ #
76
+ # @see OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert#interval
77
+ module Interval
78
+ extend OpenAI::Internal::Type::Enum
79
+
80
+ MONTH = :month
81
+
82
+ # @!method self.values
83
+ # @return [Array<Symbol>]
84
+ end
85
+
86
+ # @see OpenAI::Models::Admin::Organization::Projects::ProjectSpendAlert#notification_channel
87
+ class NotificationChannel < OpenAI::Internal::Type::BaseModel
88
+ # @!attribute recipients
89
+ # Email addresses that receive the spend alert notification.
90
+ #
91
+ # @return [Array<String>]
92
+ required :recipients, OpenAI::Internal::Type::ArrayOf[String]
93
+
94
+ # @!attribute type
95
+ # The notification channel type. Currently only `email` is supported.
96
+ #
97
+ # @return [Symbol, :email]
98
+ required :type, const: :email
99
+
100
+ # @!attribute subject_prefix
101
+ # Optional subject prefix for alert emails.
102
+ #
103
+ # @return [String, nil]
104
+ optional :subject_prefix, String, nil?: true
105
+
106
+ # @!method initialize(recipients:, subject_prefix: nil, type: :email)
107
+ # Email notification settings for a spend alert.
108
+ #
109
+ # @param recipients [Array<String>] Email addresses that receive the spend alert notification.
110
+ #
111
+ # @param subject_prefix [String, nil] Optional subject prefix for alert emails.
112
+ #
113
+ # @param type [Symbol, :email] The notification channel type. Currently only `email` is supported.
114
+ end
115
+ end
116
+ end
117
+
118
+ ProjectSpendAlert = Projects::ProjectSpendAlert
119
+ end
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::SpendAlerts#delete
9
+ class ProjectSpendAlertDeleted < OpenAI::Internal::Type::BaseModel
10
+ # @!attribute id
11
+ # The deleted spend alert ID.
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!attribute deleted
17
+ # Whether the spend alert was deleted.
18
+ #
19
+ # @return [Boolean]
20
+ required :deleted, OpenAI::Internal::Type::Boolean
21
+
22
+ # @!attribute object
23
+ # Always `project.spend_alert.deleted`.
24
+ #
25
+ # @return [Symbol, :"project.spend_alert.deleted"]
26
+ required :object, const: :"project.spend_alert.deleted"
27
+
28
+ # @!method initialize(id:, deleted:, object: :"project.spend_alert.deleted")
29
+ # Confirmation payload returned after deleting a project spend alert.
30
+ #
31
+ # @param id [String] The deleted spend alert ID.
32
+ #
33
+ # @param deleted [Boolean] Whether the spend alert was deleted.
34
+ #
35
+ # @param object [Symbol, :"project.spend_alert.deleted"] Always `project.spend_alert.deleted`.
36
+ end
37
+ end
38
+
39
+ ProjectSpendAlertDeleted = Projects::ProjectSpendAlertDeleted
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::Roles#retrieve
9
+ class RoleRetrieveParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute project_id
14
+ #
15
+ # @return [String]
16
+ required :project_id, String
17
+
18
+ # @!attribute role_id
19
+ #
20
+ # @return [String]
21
+ required :role_id, String
22
+
23
+ # @!method initialize(project_id:, role_id:, request_options: {})
24
+ # @param project_id [String]
25
+ # @param role_id [String]
26
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::ServiceAccounts#update
9
+ class ServiceAccountUpdateParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute project_id
14
+ #
15
+ # @return [String]
16
+ required :project_id, String
17
+
18
+ # @!attribute service_account_id
19
+ #
20
+ # @return [String]
21
+ required :service_account_id, String
22
+
23
+ # @!attribute name
24
+ # The updated service account name.
25
+ #
26
+ # @return [String, nil]
27
+ optional :name, String
28
+
29
+ # @!attribute role
30
+ # The updated service account role.
31
+ #
32
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::ServiceAccountUpdateParams::Role, nil]
33
+ optional :role, enum: -> { OpenAI::Admin::Organization::Projects::ServiceAccountUpdateParams::Role }
34
+
35
+ # @!method initialize(project_id:, service_account_id:, name: nil, role: nil, request_options: {})
36
+ # @param project_id [String]
37
+ #
38
+ # @param service_account_id [String]
39
+ #
40
+ # @param name [String] The updated service account name.
41
+ #
42
+ # @param role [Symbol, OpenAI::Models::Admin::Organization::Projects::ServiceAccountUpdateParams::Role] The updated service account role.
43
+ #
44
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
45
+
46
+ # The updated service account role.
47
+ module Role
48
+ extend OpenAI::Internal::Type::Enum
49
+
50
+ MEMBER = :member
51
+ OWNER = :owner
52
+
53
+ # @!method self.values
54
+ # @return [Array<Symbol>]
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,109 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::SpendAlerts#create
9
+ class SpendAlertCreateParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute project_id
14
+ #
15
+ # @return [String]
16
+ required :project_id, String
17
+
18
+ # @!attribute currency
19
+ # The currency for the threshold amount.
20
+ #
21
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendAlertCreateParams::Currency]
22
+ required :currency, enum: -> { OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Currency }
23
+
24
+ # @!attribute interval
25
+ # The time interval for evaluating spend against the threshold.
26
+ #
27
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendAlertCreateParams::Interval]
28
+ required :interval, enum: -> { OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::Interval }
29
+
30
+ # @!attribute notification_channel
31
+ # Email notification settings for a spend alert.
32
+ #
33
+ # @return [OpenAI::Models::Admin::Organization::Projects::SpendAlertCreateParams::NotificationChannel]
34
+ required :notification_channel,
35
+ -> { OpenAI::Admin::Organization::Projects::SpendAlertCreateParams::NotificationChannel }
36
+
37
+ # @!attribute threshold_amount
38
+ # The alert threshold amount, in cents.
39
+ #
40
+ # @return [Integer]
41
+ required :threshold_amount, Integer
42
+
43
+ # @!method initialize(project_id:, currency:, interval:, notification_channel:, threshold_amount:, request_options: {})
44
+ # @param project_id [String]
45
+ #
46
+ # @param currency [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendAlertCreateParams::Currency] The currency for the threshold amount.
47
+ #
48
+ # @param interval [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendAlertCreateParams::Interval] The time interval for evaluating spend against the threshold.
49
+ #
50
+ # @param notification_channel [OpenAI::Models::Admin::Organization::Projects::SpendAlertCreateParams::NotificationChannel] Email notification settings for a spend alert.
51
+ #
52
+ # @param threshold_amount [Integer] The alert threshold amount, in cents.
53
+ #
54
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
55
+
56
+ # The currency for the threshold amount.
57
+ module Currency
58
+ extend OpenAI::Internal::Type::Enum
59
+
60
+ USD = :USD
61
+
62
+ # @!method self.values
63
+ # @return [Array<Symbol>]
64
+ end
65
+
66
+ # The time interval for evaluating spend against the threshold.
67
+ module Interval
68
+ extend OpenAI::Internal::Type::Enum
69
+
70
+ MONTH = :month
71
+
72
+ # @!method self.values
73
+ # @return [Array<Symbol>]
74
+ end
75
+
76
+ class NotificationChannel < OpenAI::Internal::Type::BaseModel
77
+ # @!attribute recipients
78
+ # Email addresses that receive the spend alert notification.
79
+ #
80
+ # @return [Array<String>]
81
+ required :recipients, OpenAI::Internal::Type::ArrayOf[String]
82
+
83
+ # @!attribute type
84
+ # The notification channel type. Currently only `email` is supported.
85
+ #
86
+ # @return [Symbol, :email]
87
+ required :type, const: :email
88
+
89
+ # @!attribute subject_prefix
90
+ # Optional subject prefix for alert emails.
91
+ #
92
+ # @return [String, nil]
93
+ optional :subject_prefix, String, nil?: true
94
+
95
+ # @!method initialize(recipients:, subject_prefix: nil, type: :email)
96
+ # Email notification settings for a spend alert.
97
+ #
98
+ # @param recipients [Array<String>] Email addresses that receive the spend alert notification.
99
+ #
100
+ # @param subject_prefix [String, nil] Optional subject prefix for alert emails.
101
+ #
102
+ # @param type [Symbol, :email] The notification channel type. Currently only `email` is supported.
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::SpendAlerts#delete
9
+ class SpendAlertDeleteParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute project_id
14
+ #
15
+ # @return [String]
16
+ required :project_id, String
17
+
18
+ # @!attribute alert_id
19
+ #
20
+ # @return [String]
21
+ required :alert_id, String
22
+
23
+ # @!method initialize(project_id:, alert_id:, request_options: {})
24
+ # @param project_id [String]
25
+ # @param alert_id [String]
26
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::SpendAlerts#list
9
+ class SpendAlertListParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute project_id
14
+ #
15
+ # @return [String]
16
+ required :project_id, String
17
+
18
+ # @!attribute after
19
+ # Cursor for pagination. Provide the ID of the last spend alert from the previous
20
+ # response to fetch the next page.
21
+ #
22
+ # @return [String, nil]
23
+ optional :after, String
24
+
25
+ # @!attribute before
26
+ # Cursor for pagination. Provide the ID of the first spend alert from the previous
27
+ # response to fetch the previous page.
28
+ #
29
+ # @return [String, nil]
30
+ optional :before, String
31
+
32
+ # @!attribute limit
33
+ # A limit on the number of spend alerts to return. Defaults to 20.
34
+ #
35
+ # @return [Integer, nil]
36
+ optional :limit, Integer
37
+
38
+ # @!attribute order
39
+ # Sort order for the returned spend alerts.
40
+ #
41
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendAlertListParams::Order, nil]
42
+ optional :order, enum: -> { OpenAI::Admin::Organization::Projects::SpendAlertListParams::Order }
43
+
44
+ # @!method initialize(project_id:, after: nil, before: nil, limit: nil, order: nil, request_options: {})
45
+ # Some parameter documentations has been truncated, see
46
+ # {OpenAI::Models::Admin::Organization::Projects::SpendAlertListParams} for more
47
+ # details.
48
+ #
49
+ # @param project_id [String]
50
+ #
51
+ # @param after [String] Cursor for pagination. Provide the ID of the last spend alert from the previous
52
+ #
53
+ # @param before [String] Cursor for pagination. Provide the ID of the first spend alert from the previous
54
+ #
55
+ # @param limit [Integer] A limit on the number of spend alerts to return. Defaults to 20.
56
+ #
57
+ # @param order [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendAlertListParams::Order] Sort order for the returned spend alerts.
58
+ #
59
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
60
+
61
+ # Sort order for the returned spend alerts.
62
+ module Order
63
+ extend OpenAI::Internal::Type::Enum
64
+
65
+ ASC = :asc
66
+ DESC = :desc
67
+
68
+ # @!method self.values
69
+ # @return [Array<Symbol>]
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,116 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ # @see OpenAI::Resources::Admin::Organization::Projects::SpendAlerts#update
9
+ class SpendAlertUpdateParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute project_id
14
+ #
15
+ # @return [String]
16
+ required :project_id, String
17
+
18
+ # @!attribute alert_id
19
+ #
20
+ # @return [String]
21
+ required :alert_id, String
22
+
23
+ # @!attribute currency
24
+ # The currency for the threshold amount.
25
+ #
26
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendAlertUpdateParams::Currency]
27
+ required :currency, enum: -> { OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Currency }
28
+
29
+ # @!attribute interval
30
+ # The time interval for evaluating spend against the threshold.
31
+ #
32
+ # @return [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendAlertUpdateParams::Interval]
33
+ required :interval, enum: -> { OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::Interval }
34
+
35
+ # @!attribute notification_channel
36
+ # Email notification settings for a spend alert.
37
+ #
38
+ # @return [OpenAI::Models::Admin::Organization::Projects::SpendAlertUpdateParams::NotificationChannel]
39
+ required :notification_channel,
40
+ -> { OpenAI::Admin::Organization::Projects::SpendAlertUpdateParams::NotificationChannel }
41
+
42
+ # @!attribute threshold_amount
43
+ # The alert threshold amount, in cents.
44
+ #
45
+ # @return [Integer]
46
+ required :threshold_amount, Integer
47
+
48
+ # @!method initialize(project_id:, alert_id:, currency:, interval:, notification_channel:, threshold_amount:, request_options: {})
49
+ # @param project_id [String]
50
+ #
51
+ # @param alert_id [String]
52
+ #
53
+ # @param currency [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendAlertUpdateParams::Currency] The currency for the threshold amount.
54
+ #
55
+ # @param interval [Symbol, OpenAI::Models::Admin::Organization::Projects::SpendAlertUpdateParams::Interval] The time interval for evaluating spend against the threshold.
56
+ #
57
+ # @param notification_channel [OpenAI::Models::Admin::Organization::Projects::SpendAlertUpdateParams::NotificationChannel] Email notification settings for a spend alert.
58
+ #
59
+ # @param threshold_amount [Integer] The alert threshold amount, in cents.
60
+ #
61
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
62
+
63
+ # The currency for the threshold amount.
64
+ module Currency
65
+ extend OpenAI::Internal::Type::Enum
66
+
67
+ USD = :USD
68
+
69
+ # @!method self.values
70
+ # @return [Array<Symbol>]
71
+ end
72
+
73
+ # The time interval for evaluating spend against the threshold.
74
+ module Interval
75
+ extend OpenAI::Internal::Type::Enum
76
+
77
+ MONTH = :month
78
+
79
+ # @!method self.values
80
+ # @return [Array<Symbol>]
81
+ end
82
+
83
+ class NotificationChannel < OpenAI::Internal::Type::BaseModel
84
+ # @!attribute recipients
85
+ # Email addresses that receive the spend alert notification.
86
+ #
87
+ # @return [Array<String>]
88
+ required :recipients, OpenAI::Internal::Type::ArrayOf[String]
89
+
90
+ # @!attribute type
91
+ # The notification channel type. Currently only `email` is supported.
92
+ #
93
+ # @return [Symbol, :email]
94
+ required :type, const: :email
95
+
96
+ # @!attribute subject_prefix
97
+ # Optional subject prefix for alert emails.
98
+ #
99
+ # @return [String, nil]
100
+ optional :subject_prefix, String, nil?: true
101
+
102
+ # @!method initialize(recipients:, subject_prefix: nil, type: :email)
103
+ # Email notification settings for a spend alert.
104
+ #
105
+ # @param recipients [Array<String>] Email addresses that receive the spend alert notification.
106
+ #
107
+ # @param subject_prefix [String, nil] Optional subject prefix for alert emails.
108
+ #
109
+ # @param type [Symbol, :email] The notification channel type. Currently only `email` is supported.
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
@@ -14,6 +14,14 @@ module OpenAI
14
14
  # @return [String]
15
15
  required :id, String
16
16
 
17
+ # @!attribute assignment_sources
18
+ # Principals from which the role assignment is inherited, when available.
19
+ #
20
+ # @return [Array<OpenAI::Models::Admin::Organization::Projects::Users::RoleListResponse::AssignmentSource>, nil]
21
+ required :assignment_sources,
22
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Models::Admin::Organization::Projects::Users::RoleListResponse::AssignmentSource] },
23
+ nil?: true
24
+
17
25
  # @!attribute created_at
18
26
  # When the role was created.
19
27
  #
@@ -76,12 +84,14 @@ module OpenAI
76
84
  # @return [Integer, nil]
77
85
  required :updated_at, Integer, nil?: true
78
86
 
79
- # @!method initialize(id:, created_at:, created_by:, created_by_user_obj:, description:, metadata:, name:, permissions:, predefined_role:, resource_type:, updated_at:)
87
+ # @!method initialize(id:, assignment_sources:, created_at:, created_by:, created_by_user_obj:, description:, metadata:, name:, permissions:, predefined_role:, resource_type:, updated_at:)
80
88
  # Detailed information about a role assignment entry returned when listing
81
89
  # assignments.
82
90
  #
83
91
  # @param id [String] Identifier for the role.
84
92
  #
93
+ # @param assignment_sources [Array<OpenAI::Models::Admin::Organization::Projects::Users::RoleListResponse::AssignmentSource>, nil] Principals from which the role assignment is inherited, when available.
94
+ #
85
95
  # @param created_at [Integer, nil] When the role was created.
86
96
  #
87
97
  # @param created_by [String, nil] Identifier of the actor who created the role.
@@ -101,6 +111,22 @@ module OpenAI
101
111
  # @param resource_type [String] Resource type the role applies to.
102
112
  #
103
113
  # @param updated_at [Integer, nil] When the role was last updated.
114
+
115
+ class AssignmentSource < OpenAI::Internal::Type::BaseModel
116
+ # @!attribute principal_id
117
+ #
118
+ # @return [String]
119
+ required :principal_id, String
120
+
121
+ # @!attribute principal_type
122
+ #
123
+ # @return [String]
124
+ required :principal_type, String
125
+
126
+ # @!method initialize(principal_id:, principal_type:)
127
+ # @param principal_id [String]
128
+ # @param principal_type [String]
129
+ end
104
130
  end
105
131
  end
106
132
  end