openai 0.70.0 → 0.72.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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +51 -1
  4. data/lib/openai/client.rb +62 -8
  5. data/lib/openai/internal/provider.rb +31 -0
  6. data/lib/openai/internal/transport/base_client.rb +65 -21
  7. data/lib/openai/models/admin/organization/audit_log_list_params.rb +84 -0
  8. data/lib/openai/models/admin/organization/audit_log_list_response.rb +84 -0
  9. data/lib/openai/models/admin/organization/organization_spend_limit.rb +151 -0
  10. data/lib/openai/models/admin/organization/organization_spend_limit_deleted.rb +33 -0
  11. data/lib/openai/models/admin/organization/projects/project_service_account.rb +4 -3
  12. data/lib/openai/models/admin/organization/projects/project_spend_limit.rb +155 -0
  13. data/lib/openai/models/admin/organization/projects/project_spend_limit_deleted.rb +35 -0
  14. data/lib/openai/models/admin/organization/projects/service_account_create_params.rb +9 -1
  15. data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +26 -6
  16. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rb +54 -0
  17. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rb +57 -0
  18. data/lib/openai/models/admin/organization/projects/spend_limit_delete_params.rb +26 -0
  19. data/lib/openai/models/admin/organization/projects/spend_limit_retrieve_params.rb +26 -0
  20. data/lib/openai/models/admin/organization/projects/spend_limit_update_params.rb +77 -0
  21. data/lib/openai/models/admin/organization/spend_limit_delete_params.rb +18 -0
  22. data/lib/openai/models/admin/organization/spend_limit_retrieve_params.rb +18 -0
  23. data/lib/openai/models/admin/organization/spend_limit_update_params.rb +67 -0
  24. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +88 -13
  25. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +88 -13
  26. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +88 -13
  27. data/lib/openai/models/admin/organization/usage_completions_response.rb +88 -13
  28. data/lib/openai/models/admin/organization/usage_costs_response.rb +88 -13
  29. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +88 -13
  30. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +88 -13
  31. data/lib/openai/models/admin/organization/usage_images_response.rb +88 -13
  32. data/lib/openai/models/admin/organization/usage_moderations_response.rb +88 -13
  33. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +88 -13
  34. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +88 -13
  35. data/lib/openai/models/beta/beta_response.rb +12 -6
  36. data/lib/openai/models/beta/beta_response_error.rb +1 -0
  37. data/lib/openai/models/beta/beta_response_input_item.rb +16 -32
  38. data/lib/openai/models/beta/beta_response_text_config.rb +4 -2
  39. data/lib/openai/models/beta/beta_responses_client_event.rb +12 -6
  40. data/lib/openai/models/beta/response_create_params.rb +12 -6
  41. data/lib/openai/models/beta/responses/input_token_count_params.rb +12 -4
  42. data/lib/openai/models/chat/completion_create_params.rb +8 -6
  43. data/lib/openai/models/reasoning.rb +8 -2
  44. data/lib/openai/models/responses/input_token_count_params.rb +4 -2
  45. data/lib/openai/models/responses/response.rb +4 -4
  46. data/lib/openai/models/responses/response_create_params.rb +4 -4
  47. data/lib/openai/models/responses/response_error.rb +1 -0
  48. data/lib/openai/models/responses/response_text_config.rb +4 -2
  49. data/lib/openai/models/responses/responses_client_event.rb +4 -4
  50. data/lib/openai/provider.rb +18 -0
  51. data/lib/openai/providers/bedrock.rb +489 -0
  52. data/lib/openai/resources/admin/organization/projects/service_accounts/api_keys.rb +60 -0
  53. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +10 -3
  54. data/lib/openai/resources/admin/organization/projects/spend_limit.rb +95 -0
  55. data/lib/openai/resources/admin/organization/projects.rb +4 -0
  56. data/lib/openai/resources/admin/organization/spend_limit.rb +86 -0
  57. data/lib/openai/resources/admin/organization.rb +4 -0
  58. data/lib/openai/resources/beta/responses.rb +4 -4
  59. data/lib/openai/resources/chat/completions.rb +4 -4
  60. data/lib/openai/resources/responses.rb +4 -4
  61. data/lib/openai/version.rb +1 -1
  62. data/lib/openai.rb +18 -0
  63. data/rbi/openai/client.rbi +17 -0
  64. data/rbi/openai/internal/provider.rbi +51 -0
  65. data/rbi/openai/internal/transport/base_client.rbi +32 -0
  66. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +420 -0
  67. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +420 -0
  68. data/rbi/openai/models/admin/organization/organization_spend_limit.rbi +278 -0
  69. data/rbi/openai/models/admin/organization/organization_spend_limit_deleted.rbi +48 -0
  70. data/rbi/openai/models/admin/organization/projects/project_service_account.rbi +8 -3
  71. data/rbi/openai/models/admin/organization/projects/project_spend_limit.rbi +280 -0
  72. data/rbi/openai/models/admin/organization/projects/project_spend_limit_deleted.rbi +49 -0
  73. data/rbi/openai/models/admin/organization/projects/service_account_create_params.rbi +8 -0
  74. data/rbi/openai/models/admin/organization/projects/service_account_create_response.rbi +52 -8
  75. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbi +84 -0
  76. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbi +80 -0
  77. data/rbi/openai/models/admin/organization/projects/spend_limit_delete_params.rbi +44 -0
  78. data/rbi/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbi +44 -0
  79. data/rbi/openai/models/admin/organization/projects/spend_limit_update_params.rbi +149 -0
  80. data/rbi/openai/models/admin/organization/spend_limit_delete_params.rbi +34 -0
  81. data/rbi/openai/models/admin/organization/spend_limit_retrieve_params.rbi +34 -0
  82. data/rbi/openai/models/admin/organization/spend_limit_update_params.rbi +141 -0
  83. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +121 -16
  84. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +121 -16
  85. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +121 -16
  86. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +121 -16
  87. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +121 -16
  88. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +121 -16
  89. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +121 -16
  90. data/rbi/openai/models/admin/organization/usage_images_response.rbi +121 -16
  91. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +121 -16
  92. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +121 -16
  93. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +121 -16
  94. data/rbi/openai/models/beta/beta_response.rbi +18 -15
  95. data/rbi/openai/models/beta/beta_response_error.rbi +5 -0
  96. data/rbi/openai/models/beta/beta_response_input_item.rbi +39 -46
  97. data/rbi/openai/models/beta/beta_response_text_config.rbi +6 -3
  98. data/rbi/openai/models/beta/beta_responses_client_event.rbi +18 -15
  99. data/rbi/openai/models/beta/response_create_params.rbi +18 -15
  100. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +18 -6
  101. data/rbi/openai/models/chat/completion_create_params.rbi +12 -15
  102. data/rbi/openai/models/reasoning.rbi +12 -3
  103. data/rbi/openai/models/responses/input_token_count_params.rbi +6 -3
  104. data/rbi/openai/models/responses/response.rbi +6 -12
  105. data/rbi/openai/models/responses/response_create_params.rbi +6 -12
  106. data/rbi/openai/models/responses/response_error.rbi +5 -0
  107. data/rbi/openai/models/responses/response_text_config.rbi +6 -3
  108. data/rbi/openai/models/responses/responses_client_event.rbi +6 -12
  109. data/rbi/openai/provider.rbi +9 -0
  110. data/rbi/openai/providers.rbi +33 -0
  111. data/rbi/openai/resources/admin/organization/projects/service_accounts/api_keys.rbi +45 -0
  112. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +12 -2
  113. data/rbi/openai/resources/admin/organization/projects/spend_limit.rbi +78 -0
  114. data/rbi/openai/resources/admin/organization/projects.rbi +7 -0
  115. data/rbi/openai/resources/admin/organization/spend_limit.rbi +57 -0
  116. data/rbi/openai/resources/admin/organization.rbi +3 -0
  117. data/rbi/openai/resources/beta/responses.rbi +4 -4
  118. data/rbi/openai/resources/chat/completions.rbi +8 -6
  119. data/rbi/openai/resources/responses.rbi +4 -4
  120. data/sig/openai/client.rbs +7 -0
  121. data/sig/openai/internal/provider.rbs +29 -0
  122. data/sig/openai/internal/transport/base_client.rbs +17 -1
  123. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +168 -0
  124. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +168 -0
  125. data/sig/openai/models/admin/organization/organization_spend_limit.rbs +94 -0
  126. data/sig/openai/models/admin/organization/organization_spend_limit_deleted.rbs +28 -0
  127. data/sig/openai/models/admin/organization/projects/project_service_account.rbs +2 -1
  128. data/sig/openai/models/admin/organization/projects/project_spend_limit.rbs +96 -0
  129. data/sig/openai/models/admin/organization/projects/project_spend_limit_deleted.rbs +30 -0
  130. data/sig/openai/models/admin/organization/projects/service_account_create_params.rbs +9 -1
  131. data/sig/openai/models/admin/organization/projects/service_account_create_response.rbs +16 -5
  132. data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbs +53 -0
  133. data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbs +48 -0
  134. data/sig/openai/models/admin/organization/projects/spend_limit_delete_params.rbs +29 -0
  135. data/sig/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbs +29 -0
  136. data/sig/openai/models/admin/organization/projects/spend_limit_update_params.rbs +67 -0
  137. data/sig/openai/models/admin/organization/spend_limit_delete_params.rbs +19 -0
  138. data/sig/openai/models/admin/organization/spend_limit_retrieve_params.rbs +19 -0
  139. data/sig/openai/models/admin/organization/spend_limit_update_params.rbs +60 -0
  140. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +63 -0
  141. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +63 -0
  142. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +63 -0
  143. data/sig/openai/models/admin/organization/usage_completions_response.rbs +63 -0
  144. data/sig/openai/models/admin/organization/usage_costs_response.rbs +63 -0
  145. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +63 -0
  146. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +63 -0
  147. data/sig/openai/models/admin/organization/usage_images_response.rbs +63 -0
  148. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +63 -0
  149. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +63 -0
  150. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +63 -0
  151. data/sig/openai/models/beta/beta_response.rbs +8 -12
  152. data/sig/openai/models/beta/beta_response_error.rbs +2 -0
  153. data/sig/openai/models/beta/beta_response_input_item.rbs +18 -24
  154. data/sig/openai/models/beta/beta_responses_client_event.rbs +8 -12
  155. data/sig/openai/models/beta/response_create_params.rbs +8 -12
  156. data/sig/openai/models/chat/completion_create_params.rbs +8 -12
  157. data/sig/openai/models/responses/response.rbs +8 -12
  158. data/sig/openai/models/responses/response_create_params.rbs +8 -12
  159. data/sig/openai/models/responses/response_error.rbs +2 -0
  160. data/sig/openai/models/responses/responses_client_event.rbs +8 -12
  161. data/sig/openai/provider.rbs +5 -0
  162. data/sig/openai/providers.rbs +15 -0
  163. data/sig/openai/resources/admin/organization/projects/service_accounts/api_keys.rbs +23 -0
  164. data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +3 -0
  165. data/sig/openai/resources/admin/organization/projects/spend_limit.rbs +31 -0
  166. data/sig/openai/resources/admin/organization/projects.rbs +2 -0
  167. data/sig/openai/resources/admin/organization/spend_limit.rbs +26 -0
  168. data/sig/openai/resources/admin/organization.rbs +2 -0
  169. data/sig/openai/resources/beta/responses.rbs +4 -4
  170. data/sig/openai/resources/chat/completions.rbs +4 -4
  171. data/sig/openai/resources/responses.rbs +4 -4
  172. metadata +56 -2
@@ -60,7 +60,7 @@ module OpenAI
60
60
  parallel_tool_calls: T.nilable(T::Boolean),
61
61
  previous_response_id: T.nilable(String),
62
62
  prompt: T.nilable(OpenAI::Responses::ResponsePrompt::OrHash),
63
- prompt_cache_key: String,
63
+ prompt_cache_key: T.nilable(String),
64
64
  prompt_cache_options:
65
65
  OpenAI::Responses::ResponseCreateParams::PromptCacheOptions::OrHash,
66
66
  prompt_cache_retention:
@@ -68,7 +68,7 @@ module OpenAI
68
68
  OpenAI::Responses::ResponseCreateParams::PromptCacheRetention::OrSymbol
69
69
  ),
70
70
  reasoning: T.nilable(OpenAI::Reasoning::OrHash),
71
- safety_identifier: String,
71
+ safety_identifier: T.nilable(String),
72
72
  service_tier:
73
73
  T.nilable(
74
74
  OpenAI::Responses::ResponseCreateParams::ServiceTier::OrSymbol
@@ -390,7 +390,7 @@ module OpenAI
390
390
  parallel_tool_calls: T.nilable(T::Boolean),
391
391
  previous_response_id: T.nilable(String),
392
392
  prompt: T.nilable(OpenAI::Responses::ResponsePrompt::OrHash),
393
- prompt_cache_key: String,
393
+ prompt_cache_key: T.nilable(String),
394
394
  prompt_cache_options:
395
395
  OpenAI::Responses::ResponseCreateParams::PromptCacheOptions::OrHash,
396
396
  prompt_cache_retention:
@@ -398,7 +398,7 @@ module OpenAI
398
398
  OpenAI::Responses::ResponseCreateParams::PromptCacheRetention::OrSymbol
399
399
  ),
400
400
  reasoning: T.nilable(OpenAI::Reasoning::OrHash),
401
- safety_identifier: String,
401
+ safety_identifier: T.nilable(String),
402
402
  service_tier:
403
403
  T.nilable(
404
404
  OpenAI::Responses::ResponseCreateParams::ServiceTier::OrSymbol
@@ -74,6 +74,12 @@ module OpenAI
74
74
 
75
75
  private def admin_api_key_auth: -> ::Hash[String, String]
76
76
 
77
+ private def prepare_request: (
78
+ OpenAI::Internal::Transport::BaseClient::request_input request,
79
+ redirect_count: Integer,
80
+ retry_count: Integer
81
+ ) -> OpenAI::Internal::Transport::BaseClient::request_input
82
+
77
83
  def initialize: (
78
84
  ?api_key: String?,
79
85
  ?admin_api_key: String?,
@@ -81,6 +87,7 @@ module OpenAI
81
87
  ?organization: String?,
82
88
  ?project: String?,
83
89
  ?webhook_secret: String?,
90
+ ?provider: OpenAI::Provider?,
84
91
  ?base_url: String?,
85
92
  ?max_retries: Integer,
86
93
  ?timeout: Float,
@@ -0,0 +1,29 @@
1
+ module OpenAI
2
+ module Internal
3
+ module Provider
4
+ class Runtime
5
+ attr_accessor name: String
6
+ attr_accessor base_url: String
7
+ attr_accessor prepare_request: (^(
8
+ OpenAI::Internal::Transport::BaseClient::request_input
9
+ ) -> OpenAI::Internal::Transport::BaseClient::request_input)?
10
+
11
+ def initialize: (
12
+ name: String,
13
+ base_url: String,
14
+ prepare_request: (^(
15
+ OpenAI::Internal::Transport::BaseClient::request_input
16
+ ) -> OpenAI::Internal::Transport::BaseClient::request_input)?
17
+ ) -> void
18
+ end
19
+
20
+ def self.create: (
21
+ untyped definition
22
+ ) -> OpenAI::Provider
23
+ def self.name: (OpenAI::Provider provider) -> String
24
+ def self.configure: (
25
+ OpenAI::Provider provider
26
+ ) -> OpenAI::Internal::Provider::Runtime
27
+ end
28
+ end
29
+ end
@@ -30,7 +30,9 @@ module OpenAI
30
30
  headers: ::Hash[String, String],
31
31
  body: top,
32
32
  max_retries: Integer,
33
- timeout: Float
33
+ timeout: Float,
34
+ :follow_redirects? => bool,
35
+ :provider_auth? => Symbol
34
36
  }
35
37
 
36
38
  MAX_REDIRECTS: 20
@@ -88,6 +90,12 @@ module OpenAI
88
90
 
89
91
  private def auth_headers: -> ::Hash[String, String]
90
92
 
93
+ private def prepare_request: (
94
+ OpenAI::Internal::Transport::BaseClient::request_input request,
95
+ redirect_count: Integer,
96
+ retry_count: Integer
97
+ ) -> OpenAI::Internal::Transport::BaseClient::request_input
98
+
91
99
  private def user_agent: -> String
92
100
 
93
101
  private def generate_idempotency_key: -> String
@@ -102,6 +110,14 @@ module OpenAI
102
110
  retry_count: Integer
103
111
  ) -> Float
104
112
 
113
+ private def raise_status_error!: (
114
+ url: URI::Generic,
115
+ status: Integer,
116
+ headers: ::Hash[String, String],
117
+ response: top,
118
+ stream: Enumerable[String]
119
+ ) -> bot
120
+
105
121
  def send_request: (
106
122
  OpenAI::Internal::Transport::BaseClient::request_input request,
107
123
  redirect_count: Integer,
@@ -188,6 +188,90 @@ module OpenAI
188
188
  | :"user.added"
189
189
  | :"user.updated"
190
190
  | :"user.deleted"
191
+ | :"tenant.metadata.updated"
192
+ | :"tenant.microsoft_entra_mapping.upserted"
193
+ | :"tenant.microsoft_entra_mapping.deleted"
194
+ | :"tenant.workload_identity.provider.created"
195
+ | :"tenant.workload_identity.provider.updated"
196
+ | :"tenant.workload_identity.provider.archived"
197
+ | :"tenant.workload_identity.mapping.created"
198
+ | :"tenant.workload_identity.mapping.updated"
199
+ | :"tenant.workload_identity.mapping.archived"
200
+ | :"tenant.workload_identity.binding.created"
201
+ | :"tenant.workload_identity.principal.provisioned"
202
+ | :"tenant.admin_api_key.created"
203
+ | :"tenant.admin_api_key.updated"
204
+ | :"tenant.admin_api_key.deleted"
205
+ | :"tenant.project_api_key.created"
206
+ | :"tenant.chatgpt_access_token.revoked"
207
+ | :"tenant.migration.completed"
208
+ | :"tenant.sso.migrated"
209
+ | :"tenant.domains.migrated"
210
+ | :"tenant.sso_connection.created"
211
+ | :"tenant.sso_connection.updated"
212
+ | :"tenant.sso_connection.deleted"
213
+ | :"tenant.sso_connection.setup.started"
214
+ | :"tenant.policy.created"
215
+ | :"tenant.policy.updated"
216
+ | :"tenant.policy.deleted"
217
+ | :"tenant.policy.attached"
218
+ | :"tenant.policy.detached"
219
+ | :"tenant.principal_authentication_policy.resolved"
220
+ | :"tenant.scim.setup.started"
221
+ | :"tenant.scim.deletion.requested"
222
+ | :"tenant.scim.directory.created"
223
+ | :"tenant.product_access_policy.updated"
224
+ | :"tenant.resource_share_grant.created"
225
+ | :"tenant.resource_share_grant.updated"
226
+ | :"tenant.resource_share_grant.accepted"
227
+ | :"tenant.resource_share_grant.declined"
228
+ | :"tenant.resource_share_grant.revoked"
229
+ | :"tenant.resource_share_grant.deleted"
230
+ | :"tenant.service_account.updated"
231
+ | :"tenant.service_account.deleted"
232
+ | :"tenant.service_account.token.revoked"
233
+ | :"tenant.billing.overage_limit.updated"
234
+ | :"tenant.billing.alerts.updated"
235
+ | :"tenant.billing.info.updated"
236
+ | :"tenant.usage_limit.workspace.updated"
237
+ | :"tenant.usage_limit.group.updated"
238
+ | :"tenant.usage_limit.user.updated"
239
+ | :"tenant.usage_limit.increase_request.updated"
240
+ | :"tenant.usage_limit.increase_request.resolved"
241
+ | :"tenant.group.created"
242
+ | :"tenant.group.updated"
243
+ | :"tenant.group.deleted"
244
+ | :"tenant.group.member.added"
245
+ | :"tenant.group.member.removed"
246
+ | :"tenant.migration_rollout.status.updated"
247
+ | :"tenant.migration_rollout.tier.updated"
248
+ | :"tenant.role.metadata.updated"
249
+ | :"tenant.custom_role.created"
250
+ | :"tenant.custom_role.updated"
251
+ | :"tenant.custom_role.deleted"
252
+ | :"tenant.role_assignment.created"
253
+ | :"tenant.role_assignment.deleted"
254
+ | :"tenant.resource_role_assignment.created"
255
+ | :"tenant.resource_role_assignment.deleted"
256
+ | :"tenant.resource_access.updated"
257
+ | :"tenant.resource_access.deleted"
258
+ | :"tenant.session_policy.created"
259
+ | :"tenant.session_policy.updated"
260
+ | :"tenant.session_policy.deleted"
261
+ | :"tenant.session_revocation.started"
262
+ | :"tenant.third_party_app_policy.updated"
263
+ | :"tenant.user.added"
264
+ | :"tenant.user.updated"
265
+ | :"tenant.user.removed"
266
+ | :"tenant.user.looked_up"
267
+ | :"tenant.user.invited"
268
+ | :"tenant.membership.revoked"
269
+ | :"tenant.api_organization_invite.upserted"
270
+ | :"tenant.api_organization_invite.deleted"
271
+ | :"tenant.chatgpt_workspace_invite.upserted"
272
+ | :"tenant.membership.accepted"
273
+ | :"tenant.membership.declined"
274
+ | :"tenant.workspace_invite_email_settings.updated"
191
275
 
192
276
  module EventType
193
277
  extend OpenAI::Internal::Type::Enum
@@ -251,6 +335,90 @@ module OpenAI
251
335
  USER_ADDED: :"user.added"
252
336
  USER_UPDATED: :"user.updated"
253
337
  USER_DELETED: :"user.deleted"
338
+ TENANT_METADATA_UPDATED: :"tenant.metadata.updated"
339
+ TENANT_MICROSOFT_ENTRA_MAPPING_UPSERTED: :"tenant.microsoft_entra_mapping.upserted"
340
+ TENANT_MICROSOFT_ENTRA_MAPPING_DELETED: :"tenant.microsoft_entra_mapping.deleted"
341
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_CREATED: :"tenant.workload_identity.provider.created"
342
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_UPDATED: :"tenant.workload_identity.provider.updated"
343
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_ARCHIVED: :"tenant.workload_identity.provider.archived"
344
+ TENANT_WORKLOAD_IDENTITY_MAPPING_CREATED: :"tenant.workload_identity.mapping.created"
345
+ TENANT_WORKLOAD_IDENTITY_MAPPING_UPDATED: :"tenant.workload_identity.mapping.updated"
346
+ TENANT_WORKLOAD_IDENTITY_MAPPING_ARCHIVED: :"tenant.workload_identity.mapping.archived"
347
+ TENANT_WORKLOAD_IDENTITY_BINDING_CREATED: :"tenant.workload_identity.binding.created"
348
+ TENANT_WORKLOAD_IDENTITY_PRINCIPAL_PROVISIONED: :"tenant.workload_identity.principal.provisioned"
349
+ TENANT_ADMIN_API_KEY_CREATED: :"tenant.admin_api_key.created"
350
+ TENANT_ADMIN_API_KEY_UPDATED: :"tenant.admin_api_key.updated"
351
+ TENANT_ADMIN_API_KEY_DELETED: :"tenant.admin_api_key.deleted"
352
+ TENANT_PROJECT_API_KEY_CREATED: :"tenant.project_api_key.created"
353
+ TENANT_CHATGPT_ACCESS_TOKEN_REVOKED: :"tenant.chatgpt_access_token.revoked"
354
+ TENANT_MIGRATION_COMPLETED: :"tenant.migration.completed"
355
+ TENANT_SSO_MIGRATED: :"tenant.sso.migrated"
356
+ TENANT_DOMAINS_MIGRATED: :"tenant.domains.migrated"
357
+ TENANT_SSO_CONNECTION_CREATED: :"tenant.sso_connection.created"
358
+ TENANT_SSO_CONNECTION_UPDATED: :"tenant.sso_connection.updated"
359
+ TENANT_SSO_CONNECTION_DELETED: :"tenant.sso_connection.deleted"
360
+ TENANT_SSO_CONNECTION_SETUP_STARTED: :"tenant.sso_connection.setup.started"
361
+ TENANT_POLICY_CREATED: :"tenant.policy.created"
362
+ TENANT_POLICY_UPDATED: :"tenant.policy.updated"
363
+ TENANT_POLICY_DELETED: :"tenant.policy.deleted"
364
+ TENANT_POLICY_ATTACHED: :"tenant.policy.attached"
365
+ TENANT_POLICY_DETACHED: :"tenant.policy.detached"
366
+ TENANT_PRINCIPAL_AUTHENTICATION_POLICY_RESOLVED: :"tenant.principal_authentication_policy.resolved"
367
+ TENANT_SCIM_SETUP_STARTED: :"tenant.scim.setup.started"
368
+ TENANT_SCIM_DELETION_REQUESTED: :"tenant.scim.deletion.requested"
369
+ TENANT_SCIM_DIRECTORY_CREATED: :"tenant.scim.directory.created"
370
+ TENANT_PRODUCT_ACCESS_POLICY_UPDATED: :"tenant.product_access_policy.updated"
371
+ TENANT_RESOURCE_SHARE_GRANT_CREATED: :"tenant.resource_share_grant.created"
372
+ TENANT_RESOURCE_SHARE_GRANT_UPDATED: :"tenant.resource_share_grant.updated"
373
+ TENANT_RESOURCE_SHARE_GRANT_ACCEPTED: :"tenant.resource_share_grant.accepted"
374
+ TENANT_RESOURCE_SHARE_GRANT_DECLINED: :"tenant.resource_share_grant.declined"
375
+ TENANT_RESOURCE_SHARE_GRANT_REVOKED: :"tenant.resource_share_grant.revoked"
376
+ TENANT_RESOURCE_SHARE_GRANT_DELETED: :"tenant.resource_share_grant.deleted"
377
+ TENANT_SERVICE_ACCOUNT_UPDATED: :"tenant.service_account.updated"
378
+ TENANT_SERVICE_ACCOUNT_DELETED: :"tenant.service_account.deleted"
379
+ TENANT_SERVICE_ACCOUNT_TOKEN_REVOKED: :"tenant.service_account.token.revoked"
380
+ TENANT_BILLING_OVERAGE_LIMIT_UPDATED: :"tenant.billing.overage_limit.updated"
381
+ TENANT_BILLING_ALERTS_UPDATED: :"tenant.billing.alerts.updated"
382
+ TENANT_BILLING_INFO_UPDATED: :"tenant.billing.info.updated"
383
+ TENANT_USAGE_LIMIT_WORKSPACE_UPDATED: :"tenant.usage_limit.workspace.updated"
384
+ TENANT_USAGE_LIMIT_GROUP_UPDATED: :"tenant.usage_limit.group.updated"
385
+ TENANT_USAGE_LIMIT_USER_UPDATED: :"tenant.usage_limit.user.updated"
386
+ TENANT_USAGE_LIMIT_INCREASE_REQUEST_UPDATED: :"tenant.usage_limit.increase_request.updated"
387
+ TENANT_USAGE_LIMIT_INCREASE_REQUEST_RESOLVED: :"tenant.usage_limit.increase_request.resolved"
388
+ TENANT_GROUP_CREATED: :"tenant.group.created"
389
+ TENANT_GROUP_UPDATED: :"tenant.group.updated"
390
+ TENANT_GROUP_DELETED: :"tenant.group.deleted"
391
+ TENANT_GROUP_MEMBER_ADDED: :"tenant.group.member.added"
392
+ TENANT_GROUP_MEMBER_REMOVED: :"tenant.group.member.removed"
393
+ TENANT_MIGRATION_ROLLOUT_STATUS_UPDATED: :"tenant.migration_rollout.status.updated"
394
+ TENANT_MIGRATION_ROLLOUT_TIER_UPDATED: :"tenant.migration_rollout.tier.updated"
395
+ TENANT_ROLE_METADATA_UPDATED: :"tenant.role.metadata.updated"
396
+ TENANT_CUSTOM_ROLE_CREATED: :"tenant.custom_role.created"
397
+ TENANT_CUSTOM_ROLE_UPDATED: :"tenant.custom_role.updated"
398
+ TENANT_CUSTOM_ROLE_DELETED: :"tenant.custom_role.deleted"
399
+ TENANT_ROLE_ASSIGNMENT_CREATED: :"tenant.role_assignment.created"
400
+ TENANT_ROLE_ASSIGNMENT_DELETED: :"tenant.role_assignment.deleted"
401
+ TENANT_RESOURCE_ROLE_ASSIGNMENT_CREATED: :"tenant.resource_role_assignment.created"
402
+ TENANT_RESOURCE_ROLE_ASSIGNMENT_DELETED: :"tenant.resource_role_assignment.deleted"
403
+ TENANT_RESOURCE_ACCESS_UPDATED: :"tenant.resource_access.updated"
404
+ TENANT_RESOURCE_ACCESS_DELETED: :"tenant.resource_access.deleted"
405
+ TENANT_SESSION_POLICY_CREATED: :"tenant.session_policy.created"
406
+ TENANT_SESSION_POLICY_UPDATED: :"tenant.session_policy.updated"
407
+ TENANT_SESSION_POLICY_DELETED: :"tenant.session_policy.deleted"
408
+ TENANT_SESSION_REVOCATION_STARTED: :"tenant.session_revocation.started"
409
+ TENANT_THIRD_PARTY_APP_POLICY_UPDATED: :"tenant.third_party_app_policy.updated"
410
+ TENANT_USER_ADDED: :"tenant.user.added"
411
+ TENANT_USER_UPDATED: :"tenant.user.updated"
412
+ TENANT_USER_REMOVED: :"tenant.user.removed"
413
+ TENANT_USER_LOOKED_UP: :"tenant.user.looked_up"
414
+ TENANT_USER_INVITED: :"tenant.user.invited"
415
+ TENANT_MEMBERSHIP_REVOKED: :"tenant.membership.revoked"
416
+ TENANT_API_ORGANIZATION_INVITE_UPSERTED: :"tenant.api_organization_invite.upserted"
417
+ TENANT_API_ORGANIZATION_INVITE_DELETED: :"tenant.api_organization_invite.deleted"
418
+ TENANT_CHATGPT_WORKSPACE_INVITE_UPSERTED: :"tenant.chatgpt_workspace_invite.upserted"
419
+ TENANT_MEMBERSHIP_ACCEPTED: :"tenant.membership.accepted"
420
+ TENANT_MEMBERSHIP_DECLINED: :"tenant.membership.declined"
421
+ TENANT_WORKSPACE_INVITE_EMAIL_SETTINGS_UPDATED: :"tenant.workspace_invite_email_settings.updated"
254
422
 
255
423
  def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::AuditLogListParams::event_type]
256
424
  end
@@ -593,6 +593,90 @@ module OpenAI
593
593
  | :"user.added"
594
594
  | :"user.updated"
595
595
  | :"user.deleted"
596
+ | :"tenant.metadata.updated"
597
+ | :"tenant.microsoft_entra_mapping.upserted"
598
+ | :"tenant.microsoft_entra_mapping.deleted"
599
+ | :"tenant.workload_identity.provider.created"
600
+ | :"tenant.workload_identity.provider.updated"
601
+ | :"tenant.workload_identity.provider.archived"
602
+ | :"tenant.workload_identity.mapping.created"
603
+ | :"tenant.workload_identity.mapping.updated"
604
+ | :"tenant.workload_identity.mapping.archived"
605
+ | :"tenant.workload_identity.binding.created"
606
+ | :"tenant.workload_identity.principal.provisioned"
607
+ | :"tenant.admin_api_key.created"
608
+ | :"tenant.admin_api_key.updated"
609
+ | :"tenant.admin_api_key.deleted"
610
+ | :"tenant.project_api_key.created"
611
+ | :"tenant.chatgpt_access_token.revoked"
612
+ | :"tenant.migration.completed"
613
+ | :"tenant.sso.migrated"
614
+ | :"tenant.domains.migrated"
615
+ | :"tenant.sso_connection.created"
616
+ | :"tenant.sso_connection.updated"
617
+ | :"tenant.sso_connection.deleted"
618
+ | :"tenant.sso_connection.setup.started"
619
+ | :"tenant.policy.created"
620
+ | :"tenant.policy.updated"
621
+ | :"tenant.policy.deleted"
622
+ | :"tenant.policy.attached"
623
+ | :"tenant.policy.detached"
624
+ | :"tenant.principal_authentication_policy.resolved"
625
+ | :"tenant.scim.setup.started"
626
+ | :"tenant.scim.deletion.requested"
627
+ | :"tenant.scim.directory.created"
628
+ | :"tenant.product_access_policy.updated"
629
+ | :"tenant.resource_share_grant.created"
630
+ | :"tenant.resource_share_grant.updated"
631
+ | :"tenant.resource_share_grant.accepted"
632
+ | :"tenant.resource_share_grant.declined"
633
+ | :"tenant.resource_share_grant.revoked"
634
+ | :"tenant.resource_share_grant.deleted"
635
+ | :"tenant.service_account.updated"
636
+ | :"tenant.service_account.deleted"
637
+ | :"tenant.service_account.token.revoked"
638
+ | :"tenant.billing.overage_limit.updated"
639
+ | :"tenant.billing.alerts.updated"
640
+ | :"tenant.billing.info.updated"
641
+ | :"tenant.usage_limit.workspace.updated"
642
+ | :"tenant.usage_limit.group.updated"
643
+ | :"tenant.usage_limit.user.updated"
644
+ | :"tenant.usage_limit.increase_request.updated"
645
+ | :"tenant.usage_limit.increase_request.resolved"
646
+ | :"tenant.group.created"
647
+ | :"tenant.group.updated"
648
+ | :"tenant.group.deleted"
649
+ | :"tenant.group.member.added"
650
+ | :"tenant.group.member.removed"
651
+ | :"tenant.migration_rollout.status.updated"
652
+ | :"tenant.migration_rollout.tier.updated"
653
+ | :"tenant.role.metadata.updated"
654
+ | :"tenant.custom_role.created"
655
+ | :"tenant.custom_role.updated"
656
+ | :"tenant.custom_role.deleted"
657
+ | :"tenant.role_assignment.created"
658
+ | :"tenant.role_assignment.deleted"
659
+ | :"tenant.resource_role_assignment.created"
660
+ | :"tenant.resource_role_assignment.deleted"
661
+ | :"tenant.resource_access.updated"
662
+ | :"tenant.resource_access.deleted"
663
+ | :"tenant.session_policy.created"
664
+ | :"tenant.session_policy.updated"
665
+ | :"tenant.session_policy.deleted"
666
+ | :"tenant.session_revocation.started"
667
+ | :"tenant.third_party_app_policy.updated"
668
+ | :"tenant.user.added"
669
+ | :"tenant.user.updated"
670
+ | :"tenant.user.removed"
671
+ | :"tenant.user.looked_up"
672
+ | :"tenant.user.invited"
673
+ | :"tenant.membership.revoked"
674
+ | :"tenant.api_organization_invite.upserted"
675
+ | :"tenant.api_organization_invite.deleted"
676
+ | :"tenant.chatgpt_workspace_invite.upserted"
677
+ | :"tenant.membership.accepted"
678
+ | :"tenant.membership.declined"
679
+ | :"tenant.workspace_invite_email_settings.updated"
596
680
 
597
681
  module Type
598
682
  extend OpenAI::Internal::Type::Enum
@@ -656,6 +740,90 @@ module OpenAI
656
740
  USER_ADDED: :"user.added"
657
741
  USER_UPDATED: :"user.updated"
658
742
  USER_DELETED: :"user.deleted"
743
+ TENANT_METADATA_UPDATED: :"tenant.metadata.updated"
744
+ TENANT_MICROSOFT_ENTRA_MAPPING_UPSERTED: :"tenant.microsoft_entra_mapping.upserted"
745
+ TENANT_MICROSOFT_ENTRA_MAPPING_DELETED: :"tenant.microsoft_entra_mapping.deleted"
746
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_CREATED: :"tenant.workload_identity.provider.created"
747
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_UPDATED: :"tenant.workload_identity.provider.updated"
748
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_ARCHIVED: :"tenant.workload_identity.provider.archived"
749
+ TENANT_WORKLOAD_IDENTITY_MAPPING_CREATED: :"tenant.workload_identity.mapping.created"
750
+ TENANT_WORKLOAD_IDENTITY_MAPPING_UPDATED: :"tenant.workload_identity.mapping.updated"
751
+ TENANT_WORKLOAD_IDENTITY_MAPPING_ARCHIVED: :"tenant.workload_identity.mapping.archived"
752
+ TENANT_WORKLOAD_IDENTITY_BINDING_CREATED: :"tenant.workload_identity.binding.created"
753
+ TENANT_WORKLOAD_IDENTITY_PRINCIPAL_PROVISIONED: :"tenant.workload_identity.principal.provisioned"
754
+ TENANT_ADMIN_API_KEY_CREATED: :"tenant.admin_api_key.created"
755
+ TENANT_ADMIN_API_KEY_UPDATED: :"tenant.admin_api_key.updated"
756
+ TENANT_ADMIN_API_KEY_DELETED: :"tenant.admin_api_key.deleted"
757
+ TENANT_PROJECT_API_KEY_CREATED: :"tenant.project_api_key.created"
758
+ TENANT_CHATGPT_ACCESS_TOKEN_REVOKED: :"tenant.chatgpt_access_token.revoked"
759
+ TENANT_MIGRATION_COMPLETED: :"tenant.migration.completed"
760
+ TENANT_SSO_MIGRATED: :"tenant.sso.migrated"
761
+ TENANT_DOMAINS_MIGRATED: :"tenant.domains.migrated"
762
+ TENANT_SSO_CONNECTION_CREATED: :"tenant.sso_connection.created"
763
+ TENANT_SSO_CONNECTION_UPDATED: :"tenant.sso_connection.updated"
764
+ TENANT_SSO_CONNECTION_DELETED: :"tenant.sso_connection.deleted"
765
+ TENANT_SSO_CONNECTION_SETUP_STARTED: :"tenant.sso_connection.setup.started"
766
+ TENANT_POLICY_CREATED: :"tenant.policy.created"
767
+ TENANT_POLICY_UPDATED: :"tenant.policy.updated"
768
+ TENANT_POLICY_DELETED: :"tenant.policy.deleted"
769
+ TENANT_POLICY_ATTACHED: :"tenant.policy.attached"
770
+ TENANT_POLICY_DETACHED: :"tenant.policy.detached"
771
+ TENANT_PRINCIPAL_AUTHENTICATION_POLICY_RESOLVED: :"tenant.principal_authentication_policy.resolved"
772
+ TENANT_SCIM_SETUP_STARTED: :"tenant.scim.setup.started"
773
+ TENANT_SCIM_DELETION_REQUESTED: :"tenant.scim.deletion.requested"
774
+ TENANT_SCIM_DIRECTORY_CREATED: :"tenant.scim.directory.created"
775
+ TENANT_PRODUCT_ACCESS_POLICY_UPDATED: :"tenant.product_access_policy.updated"
776
+ TENANT_RESOURCE_SHARE_GRANT_CREATED: :"tenant.resource_share_grant.created"
777
+ TENANT_RESOURCE_SHARE_GRANT_UPDATED: :"tenant.resource_share_grant.updated"
778
+ TENANT_RESOURCE_SHARE_GRANT_ACCEPTED: :"tenant.resource_share_grant.accepted"
779
+ TENANT_RESOURCE_SHARE_GRANT_DECLINED: :"tenant.resource_share_grant.declined"
780
+ TENANT_RESOURCE_SHARE_GRANT_REVOKED: :"tenant.resource_share_grant.revoked"
781
+ TENANT_RESOURCE_SHARE_GRANT_DELETED: :"tenant.resource_share_grant.deleted"
782
+ TENANT_SERVICE_ACCOUNT_UPDATED: :"tenant.service_account.updated"
783
+ TENANT_SERVICE_ACCOUNT_DELETED: :"tenant.service_account.deleted"
784
+ TENANT_SERVICE_ACCOUNT_TOKEN_REVOKED: :"tenant.service_account.token.revoked"
785
+ TENANT_BILLING_OVERAGE_LIMIT_UPDATED: :"tenant.billing.overage_limit.updated"
786
+ TENANT_BILLING_ALERTS_UPDATED: :"tenant.billing.alerts.updated"
787
+ TENANT_BILLING_INFO_UPDATED: :"tenant.billing.info.updated"
788
+ TENANT_USAGE_LIMIT_WORKSPACE_UPDATED: :"tenant.usage_limit.workspace.updated"
789
+ TENANT_USAGE_LIMIT_GROUP_UPDATED: :"tenant.usage_limit.group.updated"
790
+ TENANT_USAGE_LIMIT_USER_UPDATED: :"tenant.usage_limit.user.updated"
791
+ TENANT_USAGE_LIMIT_INCREASE_REQUEST_UPDATED: :"tenant.usage_limit.increase_request.updated"
792
+ TENANT_USAGE_LIMIT_INCREASE_REQUEST_RESOLVED: :"tenant.usage_limit.increase_request.resolved"
793
+ TENANT_GROUP_CREATED: :"tenant.group.created"
794
+ TENANT_GROUP_UPDATED: :"tenant.group.updated"
795
+ TENANT_GROUP_DELETED: :"tenant.group.deleted"
796
+ TENANT_GROUP_MEMBER_ADDED: :"tenant.group.member.added"
797
+ TENANT_GROUP_MEMBER_REMOVED: :"tenant.group.member.removed"
798
+ TENANT_MIGRATION_ROLLOUT_STATUS_UPDATED: :"tenant.migration_rollout.status.updated"
799
+ TENANT_MIGRATION_ROLLOUT_TIER_UPDATED: :"tenant.migration_rollout.tier.updated"
800
+ TENANT_ROLE_METADATA_UPDATED: :"tenant.role.metadata.updated"
801
+ TENANT_CUSTOM_ROLE_CREATED: :"tenant.custom_role.created"
802
+ TENANT_CUSTOM_ROLE_UPDATED: :"tenant.custom_role.updated"
803
+ TENANT_CUSTOM_ROLE_DELETED: :"tenant.custom_role.deleted"
804
+ TENANT_ROLE_ASSIGNMENT_CREATED: :"tenant.role_assignment.created"
805
+ TENANT_ROLE_ASSIGNMENT_DELETED: :"tenant.role_assignment.deleted"
806
+ TENANT_RESOURCE_ROLE_ASSIGNMENT_CREATED: :"tenant.resource_role_assignment.created"
807
+ TENANT_RESOURCE_ROLE_ASSIGNMENT_DELETED: :"tenant.resource_role_assignment.deleted"
808
+ TENANT_RESOURCE_ACCESS_UPDATED: :"tenant.resource_access.updated"
809
+ TENANT_RESOURCE_ACCESS_DELETED: :"tenant.resource_access.deleted"
810
+ TENANT_SESSION_POLICY_CREATED: :"tenant.session_policy.created"
811
+ TENANT_SESSION_POLICY_UPDATED: :"tenant.session_policy.updated"
812
+ TENANT_SESSION_POLICY_DELETED: :"tenant.session_policy.deleted"
813
+ TENANT_SESSION_REVOCATION_STARTED: :"tenant.session_revocation.started"
814
+ TENANT_THIRD_PARTY_APP_POLICY_UPDATED: :"tenant.third_party_app_policy.updated"
815
+ TENANT_USER_ADDED: :"tenant.user.added"
816
+ TENANT_USER_UPDATED: :"tenant.user.updated"
817
+ TENANT_USER_REMOVED: :"tenant.user.removed"
818
+ TENANT_USER_LOOKED_UP: :"tenant.user.looked_up"
819
+ TENANT_USER_INVITED: :"tenant.user.invited"
820
+ TENANT_MEMBERSHIP_REVOKED: :"tenant.membership.revoked"
821
+ TENANT_API_ORGANIZATION_INVITE_UPSERTED: :"tenant.api_organization_invite.upserted"
822
+ TENANT_API_ORGANIZATION_INVITE_DELETED: :"tenant.api_organization_invite.deleted"
823
+ TENANT_CHATGPT_WORKSPACE_INVITE_UPSERTED: :"tenant.chatgpt_workspace_invite.upserted"
824
+ TENANT_MEMBERSHIP_ACCEPTED: :"tenant.membership.accepted"
825
+ TENANT_MEMBERSHIP_DECLINED: :"tenant.membership.declined"
826
+ TENANT_WORKSPACE_INVITE_EMAIL_SETTINGS_UPDATED: :"tenant.workspace_invite_email_settings.updated"
659
827
 
660
828
  def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::AuditLogListResponse::type_]
661
829
  end
@@ -0,0 +1,94 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ class OrganizationSpendLimit = Organization::OrganizationSpendLimit
5
+
6
+ module Organization
7
+ type organization_spend_limit =
8
+ {
9
+ currency: OpenAI::Models::Admin::Organization::OrganizationSpendLimit::currency,
10
+ enforcement: OpenAI::Admin::Organization::OrganizationSpendLimit::Enforcement,
11
+ interval: OpenAI::Models::Admin::Organization::OrganizationSpendLimit::interval,
12
+ object: :"organization.spend_limit",
13
+ threshold_amount: Integer
14
+ }
15
+
16
+ class OrganizationSpendLimit < OpenAI::Internal::Type::BaseModel
17
+ attr_accessor currency: OpenAI::Models::Admin::Organization::OrganizationSpendLimit::currency
18
+
19
+ attr_accessor enforcement: OpenAI::Admin::Organization::OrganizationSpendLimit::Enforcement
20
+
21
+ attr_accessor interval: OpenAI::Models::Admin::Organization::OrganizationSpendLimit::interval
22
+
23
+ attr_accessor object: :"organization.spend_limit"
24
+
25
+ attr_accessor threshold_amount: Integer
26
+
27
+ def initialize: (
28
+ currency: OpenAI::Models::Admin::Organization::OrganizationSpendLimit::currency,
29
+ enforcement: OpenAI::Admin::Organization::OrganizationSpendLimit::Enforcement,
30
+ interval: OpenAI::Models::Admin::Organization::OrganizationSpendLimit::interval,
31
+ threshold_amount: Integer,
32
+ ?object: :"organization.spend_limit"
33
+ ) -> void
34
+
35
+ def to_hash: -> {
36
+ currency: OpenAI::Models::Admin::Organization::OrganizationSpendLimit::currency,
37
+ enforcement: OpenAI::Admin::Organization::OrganizationSpendLimit::Enforcement,
38
+ interval: OpenAI::Models::Admin::Organization::OrganizationSpendLimit::interval,
39
+ object: :"organization.spend_limit",
40
+ threshold_amount: Integer
41
+ }
42
+
43
+ type currency = String | :USD
44
+
45
+ module Currency
46
+ extend OpenAI::Internal::Type::Union
47
+
48
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::OrganizationSpendLimit::currency]
49
+
50
+ USD: :USD
51
+ end
52
+
53
+ type enforcement =
54
+ {
55
+ status: OpenAI::Models::Admin::Organization::OrganizationSpendLimit::Enforcement::status
56
+ }
57
+
58
+ class Enforcement < OpenAI::Internal::Type::BaseModel
59
+ attr_accessor status: OpenAI::Models::Admin::Organization::OrganizationSpendLimit::Enforcement::status
60
+
61
+ def initialize: (
62
+ status: OpenAI::Models::Admin::Organization::OrganizationSpendLimit::Enforcement::status
63
+ ) -> void
64
+
65
+ def to_hash: -> {
66
+ status: OpenAI::Models::Admin::Organization::OrganizationSpendLimit::Enforcement::status
67
+ }
68
+
69
+ type status = String | :inactive | :enforcing
70
+
71
+ module Status
72
+ extend OpenAI::Internal::Type::Union
73
+
74
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::OrganizationSpendLimit::Enforcement::status]
75
+
76
+ INACTIVE: :inactive
77
+ ENFORCING: :enforcing
78
+ end
79
+ end
80
+
81
+ type interval = String | :month
82
+
83
+ module Interval
84
+ extend OpenAI::Internal::Type::Union
85
+
86
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::OrganizationSpendLimit::interval]
87
+
88
+ MONTH: :month
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,28 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ class OrganizationSpendLimitDeleted = Organization::OrganizationSpendLimitDeleted
5
+
6
+ module Organization
7
+ type organization_spend_limit_deleted =
8
+ { deleted: bool, object: :"organization.spend_limit.deleted" }
9
+
10
+ class OrganizationSpendLimitDeleted < OpenAI::Internal::Type::BaseModel
11
+ attr_accessor deleted: bool
12
+
13
+ attr_accessor object: :"organization.spend_limit.deleted"
14
+
15
+ def initialize: (
16
+ deleted: bool,
17
+ ?object: :"organization.spend_limit.deleted"
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ deleted: bool,
22
+ object: :"organization.spend_limit.deleted"
23
+ }
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -41,13 +41,14 @@ module OpenAI
41
41
  role: OpenAI::Models::Admin::Organization::Projects::ProjectServiceAccount::role
42
42
  }
43
43
 
44
- type role = :owner | :member
44
+ type role = :owner | :member | :none
45
45
 
46
46
  module Role
47
47
  extend OpenAI::Internal::Type::Enum
48
48
 
49
49
  OWNER: :owner
50
50
  MEMBER: :member
51
+ NONE: :none
51
52
 
52
53
  def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::Projects::ProjectServiceAccount::role]
53
54
  end