openai 0.116.0 → 0.118.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 (134) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/admin/organization/projects/project_optional_service_tier.rb +24 -0
  5. data/lib/openai/models/admin/organization/projects/project_service_tier_settings.rb +88 -0
  6. data/lib/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rb +29 -0
  7. data/lib/openai/models/admin/organization/projects/service_tier_setting_update_params.rb +92 -0
  8. data/lib/openai/models/admin/organization/workload_identity_provider.rb +158 -0
  9. data/lib/openai/models/admin/organization/workload_identity_provider_create_params.rb +143 -0
  10. data/lib/openai/models/admin/organization/workload_identity_provider_delete_params.rb +24 -0
  11. data/lib/openai/models/admin/organization/workload_identity_provider_deleted.rb +32 -0
  12. data/lib/openai/models/admin/organization/workload_identity_provider_list_params.rb +58 -0
  13. data/lib/openai/models/admin/organization/workload_identity_provider_retrieve_params.rb +24 -0
  14. data/lib/openai/models/admin/organization/workload_identity_provider_update_params.rb +143 -0
  15. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule.rb +161 -0
  16. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rb +144 -0
  17. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rb +32 -0
  18. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rb +34 -0
  19. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rb +85 -0
  20. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rb +32 -0
  21. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rb +134 -0
  22. data/lib/openai/models/beta/beta_response.rb +1 -0
  23. data/lib/openai/models/beta/beta_response_usage.rb +33 -1
  24. data/lib/openai/models/beta/beta_responses_client_event.rb +10 -9
  25. data/lib/openai/models/beta/chatkit/chat_session_workflow_param.rb +5 -3
  26. data/lib/openai/models/beta/chatkit_workflow.rb +5 -3
  27. data/lib/openai/models/beta/response_compact_params.rb +3 -3
  28. data/lib/openai/models/beta/response_create_params.rb +10 -9
  29. data/lib/openai/models/chat/completion_create_params.rb +3 -3
  30. data/lib/openai/models/responses/response.rb +1 -0
  31. data/lib/openai/models/responses/response_compact_params.rb +3 -3
  32. data/lib/openai/models/responses/response_create_params.rb +10 -9
  33. data/lib/openai/models/responses/response_usage.rb +33 -1
  34. data/lib/openai/models/responses/responses_client_event.rb +10 -9
  35. data/lib/openai/resources/admin/organization/projects/service_tier_settings.rb +77 -0
  36. data/lib/openai/resources/admin/organization/projects.rb +6 -0
  37. data/lib/openai/resources/admin/organization/workload_identity_providers/federation_rules.rb +198 -0
  38. data/lib/openai/resources/admin/organization/workload_identity_providers.rb +148 -0
  39. data/lib/openai/resources/admin/organization.rb +6 -0
  40. data/lib/openai/resources/beta/responses.rb +6 -6
  41. data/lib/openai/resources/chat/completions.rb +2 -2
  42. data/lib/openai/resources/responses.rb +3 -3
  43. data/lib/openai/version.rb +1 -1
  44. data/lib/openai.rb +21 -0
  45. data/rbi/openai/models/admin/organization/projects/project_optional_service_tier.rbi +45 -0
  46. data/rbi/openai/models/admin/organization/projects/project_service_tier_settings.rbi +143 -0
  47. data/rbi/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rbi +63 -0
  48. data/rbi/openai/models/admin/organization/projects/service_tier_setting_update_params.rbi +183 -0
  49. data/rbi/openai/models/admin/organization/workload_identity_provider.rbi +288 -0
  50. data/rbi/openai/models/admin/organization/workload_identity_provider_create_params.rbi +311 -0
  51. data/rbi/openai/models/admin/organization/workload_identity_provider_delete_params.rbi +57 -0
  52. data/rbi/openai/models/admin/organization/workload_identity_provider_deleted.rbi +64 -0
  53. data/rbi/openai/models/admin/organization/workload_identity_provider_list_params.rbi +111 -0
  54. data/rbi/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbi +57 -0
  55. data/rbi/openai/models/admin/organization/workload_identity_provider_update_params.rbi +317 -0
  56. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule.rbi +276 -0
  57. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbi +282 -0
  58. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbi +72 -0
  59. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbi +68 -0
  60. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbi +153 -0
  61. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbi +72 -0
  62. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbi +281 -0
  63. data/rbi/openai/models/beta/beta_response.rbi +1 -0
  64. data/rbi/openai/models/beta/beta_response_usage.rbi +66 -3
  65. data/rbi/openai/models/beta/beta_responses_client_event.rbi +13 -9
  66. data/rbi/openai/models/beta/chatkit/chat_session_workflow_param.rbi +1 -1
  67. data/rbi/openai/models/beta/chatkit_workflow.rbi +1 -1
  68. data/rbi/openai/models/beta/response_compact_params.rbi +3 -3
  69. data/rbi/openai/models/beta/response_create_params.rbi +10 -9
  70. data/rbi/openai/models/chat/completion_create_params.rbi +3 -3
  71. data/rbi/openai/models/responses/response.rbi +1 -0
  72. data/rbi/openai/models/responses/response_compact_params.rbi +3 -3
  73. data/rbi/openai/models/responses/response_create_params.rbi +10 -9
  74. data/rbi/openai/models/responses/response_usage.rbi +66 -3
  75. data/rbi/openai/models/responses/responses_client_event.rbi +13 -9
  76. data/rbi/openai/resources/admin/organization/projects/service_tier_settings.rbi +67 -0
  77. data/rbi/openai/resources/admin/organization/projects.rbi +3 -0
  78. data/rbi/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbi +148 -0
  79. data/rbi/openai/resources/admin/organization/workload_identity_providers.rbi +123 -0
  80. data/rbi/openai/resources/admin/organization.rbi +3 -0
  81. data/rbi/openai/resources/beta/responses.rbi +6 -6
  82. data/rbi/openai/resources/chat/completions.rbi +2 -2
  83. data/rbi/openai/resources/responses.rbi +3 -3
  84. data/sig/openai/models/admin/organization/external_key_create_params.rbs +9 -9
  85. data/sig/openai/models/admin/organization/projects/project_optional_service_tier.rbs +23 -0
  86. data/sig/openai/models/admin/organization/projects/project_service_tier_settings.rbs +72 -0
  87. data/sig/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rbs +32 -0
  88. data/sig/openai/models/admin/organization/projects/service_tier_setting_update_params.rbs +91 -0
  89. data/sig/openai/models/admin/organization/workload_identity_provider.rbs +136 -0
  90. data/sig/openai/models/admin/organization/workload_identity_provider_create_params.rbs +140 -0
  91. data/sig/openai/models/admin/organization/workload_identity_provider_delete_params.rbs +30 -0
  92. data/sig/openai/models/admin/organization/workload_identity_provider_deleted.rbs +34 -0
  93. data/sig/openai/models/admin/organization/workload_identity_provider_list_params.rbs +59 -0
  94. data/sig/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbs +30 -0
  95. data/sig/openai/models/admin/organization/workload_identity_provider_update_params.rbs +145 -0
  96. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule.rbs +124 -0
  97. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbs +126 -0
  98. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbs +37 -0
  99. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbs +36 -0
  100. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbs +73 -0
  101. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbs +37 -0
  102. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbs +123 -0
  103. data/sig/openai/models/audio/transcription_create_params.rbs +3 -3
  104. data/sig/openai/models/audio/voice_create_params.rbs +6 -6
  105. data/sig/openai/models/beta/assistant_create_params.rbs +14 -2
  106. data/sig/openai/models/beta/beta_response.rbs +2 -1
  107. data/sig/openai/models/beta/beta_response_usage.rbs +40 -3
  108. data/sig/openai/models/beta/beta_responses_client_event.rbs +11 -10
  109. data/sig/openai/models/beta/chatkit/chat_session_workflow_param.rbs +1 -1
  110. data/sig/openai/models/beta/chatkit_workflow.rbs +1 -1
  111. data/sig/openai/models/beta/response_compact_params.rbs +2 -2
  112. data/sig/openai/models/beta/response_create_params.rbs +11 -10
  113. data/sig/openai/models/beta/thread_create_and_run_params.rbs +14 -2
  114. data/sig/openai/models/beta/thread_create_params.rbs +14 -2
  115. data/sig/openai/models/chat/completion_create_params.rbs +3 -3
  116. data/sig/openai/models/decision_create_params.rbs +42 -0
  117. data/sig/openai/models/eval_create_params.rbs +29 -2
  118. data/sig/openai/models/evals/run_create_params.rbs +53 -2
  119. data/sig/openai/models/responses/response.rbs +2 -1
  120. data/sig/openai/models/responses/response_compact_params.rbs +2 -2
  121. data/sig/openai/models/responses/response_create_params.rbs +11 -10
  122. data/sig/openai/models/responses/response_usage.rbs +40 -3
  123. data/sig/openai/models/responses/responses_client_event.rbs +11 -10
  124. data/sig/openai/resources/admin/organization/external_keys.rbs +3 -3
  125. data/sig/openai/resources/admin/organization/projects/service_tier_settings.rbs +25 -0
  126. data/sig/openai/resources/admin/organization/projects.rbs +2 -0
  127. data/sig/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbs +61 -0
  128. data/sig/openai/resources/admin/organization/workload_identity_providers.rbs +58 -0
  129. data/sig/openai/resources/admin/organization.rbs +2 -0
  130. data/sig/openai/resources/audio/transcriptions.rbs +2 -2
  131. data/sig/openai/resources/audio/voices.rbs +2 -2
  132. data/sig/openai/resources/decisions.rbs +14 -0
  133. data/sig/openai/resources/evals.rbs +8 -1
  134. metadata +64 -1
data/lib/openai.rb CHANGED
@@ -349,8 +349,10 @@ require_relative "openai/models/admin/organization/projects/project_group"
349
349
  require_relative "openai/models/admin/organization/projects/project_hosted_tool_permissions"
350
350
  require_relative "openai/models/admin/organization/projects/project_model_permissions"
351
351
  require_relative "openai/models/admin/organization/projects/project_model_permissions_deleted"
352
+ require_relative "openai/models/admin/organization/projects/project_optional_service_tier"
352
353
  require_relative "openai/models/admin/organization/projects/project_rate_limit"
353
354
  require_relative "openai/models/admin/organization/projects/project_service_account"
355
+ require_relative "openai/models/admin/organization/projects/project_service_tier_settings"
354
356
  require_relative "openai/models/admin/organization/projects/project_spend_alert"
355
357
  require_relative "openai/models/admin/organization/projects/project_spend_alert_deleted"
356
358
  require_relative "openai/models/admin/organization/projects/project_spend_limit"
@@ -373,6 +375,8 @@ require_relative "openai/models/admin/organization/projects/service_account_retr
373
375
  require_relative "openai/models/admin/organization/projects/service_accounts/api_key_create_params"
374
376
  require_relative "openai/models/admin/organization/projects/service_accounts/api_key_create_response"
375
377
  require_relative "openai/models/admin/organization/projects/service_account_update_params"
378
+ require_relative "openai/models/admin/organization/projects/service_tier_setting_retrieve_params"
379
+ require_relative "openai/models/admin/organization/projects/service_tier_setting_update_params"
376
380
  require_relative "openai/models/admin/organization/projects/spend_alert_create_params"
377
381
  require_relative "openai/models/admin/organization/projects/spend_alert_delete_params"
378
382
  require_relative "openai/models/admin/organization/projects/spend_alert_list_params"
@@ -448,6 +452,20 @@ require_relative "openai/models/admin/organization/users/role_list_response"
448
452
  require_relative "openai/models/admin/organization/users/role_retrieve_params"
449
453
  require_relative "openai/models/admin/organization/users/role_retrieve_response"
450
454
  require_relative "openai/models/admin/organization/user_update_params"
455
+ require_relative "openai/models/admin/organization/workload_identity_provider"
456
+ require_relative "openai/models/admin/organization/workload_identity_provider_create_params"
457
+ require_relative "openai/models/admin/organization/workload_identity_provider_deleted"
458
+ require_relative "openai/models/admin/organization/workload_identity_provider_delete_params"
459
+ require_relative "openai/models/admin/organization/workload_identity_provider_list_params"
460
+ require_relative "openai/models/admin/organization/workload_identity_provider_retrieve_params"
461
+ require_relative "openai/models/admin/organization/workload_identity_providers/federation_rule"
462
+ require_relative "openai/models/admin/organization/workload_identity_providers/federation_rule_create_params"
463
+ require_relative "openai/models/admin/organization/workload_identity_providers/federation_rule_deleted"
464
+ require_relative "openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params"
465
+ require_relative "openai/models/admin/organization/workload_identity_providers/federation_rule_list_params"
466
+ require_relative "openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params"
467
+ require_relative "openai/models/admin/organization/workload_identity_providers/federation_rule_update_params"
468
+ require_relative "openai/models/admin/organization/workload_identity_provider_update_params"
451
469
  require_relative "openai/models/all_models"
452
470
  require_relative "openai/models/audio/speech_create_params"
453
471
  require_relative "openai/models/audio/speech_model"
@@ -1578,6 +1596,7 @@ require_relative "openai/resources/admin/organization/projects/rate_limits"
1578
1596
  require_relative "openai/resources/admin/organization/projects/roles"
1579
1597
  require_relative "openai/resources/admin/organization/projects/service_accounts"
1580
1598
  require_relative "openai/resources/admin/organization/projects/service_accounts/api_keys"
1599
+ require_relative "openai/resources/admin/organization/projects/service_tier_settings"
1581
1600
  require_relative "openai/resources/admin/organization/projects/spend_alerts"
1582
1601
  require_relative "openai/resources/admin/organization/projects/spend_limit"
1583
1602
  require_relative "openai/resources/admin/organization/projects/users"
@@ -1588,6 +1607,8 @@ require_relative "openai/resources/admin/organization/spend_limit"
1588
1607
  require_relative "openai/resources/admin/organization/usage"
1589
1608
  require_relative "openai/resources/admin/organization/users"
1590
1609
  require_relative "openai/resources/admin/organization/users/roles"
1610
+ require_relative "openai/resources/admin/organization/workload_identity_providers"
1611
+ require_relative "openai/resources/admin/organization/workload_identity_providers/federation_rules"
1591
1612
  require_relative "openai/resources/audio"
1592
1613
  require_relative "openai/resources/audio/speech"
1593
1614
  require_relative "openai/resources/audio/transcriptions"
@@ -0,0 +1,45 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Admin
7
+
8
+ module Organization
9
+
10
+ ProjectOptionalServiceTier = Projects::ProjectOptionalServiceTier
11
+
12
+ module Projects
13
+
14
+ module ProjectOptionalServiceTier
15
+ extend OpenAI::Internal::Type::Enum
16
+
17
+ TaggedSymbol = T.type_alias {
18
+ T.all(Symbol, OpenAI::Admin::Organization::Projects::ProjectOptionalServiceTier)
19
+ }
20
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
21
+
22
+ FLEX = T.let(:flex, OpenAI::Admin::Organization::Projects::ProjectOptionalServiceTier::TaggedSymbol)
23
+ FAST = T.let(:fast, OpenAI::Admin::Organization::Projects::ProjectOptionalServiceTier::TaggedSymbol)
24
+ ULTRAFAST = T.let(
25
+ :ultrafast,
26
+ OpenAI::Admin::Organization::Projects::ProjectOptionalServiceTier::TaggedSymbol
27
+ )
28
+
29
+ sig {
30
+ override.returns(
31
+ T::Array[OpenAI::Admin::Organization::Projects::ProjectOptionalServiceTier::TaggedSymbol]
32
+ )
33
+ }
34
+ def self.values
35
+ end
36
+ end
37
+
38
+ end
39
+
40
+ end
41
+
42
+ end
43
+
44
+ end
45
+ end
@@ -0,0 +1,143 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Admin
7
+
8
+ module Organization
9
+
10
+ ProjectServiceTierSettings = Projects::ProjectServiceTierSettings
11
+
12
+ module Projects
13
+
14
+ class ProjectServiceTierSettings < OpenAI::Internal::Type::BaseModel
15
+
16
+ OrHash = T.type_alias do
17
+ T.any(
18
+ OpenAI::Admin::Organization::Projects::ProjectServiceTierSettings,
19
+ OpenAI::Internal::AnyHash
20
+ )
21
+ end
22
+
23
+ # Default tier for requests that omit service_tier or use auto.
24
+ sig { returns(OpenAI::Admin::Organization::Projects::ProjectServiceTierSettings::Default::TaggedSymbol) }
25
+ attr_accessor :default
26
+
27
+ # Additional service tiers enabled for this project. "all" includes future tiers.
28
+ # An empty array allows only Standard. Organization policy and eligibility still
29
+ # apply.
30
+ sig { returns(OpenAI::Admin::Organization::Projects::ProjectServiceTierSettings::EnabledTiers::Variants) }
31
+ attr_accessor :enabled_tiers
32
+
33
+ sig { returns(Symbol) }
34
+ attr_accessor :object
35
+
36
+ sig do
37
+ params(
38
+
39
+ default: OpenAI::Admin::Organization::Projects::ProjectServiceTierSettings::Default::OrSymbol,
40
+
41
+ enabled_tiers: T.any(
42
+ Symbol,
43
+ T::Array[OpenAI::Admin::Organization::Projects::ProjectOptionalServiceTier::OrSymbol]
44
+ ),
45
+
46
+ object: Symbol
47
+ )
48
+ .returns(T.attached_class)
49
+ end
50
+ def self.new(
51
+
52
+ # Default tier for requests that omit service_tier or use auto.
53
+ default:,
54
+
55
+ # Additional service tiers enabled for this project. "all" includes future tiers.
56
+ # An empty array allows only Standard. Organization policy and eligibility still
57
+ # apply.
58
+ enabled_tiers:,
59
+
60
+ object: :"project.service_tier_settings"
61
+ )
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {
67
+ default: OpenAI::Admin::Organization::Projects::ProjectServiceTierSettings::Default::TaggedSymbol,
68
+ enabled_tiers: OpenAI::Admin::Organization::Projects::ProjectServiceTierSettings::EnabledTiers::Variants,
69
+ object: Symbol
70
+ }
71
+ )
72
+ end
73
+ def to_hash
74
+ end
75
+
76
+ # Default tier for requests that omit service_tier or use auto.
77
+ module Default
78
+ extend OpenAI::Internal::Type::Enum
79
+
80
+ TaggedSymbol = T.type_alias {
81
+ T.all(Symbol, OpenAI::Admin::Organization::Projects::ProjectServiceTierSettings::Default)
82
+ }
83
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
84
+
85
+ STANDARD = T.let(
86
+ :standard,
87
+ OpenAI::Admin::Organization::Projects::ProjectServiceTierSettings::Default::TaggedSymbol
88
+ )
89
+ FAST = T.let(
90
+ :fast,
91
+ OpenAI::Admin::Organization::Projects::ProjectServiceTierSettings::Default::TaggedSymbol
92
+ )
93
+ SCALE = T.let(
94
+ :scale,
95
+ OpenAI::Admin::Organization::Projects::ProjectServiceTierSettings::Default::TaggedSymbol
96
+ )
97
+
98
+ sig {
99
+ override.returns(
100
+ T::Array[OpenAI::Admin::Organization::Projects::ProjectServiceTierSettings::Default::TaggedSymbol]
101
+ )
102
+ }
103
+ def self.values
104
+ end
105
+ end
106
+
107
+ # Additional service tiers enabled for this project. "all" includes future tiers.
108
+ # An empty array allows only Standard. Organization policy and eligibility still
109
+ # apply.
110
+ module EnabledTiers
111
+ extend OpenAI::Internal::Type::Union
112
+
113
+ Variants = T.type_alias {
114
+ T.any(Symbol, T::Array[OpenAI::Admin::Organization::Projects::ProjectOptionalServiceTier::TaggedSymbol])
115
+ }
116
+
117
+ sig {
118
+ override.returns(
119
+ T::Array[OpenAI::Admin::Organization::Projects::ProjectServiceTierSettings::EnabledTiers::Variants]
120
+ )
121
+ }
122
+ def self.variants
123
+ end
124
+
125
+ ProjectOptionalServiceTierArray = T.let(
126
+ OpenAI::Internal::Type::ArrayOf[
127
+ enum: -> { OpenAI::Models::Admin::Organization::Projects::ProjectOptionalServiceTier }
128
+ ],
129
+ OpenAI::Internal::Type::Converter
130
+ )
131
+
132
+ end
133
+
134
+ end
135
+
136
+ end
137
+
138
+ end
139
+
140
+ end
141
+
142
+ end
143
+ end
@@ -0,0 +1,63 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Admin
7
+
8
+ module Organization
9
+
10
+ module Projects
11
+
12
+ class ServiceTierSettingRetrieveParams < OpenAI::Internal::Type::BaseModel
13
+
14
+ extend OpenAI::Internal::Type::RequestParameters::Converter
15
+ include OpenAI::Internal::Type::RequestParameters
16
+
17
+ OrHash = T.type_alias do
18
+ T.any(
19
+ OpenAI::Admin::Organization::Projects::ServiceTierSettingRetrieveParams,
20
+ OpenAI::Internal::AnyHash
21
+ )
22
+ end
23
+
24
+ # The ID of the project
25
+ sig { returns(String) }
26
+ attr_accessor :project_id
27
+
28
+ sig do
29
+ params(
30
+
31
+ project_id: String,
32
+
33
+ request_options: OpenAI::RequestOptions::OrHash
34
+ )
35
+ .returns(T.attached_class)
36
+ end
37
+ def self.new(
38
+
39
+ # The ID of the project
40
+ project_id:,
41
+
42
+ request_options: {}
43
+ )
44
+ end
45
+
46
+ sig do
47
+ override.returns(
48
+ {project_id: String, request_options: OpenAI::RequestOptions}
49
+ )
50
+ end
51
+ def to_hash
52
+ end
53
+
54
+ end
55
+
56
+ end
57
+
58
+ end
59
+
60
+ end
61
+
62
+ end
63
+ end
@@ -0,0 +1,183 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Admin
7
+
8
+ module Organization
9
+
10
+ module Projects
11
+
12
+ class ServiceTierSettingUpdateParams < OpenAI::Internal::Type::BaseModel
13
+
14
+ extend OpenAI::Internal::Type::RequestParameters::Converter
15
+ include OpenAI::Internal::Type::RequestParameters
16
+
17
+ OrHash = T.type_alias do
18
+ T.any(
19
+ OpenAI::Admin::Organization::Projects::ServiceTierSettingUpdateParams,
20
+ OpenAI::Internal::AnyHash
21
+ )
22
+ end
23
+
24
+ # The ID of the project
25
+ sig { returns(String) }
26
+ attr_accessor :project_id
27
+
28
+ # Default tier for requests that omit service_tier or use auto.
29
+ sig {
30
+ returns(
31
+ T.nilable(OpenAI::Admin::Organization::Projects::ServiceTierSettingUpdateParams::Default::OrSymbol)
32
+ )
33
+ }
34
+ attr_reader :default
35
+
36
+ sig {
37
+ params(default: OpenAI::Admin::Organization::Projects::ServiceTierSettingUpdateParams::Default::OrSymbol)
38
+ .void
39
+ }
40
+ attr_writer :default
41
+
42
+ # Additional service tiers enabled for this project. "all" includes future tiers.
43
+ # An empty array allows only Standard. Organization policy and eligibility still
44
+ # apply.
45
+ sig {
46
+ returns(
47
+ T.nilable(
48
+ T.any(Symbol, T::Array[OpenAI::Admin::Organization::Projects::ProjectOptionalServiceTier::OrSymbol])
49
+ )
50
+ )
51
+ }
52
+ attr_reader :enabled_tiers
53
+
54
+ sig {
55
+ params(
56
+ enabled_tiers: T.any(
57
+ Symbol,
58
+ T::Array[OpenAI::Admin::Organization::Projects::ProjectOptionalServiceTier::OrSymbol]
59
+ )
60
+ )
61
+ .void
62
+ }
63
+ attr_writer :enabled_tiers
64
+
65
+ sig do
66
+ params(
67
+
68
+ project_id: String,
69
+
70
+ default: OpenAI::Admin::Organization::Projects::ServiceTierSettingUpdateParams::Default::OrSymbol,
71
+
72
+ enabled_tiers: T.any(
73
+ Symbol,
74
+ T::Array[OpenAI::Admin::Organization::Projects::ProjectOptionalServiceTier::OrSymbol]
75
+ ),
76
+
77
+ request_options: OpenAI::RequestOptions::OrHash
78
+ )
79
+ .returns(T.attached_class)
80
+ end
81
+ def self.new(
82
+
83
+ # The ID of the project
84
+ project_id:,
85
+
86
+ # Default tier for requests that omit service_tier or use auto.
87
+ default: nil,
88
+
89
+ # Additional service tiers enabled for this project. "all" includes future tiers.
90
+ # An empty array allows only Standard. Organization policy and eligibility still
91
+ # apply.
92
+ enabled_tiers: nil,
93
+
94
+ request_options: {}
95
+ )
96
+ end
97
+
98
+ sig do
99
+ override.returns(
100
+ {
101
+ project_id: String,
102
+ default: OpenAI::Admin::Organization::Projects::ServiceTierSettingUpdateParams::Default::OrSymbol,
103
+ enabled_tiers: T.any(
104
+ Symbol,
105
+ T::Array[OpenAI::Admin::Organization::Projects::ProjectOptionalServiceTier::OrSymbol]
106
+ ),
107
+ request_options: OpenAI::RequestOptions
108
+ }
109
+ )
110
+ end
111
+ def to_hash
112
+ end
113
+
114
+ # Default tier for requests that omit service_tier or use auto.
115
+ module Default
116
+ extend OpenAI::Internal::Type::Enum
117
+
118
+ TaggedSymbol = T.type_alias {
119
+ T.all(Symbol, OpenAI::Admin::Organization::Projects::ServiceTierSettingUpdateParams::Default)
120
+ }
121
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
122
+
123
+ STANDARD = T.let(
124
+ :standard,
125
+ OpenAI::Admin::Organization::Projects::ServiceTierSettingUpdateParams::Default::TaggedSymbol
126
+ )
127
+ FAST = T.let(
128
+ :fast,
129
+ OpenAI::Admin::Organization::Projects::ServiceTierSettingUpdateParams::Default::TaggedSymbol
130
+ )
131
+ SCALE = T.let(
132
+ :scale,
133
+ OpenAI::Admin::Organization::Projects::ServiceTierSettingUpdateParams::Default::TaggedSymbol
134
+ )
135
+
136
+ sig {
137
+ override.returns(
138
+ T::Array[OpenAI::Admin::Organization::Projects::ServiceTierSettingUpdateParams::Default::TaggedSymbol]
139
+ )
140
+ }
141
+ def self.values
142
+ end
143
+ end
144
+
145
+ # Additional service tiers enabled for this project. "all" includes future tiers.
146
+ # An empty array allows only Standard. Organization policy and eligibility still
147
+ # apply.
148
+ module EnabledTiers
149
+ extend OpenAI::Internal::Type::Union
150
+
151
+ Variants = T.type_alias {
152
+ T.any(Symbol, T::Array[OpenAI::Admin::Organization::Projects::ProjectOptionalServiceTier::TaggedSymbol])
153
+ }
154
+
155
+ sig {
156
+ override.returns(
157
+ T::Array[
158
+ OpenAI::Admin::Organization::Projects::ServiceTierSettingUpdateParams::EnabledTiers::Variants
159
+ ]
160
+ )
161
+ }
162
+ def self.variants
163
+ end
164
+
165
+ ProjectOptionalServiceTierArray = T.let(
166
+ OpenAI::Internal::Type::ArrayOf[
167
+ enum: -> { OpenAI::Models::Admin::Organization::Projects::ProjectOptionalServiceTier }
168
+ ],
169
+ OpenAI::Internal::Type::Converter
170
+ )
171
+
172
+ end
173
+
174
+ end
175
+
176
+ end
177
+
178
+ end
179
+
180
+ end
181
+
182
+ end
183
+ end