openai 0.116.0 → 0.117.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 (77) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/admin/organization/workload_identity_provider.rb +158 -0
  5. data/lib/openai/models/admin/organization/workload_identity_provider_create_params.rb +143 -0
  6. data/lib/openai/models/admin/organization/workload_identity_provider_delete_params.rb +24 -0
  7. data/lib/openai/models/admin/organization/workload_identity_provider_deleted.rb +32 -0
  8. data/lib/openai/models/admin/organization/workload_identity_provider_list_params.rb +58 -0
  9. data/lib/openai/models/admin/organization/workload_identity_provider_retrieve_params.rb +24 -0
  10. data/lib/openai/models/admin/organization/workload_identity_provider_update_params.rb +143 -0
  11. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule.rb +161 -0
  12. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rb +144 -0
  13. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rb +32 -0
  14. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rb +34 -0
  15. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rb +85 -0
  16. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rb +32 -0
  17. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rb +134 -0
  18. data/lib/openai/models/beta/chatkit/chat_session_workflow_param.rb +5 -3
  19. data/lib/openai/models/beta/chatkit_workflow.rb +5 -3
  20. data/lib/openai/resources/admin/organization/workload_identity_providers/federation_rules.rb +198 -0
  21. data/lib/openai/resources/admin/organization/workload_identity_providers.rb +148 -0
  22. data/lib/openai/resources/admin/organization.rb +6 -0
  23. data/lib/openai/version.rb +1 -1
  24. data/lib/openai.rb +16 -0
  25. data/rbi/openai/models/admin/organization/workload_identity_provider.rbi +288 -0
  26. data/rbi/openai/models/admin/organization/workload_identity_provider_create_params.rbi +311 -0
  27. data/rbi/openai/models/admin/organization/workload_identity_provider_delete_params.rbi +57 -0
  28. data/rbi/openai/models/admin/organization/workload_identity_provider_deleted.rbi +64 -0
  29. data/rbi/openai/models/admin/organization/workload_identity_provider_list_params.rbi +111 -0
  30. data/rbi/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbi +57 -0
  31. data/rbi/openai/models/admin/organization/workload_identity_provider_update_params.rbi +317 -0
  32. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule.rbi +276 -0
  33. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbi +282 -0
  34. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbi +72 -0
  35. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbi +68 -0
  36. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbi +153 -0
  37. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbi +72 -0
  38. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbi +281 -0
  39. data/rbi/openai/models/beta/chatkit/chat_session_workflow_param.rbi +1 -1
  40. data/rbi/openai/models/beta/chatkit_workflow.rbi +1 -1
  41. data/rbi/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbi +148 -0
  42. data/rbi/openai/resources/admin/organization/workload_identity_providers.rbi +123 -0
  43. data/rbi/openai/resources/admin/organization.rbi +3 -0
  44. data/sig/openai/models/admin/organization/external_key_create_params.rbs +9 -9
  45. data/sig/openai/models/admin/organization/workload_identity_provider.rbs +136 -0
  46. data/sig/openai/models/admin/organization/workload_identity_provider_create_params.rbs +140 -0
  47. data/sig/openai/models/admin/organization/workload_identity_provider_delete_params.rbs +30 -0
  48. data/sig/openai/models/admin/organization/workload_identity_provider_deleted.rbs +34 -0
  49. data/sig/openai/models/admin/organization/workload_identity_provider_list_params.rbs +59 -0
  50. data/sig/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbs +30 -0
  51. data/sig/openai/models/admin/organization/workload_identity_provider_update_params.rbs +145 -0
  52. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule.rbs +124 -0
  53. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbs +126 -0
  54. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbs +37 -0
  55. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbs +36 -0
  56. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbs +73 -0
  57. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbs +37 -0
  58. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbs +123 -0
  59. data/sig/openai/models/audio/transcription_create_params.rbs +3 -3
  60. data/sig/openai/models/audio/voice_create_params.rbs +6 -6
  61. data/sig/openai/models/beta/assistant_create_params.rbs +14 -2
  62. data/sig/openai/models/beta/chatkit/chat_session_workflow_param.rbs +1 -1
  63. data/sig/openai/models/beta/chatkit_workflow.rbs +1 -1
  64. data/sig/openai/models/beta/thread_create_and_run_params.rbs +14 -2
  65. data/sig/openai/models/beta/thread_create_params.rbs +14 -2
  66. data/sig/openai/models/decision_create_params.rbs +42 -0
  67. data/sig/openai/models/eval_create_params.rbs +29 -2
  68. data/sig/openai/models/evals/run_create_params.rbs +53 -2
  69. data/sig/openai/resources/admin/organization/external_keys.rbs +3 -3
  70. data/sig/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbs +61 -0
  71. data/sig/openai/resources/admin/organization/workload_identity_providers.rbs +58 -0
  72. data/sig/openai/resources/admin/organization.rbs +2 -0
  73. data/sig/openai/resources/audio/transcriptions.rbs +2 -2
  74. data/sig/openai/resources/audio/voices.rbs +2 -2
  75. data/sig/openai/resources/decisions.rbs +14 -0
  76. data/sig/openai/resources/evals.rbs +8 -1
  77. metadata +49 -1
@@ -0,0 +1,153 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Admin
7
+
8
+ module Organization
9
+
10
+ module WorkloadIdentityProviders
11
+
12
+ class FederationRuleListParams < 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::WorkloadIdentityProviders::FederationRuleListParams,
20
+ OpenAI::Internal::AnyHash
21
+ )
22
+ end
23
+
24
+ sig { returns(String) }
25
+ attr_accessor :workload_identity_provider_id
26
+
27
+ sig { returns(T.nilable(String)) }
28
+ attr_reader :after
29
+
30
+ sig { params(after: String).void }
31
+ attr_writer :after
32
+
33
+ sig { returns(T.nilable(Integer)) }
34
+ attr_reader :limit
35
+
36
+ sig { params(limit: Integer).void }
37
+ attr_writer :limit
38
+
39
+ sig {
40
+ returns(
41
+ T.nilable(
42
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::OrSymbol
43
+ )
44
+ )
45
+ }
46
+ attr_reader :order
47
+
48
+ sig {
49
+ params(
50
+ order: OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::OrSymbol
51
+ )
52
+ .void
53
+ }
54
+ attr_writer :order
55
+
56
+ sig { returns(T.nilable(String)) }
57
+ attr_reader :service_account_id
58
+
59
+ sig { params(service_account_id: String).void }
60
+ attr_writer :service_account_id
61
+
62
+ sig do
63
+ params(
64
+
65
+ workload_identity_provider_id: String,
66
+
67
+ after: String,
68
+
69
+ limit: Integer,
70
+
71
+ order: OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::OrSymbol,
72
+
73
+ service_account_id: String,
74
+
75
+ request_options: OpenAI::RequestOptions::OrHash
76
+ )
77
+ .returns(T.attached_class)
78
+ end
79
+ def self.new(
80
+
81
+ workload_identity_provider_id:,
82
+
83
+ after: nil,
84
+
85
+ limit: nil,
86
+
87
+ order: nil,
88
+
89
+ service_account_id: nil,
90
+
91
+ request_options: {}
92
+ )
93
+ end
94
+
95
+ sig do
96
+ override.returns(
97
+ {
98
+ workload_identity_provider_id: String,
99
+ after: String,
100
+ limit: Integer,
101
+ order: OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::OrSymbol,
102
+ service_account_id: String,
103
+ request_options: OpenAI::RequestOptions
104
+ }
105
+ )
106
+ end
107
+ def to_hash
108
+ end
109
+
110
+ module Order
111
+ extend OpenAI::Internal::Type::Union
112
+
113
+ Variants = T.type_alias {
114
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::TaggedSymbol
115
+ }
116
+
117
+ sig {
118
+ override.returns(
119
+ T::Array[
120
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::Variants
121
+ ]
122
+ )
123
+ }
124
+ def self.variants
125
+ end
126
+
127
+ TaggedSymbol = T.type_alias do
128
+ T.all(Symbol, OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order)
129
+ end
130
+
131
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
132
+
133
+ ASC = T.let(
134
+ :asc,
135
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::TaggedSymbol
136
+ )
137
+ DESC = T.let(
138
+ :desc,
139
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::TaggedSymbol
140
+ )
141
+
142
+ end
143
+
144
+ end
145
+
146
+ end
147
+
148
+ end
149
+
150
+ end
151
+
152
+ end
153
+ end
@@ -0,0 +1,72 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Admin
7
+
8
+ module Organization
9
+
10
+ module WorkloadIdentityProviders
11
+
12
+ class FederationRuleRetrieveParams < 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::WorkloadIdentityProviders::FederationRuleRetrieveParams,
20
+ OpenAI::Internal::AnyHash
21
+ )
22
+ end
23
+
24
+ sig { returns(String) }
25
+ attr_accessor :workload_identity_provider_id
26
+
27
+ sig { returns(String) }
28
+ attr_accessor :workload_identity_federation_rule_id
29
+
30
+ sig do
31
+ params(
32
+
33
+ workload_identity_provider_id: String,
34
+
35
+ workload_identity_federation_rule_id: String,
36
+
37
+ request_options: OpenAI::RequestOptions::OrHash
38
+ )
39
+ .returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+
43
+ workload_identity_provider_id:,
44
+
45
+ workload_identity_federation_rule_id:,
46
+
47
+ request_options: {}
48
+ )
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ workload_identity_provider_id: String,
55
+ workload_identity_federation_rule_id: String,
56
+ request_options: OpenAI::RequestOptions
57
+ }
58
+ )
59
+ end
60
+ def to_hash
61
+ end
62
+
63
+ end
64
+
65
+ end
66
+
67
+ end
68
+
69
+ end
70
+
71
+ end
72
+ end
@@ -0,0 +1,281 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Admin
7
+
8
+ module Organization
9
+
10
+ module WorkloadIdentityProviders
11
+
12
+ class FederationRuleUpdateParams < 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::WorkloadIdentityProviders::FederationRuleUpdateParams,
20
+ OpenAI::Internal::AnyHash
21
+ )
22
+ end
23
+
24
+ sig { returns(String) }
25
+ attr_accessor :workload_identity_provider_id
26
+
27
+ sig { returns(String) }
28
+ attr_accessor :workload_identity_federation_rule_id
29
+
30
+ sig {
31
+ returns(
32
+ T.nilable(
33
+ T::Hash[
34
+ Symbol,
35
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::AttributeMatcher::Variants
36
+ ]
37
+ )
38
+ )
39
+ }
40
+ attr_reader :attribute_matchers
41
+
42
+ sig {
43
+ params(
44
+ attribute_matchers: T::Hash[
45
+ Symbol,
46
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::AttributeMatcher::Variants
47
+ ]
48
+ )
49
+ .void
50
+ }
51
+ attr_writer :attribute_matchers
52
+
53
+ sig { returns(T.nilable(String)) }
54
+ attr_accessor :description
55
+
56
+ sig { returns(T.nilable(T::Boolean)) }
57
+ attr_reader :enabled
58
+
59
+ sig { params(enabled: T::Boolean).void }
60
+ attr_writer :enabled
61
+
62
+ sig { returns(T.nilable(String)) }
63
+ attr_accessor :name
64
+
65
+ sig {
66
+ returns(
67
+ T.nilable(
68
+ T.any(
69
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam,
70
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam
71
+ )
72
+ )
73
+ )
74
+ }
75
+ attr_reader :permissions
76
+
77
+ sig {
78
+ params(
79
+ permissions: T.any(
80
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam::OrHash,
81
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam::OrHash
82
+ )
83
+ )
84
+ .void
85
+ }
86
+ attr_writer :permissions
87
+
88
+ sig do
89
+ params(
90
+
91
+ workload_identity_provider_id: String,
92
+
93
+ workload_identity_federation_rule_id: String,
94
+
95
+ attribute_matchers: T::Hash[
96
+ Symbol,
97
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::AttributeMatcher::Variants
98
+ ],
99
+
100
+ description: T.nilable(String),
101
+
102
+ enabled: T::Boolean,
103
+
104
+ name: T.nilable(String),
105
+
106
+ permissions: T.any(
107
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam::OrHash,
108
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam::OrHash
109
+ ),
110
+
111
+ request_options: OpenAI::RequestOptions::OrHash
112
+ )
113
+ .returns(T.attached_class)
114
+ end
115
+ def self.new(
116
+
117
+ workload_identity_provider_id:,
118
+
119
+ workload_identity_federation_rule_id:,
120
+
121
+ attribute_matchers: nil,
122
+
123
+ description: nil,
124
+
125
+ enabled: nil,
126
+
127
+ name: nil,
128
+
129
+ permissions: nil,
130
+
131
+ request_options: {}
132
+ )
133
+ end
134
+
135
+ sig do
136
+ override.returns(
137
+ {
138
+ workload_identity_provider_id: String,
139
+ workload_identity_federation_rule_id: String,
140
+ attribute_matchers: T::Hash[
141
+ Symbol,
142
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::AttributeMatcher::Variants
143
+ ],
144
+ description: T.nilable(String),
145
+ enabled: T::Boolean,
146
+ name: T.nilable(String),
147
+ permissions: T.any(
148
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam,
149
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam
150
+ ),
151
+ request_options: OpenAI::RequestOptions
152
+ }
153
+ )
154
+ end
155
+ def to_hash
156
+ end
157
+
158
+ module AttributeMatcher
159
+ extend OpenAI::Internal::Type::Union
160
+
161
+ Variants = T.type_alias { T.any(String, T::Boolean, Integer, Float) }
162
+
163
+ sig {
164
+ override.returns(
165
+ T::Array[
166
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::AttributeMatcher::Variants
167
+ ]
168
+ )
169
+ }
170
+ def self.variants
171
+ end
172
+
173
+ end
174
+
175
+ module Permissions
176
+ extend OpenAI::Internal::Type::Union
177
+
178
+ Variants = T.type_alias {
179
+ T.any(
180
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam,
181
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam
182
+ )
183
+ }
184
+
185
+ class DefaultPermissionsParam < OpenAI::Internal::Type::BaseModel
186
+ OrHash = T.type_alias do
187
+ T.any(
188
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam,
189
+ OpenAI::Internal::AnyHash
190
+ )
191
+ end
192
+
193
+ sig { returns(Symbol) }
194
+ attr_accessor :type
195
+
196
+ sig do
197
+ params(
198
+
199
+ type: Symbol
200
+ )
201
+ .returns(T.attached_class)
202
+ end
203
+ def self.new(
204
+
205
+ type: :service_account_default
206
+ )
207
+ end
208
+
209
+ sig do
210
+ override.returns(
211
+ {type: Symbol}
212
+ )
213
+ end
214
+ def to_hash
215
+ end
216
+
217
+ end
218
+
219
+ class RestrictedPermissionsParam < OpenAI::Internal::Type::BaseModel
220
+ OrHash = T.type_alias do
221
+ T.any(
222
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam,
223
+ OpenAI::Internal::AnyHash
224
+ )
225
+ end
226
+
227
+ sig { returns(T::Array[String]) }
228
+ attr_accessor :scopes
229
+
230
+ sig { returns(Symbol) }
231
+ attr_accessor :type
232
+
233
+ sig do
234
+ params(
235
+
236
+ scopes: T::Array[String],
237
+
238
+ type: Symbol
239
+ )
240
+ .returns(T.attached_class)
241
+ end
242
+ def self.new(
243
+
244
+ scopes:,
245
+
246
+ type: :restricted
247
+ )
248
+ end
249
+
250
+ sig do
251
+ override.returns(
252
+ {scopes: T::Array[String], type: Symbol}
253
+ )
254
+ end
255
+ def to_hash
256
+ end
257
+
258
+ end
259
+
260
+ sig {
261
+ override.returns(
262
+ T::Array[
263
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::Variants
264
+ ]
265
+ )
266
+ }
267
+ def self.variants
268
+ end
269
+
270
+ end
271
+
272
+ end
273
+
274
+ end
275
+
276
+ end
277
+
278
+ end
279
+
280
+ end
281
+ end
@@ -104,7 +104,7 @@ module OpenAI
104
104
  module StateVariable
105
105
  extend OpenAI::Internal::Type::Union
106
106
 
107
- Variants = T.type_alias { T.any(String, T::Boolean, Float) }
107
+ Variants = T.type_alias { T.any(String, Integer, T::Boolean, Float) }
108
108
 
109
109
  sig {
110
110
  override.returns(T::Array[OpenAI::Beta::ChatKit::ChatSessionWorkflowParam::StateVariable::Variants])
@@ -84,7 +84,7 @@ module OpenAI
84
84
  module StateVariable
85
85
  extend OpenAI::Internal::Type::Union
86
86
 
87
- Variants = T.type_alias { T.any(String, T::Boolean, Float) }
87
+ Variants = T.type_alias { T.any(String, Integer, T::Boolean, Float) }
88
88
 
89
89
  sig { override.returns(T::Array[OpenAI::Beta::ChatKitWorkflow::StateVariable::Variants]) }
90
90
  def self.variants
@@ -0,0 +1,148 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Resources
5
+
6
+ class Admin
7
+
8
+ class Organization
9
+
10
+ class WorkloadIdentityProviders
11
+
12
+ class FederationRules
13
+
14
+ # Bind verified token attributes to an existing project service account.
15
+ sig {
16
+ params(
17
+ workload_identity_provider_id: String,
18
+ attribute_matchers: T::Hash[
19
+ Symbol,
20
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::AttributeMatcher::Variants
21
+ ],
22
+ project_id: String,
23
+ service_account_id: String,
24
+ description: String,
25
+ enabled: T::Boolean,
26
+ name: String,
27
+ permissions: T.any(
28
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::Permissions::ServiceAccountDefault::OrHash,
29
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::Permissions::Restricted::OrHash
30
+ ),
31
+ request_options: OpenAI::RequestOptions::OrHash
32
+ )
33
+ .returns(OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRule)
34
+ }
35
+ def create(
36
+ workload_identity_provider_id,
37
+ attribute_matchers:,
38
+ project_id:,
39
+ service_account_id:,
40
+ description: nil,
41
+ enabled: nil,
42
+ name: nil,
43
+ permissions: nil,
44
+ request_options: {}
45
+ )
46
+ end
47
+
48
+ # Retrieve a federation rule owned by the authenticated organization and provider.
49
+ sig {
50
+ params(
51
+ workload_identity_federation_rule_id: String,
52
+ workload_identity_provider_id: String,
53
+ request_options: OpenAI::RequestOptions::OrHash
54
+ )
55
+ .returns(OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRule)
56
+ }
57
+ def retrieve(workload_identity_federation_rule_id, workload_identity_provider_id:, request_options: {})
58
+ end
59
+
60
+ # Update supplied matcher, permission, metadata, or enabled fields.
61
+ sig {
62
+ params(
63
+ workload_identity_federation_rule_id: String,
64
+ workload_identity_provider_id: String,
65
+ attribute_matchers: T::Hash[
66
+ Symbol,
67
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::AttributeMatcher::Variants
68
+ ],
69
+ description: T.nilable(String),
70
+ enabled: T::Boolean,
71
+ name: T.nilable(String),
72
+ permissions: T.any(
73
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam::OrHash,
74
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam::OrHash
75
+ ),
76
+ request_options: OpenAI::RequestOptions::OrHash
77
+ )
78
+ .returns(OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRule)
79
+ }
80
+ def update(
81
+ # Path param
82
+ workload_identity_federation_rule_id,
83
+ # Path param
84
+ workload_identity_provider_id:,
85
+ # Body param
86
+ attribute_matchers: nil,
87
+ # Body param
88
+ description: nil,
89
+ # Body param
90
+ enabled: nil,
91
+ # Body param
92
+ name: nil,
93
+ # Body param
94
+ permissions: nil,
95
+ request_options: {}
96
+ )
97
+ end
98
+
99
+ # List the provider's federation rules to project service accounts.
100
+ sig {
101
+ params(
102
+ workload_identity_provider_id: String,
103
+ after: String,
104
+ limit: Integer,
105
+ order: OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::OrSymbol,
106
+ service_account_id: String,
107
+ request_options: OpenAI::RequestOptions::OrHash
108
+ )
109
+ .returns(
110
+ OpenAI::Internal::CursorPage[OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRule]
111
+ )
112
+ }
113
+ def list(
114
+ workload_identity_provider_id,
115
+ after: nil,
116
+ limit: nil,
117
+ order: nil,
118
+ service_account_id: nil,
119
+ request_options: {}
120
+ )
121
+ end
122
+
123
+ # Delete a federation rule to a project service account.
124
+ sig {
125
+ params(
126
+ workload_identity_federation_rule_id: String,
127
+ workload_identity_provider_id: String,
128
+ request_options: OpenAI::RequestOptions::OrHash
129
+ )
130
+ .returns(OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleDeleted)
131
+ }
132
+ def delete(workload_identity_federation_rule_id, workload_identity_provider_id:, request_options: {})
133
+ end
134
+
135
+ # @api private
136
+ sig { params(client: OpenAI::Client).returns(T.attached_class) }
137
+ def self.new(client:)
138
+ end
139
+ end
140
+
141
+ end
142
+
143
+ end
144
+
145
+ end
146
+
147
+ end
148
+ end