openai 0.115.1 → 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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/openai/helpers/responses_websocket/incremental.rb +500 -154
  5. data/lib/openai/helpers/responses_websocket/session.rb +75 -2
  6. data/lib/openai/models/admin/organization/workload_identity_provider.rb +158 -0
  7. data/lib/openai/models/admin/organization/workload_identity_provider_create_params.rb +143 -0
  8. data/lib/openai/models/admin/organization/workload_identity_provider_delete_params.rb +24 -0
  9. data/lib/openai/models/admin/organization/workload_identity_provider_deleted.rb +32 -0
  10. data/lib/openai/models/admin/organization/workload_identity_provider_list_params.rb +58 -0
  11. data/lib/openai/models/admin/organization/workload_identity_provider_retrieve_params.rb +24 -0
  12. data/lib/openai/models/admin/organization/workload_identity_provider_update_params.rb +143 -0
  13. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule.rb +161 -0
  14. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rb +144 -0
  15. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rb +32 -0
  16. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rb +34 -0
  17. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rb +85 -0
  18. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rb +32 -0
  19. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rb +134 -0
  20. data/lib/openai/models/beta/chatkit/chat_session_workflow_param.rb +5 -3
  21. data/lib/openai/models/beta/chatkit_workflow.rb +5 -3
  22. data/lib/openai/models/live/responses_delegation_config.rb +999 -6
  23. data/lib/openai/models/live/responses_delegation_update_config.rb +1043 -6
  24. data/lib/openai/resources/admin/organization/workload_identity_providers/federation_rules.rb +198 -0
  25. data/lib/openai/resources/admin/organization/workload_identity_providers.rb +148 -0
  26. data/lib/openai/resources/admin/organization.rb +6 -0
  27. data/lib/openai/version.rb +1 -1
  28. data/lib/openai.rb +16 -0
  29. data/rbi/openai/helpers/responses_websocket/incremental.rbi +4 -0
  30. data/rbi/openai/models/admin/organization/workload_identity_provider.rbi +288 -0
  31. data/rbi/openai/models/admin/organization/workload_identity_provider_create_params.rbi +311 -0
  32. data/rbi/openai/models/admin/organization/workload_identity_provider_delete_params.rbi +57 -0
  33. data/rbi/openai/models/admin/organization/workload_identity_provider_deleted.rbi +64 -0
  34. data/rbi/openai/models/admin/organization/workload_identity_provider_list_params.rbi +111 -0
  35. data/rbi/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbi +57 -0
  36. data/rbi/openai/models/admin/organization/workload_identity_provider_update_params.rbi +317 -0
  37. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule.rbi +276 -0
  38. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbi +282 -0
  39. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbi +72 -0
  40. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbi +68 -0
  41. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbi +153 -0
  42. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbi +72 -0
  43. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbi +281 -0
  44. data/rbi/openai/models/beta/chatkit/chat_session_workflow_param.rbi +1 -1
  45. data/rbi/openai/models/beta/chatkit_workflow.rbi +1 -1
  46. data/rbi/openai/models/live/responses_delegation_config.rbi +2253 -24
  47. data/rbi/openai/models/live/responses_delegation_update_config.rbi +2327 -24
  48. data/rbi/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbi +148 -0
  49. data/rbi/openai/resources/admin/organization/workload_identity_providers.rbi +123 -0
  50. data/rbi/openai/resources/admin/organization.rbi +3 -0
  51. data/responses-websocket.md +40 -2
  52. data/sig/openai/helpers/responses_websocket/incremental.rbs +1 -0
  53. data/sig/openai/models/admin/organization/external_key_create_params.rbs +9 -9
  54. data/sig/openai/models/admin/organization/workload_identity_provider.rbs +136 -0
  55. data/sig/openai/models/admin/organization/workload_identity_provider_create_params.rbs +140 -0
  56. data/sig/openai/models/admin/organization/workload_identity_provider_delete_params.rbs +30 -0
  57. data/sig/openai/models/admin/organization/workload_identity_provider_deleted.rbs +34 -0
  58. data/sig/openai/models/admin/organization/workload_identity_provider_list_params.rbs +59 -0
  59. data/sig/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbs +30 -0
  60. data/sig/openai/models/admin/organization/workload_identity_provider_update_params.rbs +145 -0
  61. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule.rbs +124 -0
  62. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbs +126 -0
  63. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbs +37 -0
  64. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbs +36 -0
  65. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbs +73 -0
  66. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbs +37 -0
  67. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbs +123 -0
  68. data/sig/openai/models/audio/transcription_create_params.rbs +3 -3
  69. data/sig/openai/models/audio/voice_create_params.rbs +6 -6
  70. data/sig/openai/models/beta/assistant_create_params.rbs +14 -2
  71. data/sig/openai/models/beta/chatkit/chat_session_workflow_param.rbs +1 -1
  72. data/sig/openai/models/beta/chatkit_workflow.rbs +1 -1
  73. data/sig/openai/models/beta/thread_create_and_run_params.rbs +14 -2
  74. data/sig/openai/models/beta/thread_create_params.rbs +14 -2
  75. data/sig/openai/models/decision_create_params.rbs +42 -0
  76. data/sig/openai/models/eval_create_params.rbs +29 -2
  77. data/sig/openai/models/evals/run_create_params.rbs +53 -2
  78. data/sig/openai/models/live/responses_delegation_config.rbs +851 -0
  79. data/sig/openai/models/live/responses_delegation_update_config.rbs +871 -0
  80. data/sig/openai/resources/admin/organization/external_keys.rbs +3 -3
  81. data/sig/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbs +61 -0
  82. data/sig/openai/resources/admin/organization/workload_identity_providers.rbs +58 -0
  83. data/sig/openai/resources/admin/organization.rbs +2 -0
  84. data/sig/openai/resources/audio/transcriptions.rbs +2 -2
  85. data/sig/openai/resources/audio/voices.rbs +2 -2
  86. data/sig/openai/resources/decisions.rbs +14 -0
  87. data/sig/openai/resources/evals.rbs +8 -1
  88. metadata +49 -1
@@ -0,0 +1,140 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ type workload_identity_provider_create_params =
6
+ {
7
+ audience: String,
8
+ issuer: String,
9
+ name: String,
10
+ ?type: :oidc,
11
+ ?attribute_transformations: ::Array[OpenAI::Admin::Organization::WorkloadIdentityProviderCreateParams::AttributeTransformation],
12
+ ?description: String,
13
+ ?enabled: bool,
14
+ ?verification: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::verification,
15
+ ?request_options: OpenAI::request_opts
16
+ }
17
+
18
+ class WorkloadIdentityProviderCreateParams < OpenAI::Internal::Type::BaseModel
19
+ extend OpenAI::Internal::Type::RequestParameters::Converter
20
+ include OpenAI::Internal::Type::RequestParameters
21
+
22
+ attr_accessor audience: String
23
+
24
+ attr_accessor issuer: String
25
+
26
+ attr_accessor name: String
27
+
28
+ attr_accessor type: :oidc
29
+
30
+ attr_reader attribute_transformations: ::Array[OpenAI::Admin::Organization::WorkloadIdentityProviderCreateParams::AttributeTransformation]?
31
+
32
+ def attribute_transformations=: (
33
+ ::Array[OpenAI::Admin::Organization::WorkloadIdentityProviderCreateParams::AttributeTransformation]
34
+ ) -> ::Array[OpenAI::Admin::Organization::WorkloadIdentityProviderCreateParams::AttributeTransformation]
35
+
36
+ attr_reader description: String?
37
+
38
+ def description=: (String) -> String
39
+
40
+ attr_reader enabled: bool?
41
+
42
+ def enabled=: (bool) -> bool
43
+
44
+ attr_reader verification: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::verification?
45
+
46
+ def verification=: (
47
+ OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::verification
48
+ | { discovery_url: String?, type: :discovery }
49
+ | { jwks: ::Hash[Symbol, top], type: :uploaded_jwks }
50
+ ) -> (OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::verification
51
+ | { discovery_url: String?, type: :discovery }
52
+ | { jwks: ::Hash[Symbol, top], type: :uploaded_jwks })
53
+
54
+ def initialize: (
55
+ audience: String,
56
+ issuer: String,
57
+ name: String,
58
+ ?attribute_transformations: ::Array[OpenAI::Admin::Organization::WorkloadIdentityProviderCreateParams::AttributeTransformation],
59
+ ?description: String,
60
+ ?enabled: bool,
61
+ ?verification: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::verification
62
+ | { discovery_url: String?, type: :discovery }
63
+ | { jwks: ::Hash[Symbol, top], type: :uploaded_jwks },
64
+ ?type: :oidc,
65
+ ?request_options: OpenAI::request_opts
66
+ ) -> void
67
+
68
+ def to_hash: -> {
69
+ audience: String,
70
+ issuer: String,
71
+ name: String,
72
+ ?type: :oidc,
73
+ ?attribute_transformations: ::Array[OpenAI::Admin::Organization::WorkloadIdentityProviderCreateParams::AttributeTransformation],
74
+ ?description: String,
75
+ ?enabled: bool,
76
+ ?verification: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::verification,
77
+ ?request_options: OpenAI::RequestOptions
78
+ }
79
+
80
+ type attribute_transformation =
81
+ { attribute: String, expression: String }
82
+
83
+ class AttributeTransformation < OpenAI::Internal::Type::BaseModel
84
+ attr_accessor attribute: String
85
+
86
+ attr_accessor expression: String
87
+
88
+ def initialize: (attribute: String, expression: String) -> void
89
+
90
+ def to_hash: -> { attribute: String, expression: String }
91
+ end
92
+
93
+ type verification =
94
+ OpenAI::Admin::Organization::WorkloadIdentityProviderCreateParams::Verification::Discovery
95
+ | OpenAI::Admin::Organization::WorkloadIdentityProviderCreateParams::Verification::UploadedJwks
96
+
97
+ module Verification
98
+ extend OpenAI::Internal::Type::Union
99
+
100
+ type discovery = { discovery_url: String?, ?type: :discovery }
101
+
102
+ class Discovery < OpenAI::Internal::Type::BaseModel
103
+ attr_accessor discovery_url: String?
104
+
105
+ attr_accessor type: :discovery
106
+
107
+ def initialize: (
108
+ discovery_url: String?,
109
+ ?type: :discovery
110
+ ) -> void
111
+
112
+ def to_hash: -> { discovery_url: String?, ?type: :discovery }
113
+ end
114
+
115
+ type uploaded_jwks =
116
+ { jwks: ::Hash[Symbol, top], ?type: :uploaded_jwks }
117
+
118
+ class UploadedJwks < OpenAI::Internal::Type::BaseModel
119
+ attr_accessor jwks: ::Hash[Symbol, top]
120
+
121
+ attr_accessor type: :uploaded_jwks
122
+
123
+ def initialize: (
124
+ jwks: ::Hash[Symbol, top],
125
+ ?type: :uploaded_jwks
126
+ ) -> void
127
+
128
+ def to_hash: -> {
129
+ jwks: ::Hash[Symbol, top],
130
+ ?type: :uploaded_jwks
131
+ }
132
+ end
133
+
134
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::verification]
135
+ end
136
+ end
137
+ end
138
+ end
139
+ end
140
+ end
@@ -0,0 +1,30 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ type workload_identity_provider_delete_params =
6
+ {
7
+ workload_identity_provider_id: String,
8
+ ?request_options: OpenAI::request_opts
9
+ }
10
+
11
+ class WorkloadIdentityProviderDeleteParams < OpenAI::Internal::Type::BaseModel
12
+ extend OpenAI::Internal::Type::RequestParameters::Converter
13
+ include OpenAI::Internal::Type::RequestParameters
14
+
15
+ attr_accessor workload_identity_provider_id: String
16
+
17
+ def initialize: (
18
+ workload_identity_provider_id: String,
19
+ ?request_options: OpenAI::request_opts
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ workload_identity_provider_id: String,
24
+ ?request_options: OpenAI::RequestOptions
25
+ }
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,34 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ type workload_identity_provider_deleted =
6
+ {
7
+ id: String,
8
+ deleted: bool,
9
+ ?object: :"organization.workload_identity_provider.deleted"
10
+ }
11
+
12
+ class WorkloadIdentityProviderDeleted < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor id: String
14
+
15
+ attr_accessor deleted: bool
16
+
17
+ attr_accessor object: :"organization.workload_identity_provider.deleted"
18
+
19
+ def initialize: (
20
+ id: String,
21
+ deleted: bool,
22
+ ?object: :"organization.workload_identity_provider.deleted"
23
+ ) -> void
24
+
25
+ def to_hash: -> {
26
+ id: String,
27
+ deleted: bool,
28
+ ?object: :"organization.workload_identity_provider.deleted"
29
+ }
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,59 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ type workload_identity_provider_list_params =
6
+ {
7
+ ?after: String,
8
+ ?limit: Integer,
9
+ ?order: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderListParams::order,
10
+ ?request_options: OpenAI::request_opts
11
+ }
12
+
13
+ class WorkloadIdentityProviderListParams < OpenAI::Internal::Type::BaseModel
14
+ extend OpenAI::Internal::Type::RequestParameters::Converter
15
+ include OpenAI::Internal::Type::RequestParameters
16
+
17
+ attr_reader after: String?
18
+
19
+ def after=: (String) -> String
20
+
21
+ attr_reader limit: Integer?
22
+
23
+ def limit=: (Integer) -> Integer
24
+
25
+ attr_reader order: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderListParams::order?
26
+
27
+ def order=: (
28
+ OpenAI::Models::Admin::Organization::WorkloadIdentityProviderListParams::order
29
+ ) -> OpenAI::Models::Admin::Organization::WorkloadIdentityProviderListParams::order
30
+
31
+ def initialize: (
32
+ ?after: String,
33
+ ?limit: Integer,
34
+ ?order: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderListParams::order,
35
+ ?request_options: OpenAI::request_opts
36
+ ) -> void
37
+
38
+ def to_hash: -> {
39
+ ?after: String,
40
+ ?limit: Integer,
41
+ ?order: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderListParams::order,
42
+ ?request_options: OpenAI::RequestOptions
43
+ }
44
+
45
+ type order = :asc | :desc
46
+
47
+ module Order
48
+ extend OpenAI::Internal::Type::Union
49
+
50
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::WorkloadIdentityProviderListParams::order]
51
+
52
+ ASC: :asc
53
+ DESC: :desc
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,30 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ type workload_identity_provider_retrieve_params =
6
+ {
7
+ workload_identity_provider_id: String,
8
+ ?request_options: OpenAI::request_opts
9
+ }
10
+
11
+ class WorkloadIdentityProviderRetrieveParams < OpenAI::Internal::Type::BaseModel
12
+ extend OpenAI::Internal::Type::RequestParameters::Converter
13
+ include OpenAI::Internal::Type::RequestParameters
14
+
15
+ attr_accessor workload_identity_provider_id: String
16
+
17
+ def initialize: (
18
+ workload_identity_provider_id: String,
19
+ ?request_options: OpenAI::request_opts
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ workload_identity_provider_id: String,
24
+ ?request_options: OpenAI::RequestOptions
25
+ }
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,145 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ type workload_identity_provider_update_params =
6
+ {
7
+ workload_identity_provider_id: String,
8
+ ?attribute_transformations: ::Array[OpenAI::Admin::Organization::WorkloadIdentityProviderUpdateParams::AttributeTransformation],
9
+ ?audience: String,
10
+ ?description: String?,
11
+ ?enabled: bool,
12
+ ?issuer: String,
13
+ ?name: String,
14
+ ?verification: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderUpdateParams::verification,
15
+ ?request_options: OpenAI::request_opts
16
+ }
17
+
18
+ class WorkloadIdentityProviderUpdateParams < OpenAI::Internal::Type::BaseModel
19
+ extend OpenAI::Internal::Type::RequestParameters::Converter
20
+ include OpenAI::Internal::Type::RequestParameters
21
+
22
+ attr_accessor workload_identity_provider_id: String
23
+
24
+ attr_reader attribute_transformations: ::Array[OpenAI::Admin::Organization::WorkloadIdentityProviderUpdateParams::AttributeTransformation]?
25
+
26
+ def attribute_transformations=: (
27
+ ::Array[OpenAI::Admin::Organization::WorkloadIdentityProviderUpdateParams::AttributeTransformation]
28
+ ) -> ::Array[OpenAI::Admin::Organization::WorkloadIdentityProviderUpdateParams::AttributeTransformation]
29
+
30
+ attr_reader audience: String?
31
+
32
+ def audience=: (String) -> String
33
+
34
+ attr_accessor description: String?
35
+
36
+ attr_reader enabled: bool?
37
+
38
+ def enabled=: (bool) -> bool
39
+
40
+ attr_reader issuer: String?
41
+
42
+ def issuer=: (String) -> String
43
+
44
+ attr_reader name: String?
45
+
46
+ def name=: (String) -> String
47
+
48
+ attr_reader verification: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderUpdateParams::verification?
49
+
50
+ def verification=: (
51
+ OpenAI::Models::Admin::Organization::WorkloadIdentityProviderUpdateParams::verification
52
+ | { discovery_url: String?, type: :discovery }
53
+ | { jwks: ::Hash[Symbol, top], type: :uploaded_jwks }
54
+ ) -> (OpenAI::Models::Admin::Organization::WorkloadIdentityProviderUpdateParams::verification
55
+ | { discovery_url: String?, type: :discovery }
56
+ | { jwks: ::Hash[Symbol, top], type: :uploaded_jwks })
57
+
58
+ def initialize: (
59
+ workload_identity_provider_id: String,
60
+ ?attribute_transformations: ::Array[OpenAI::Admin::Organization::WorkloadIdentityProviderUpdateParams::AttributeTransformation],
61
+ ?audience: String,
62
+ ?description: String?,
63
+ ?enabled: bool,
64
+ ?issuer: String,
65
+ ?name: String,
66
+ ?verification: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderUpdateParams::verification
67
+ | { discovery_url: String?, type: :discovery }
68
+ | { jwks: ::Hash[Symbol, top], type: :uploaded_jwks },
69
+ ?request_options: OpenAI::request_opts
70
+ ) -> void
71
+
72
+ def to_hash: -> {
73
+ workload_identity_provider_id: String,
74
+ ?attribute_transformations: ::Array[OpenAI::Admin::Organization::WorkloadIdentityProviderUpdateParams::AttributeTransformation],
75
+ ?audience: String,
76
+ ?description: String?,
77
+ ?enabled: bool,
78
+ ?issuer: String,
79
+ ?name: String,
80
+ ?verification: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderUpdateParams::verification,
81
+ ?request_options: OpenAI::RequestOptions
82
+ }
83
+
84
+ type attribute_transformation =
85
+ { attribute: String, expression: String }
86
+
87
+ class AttributeTransformation < OpenAI::Internal::Type::BaseModel
88
+ attr_accessor attribute: String
89
+
90
+ attr_accessor expression: String
91
+
92
+ def initialize: (attribute: String, expression: String) -> void
93
+
94
+ def to_hash: -> { attribute: String, expression: String }
95
+ end
96
+
97
+ type verification =
98
+ OpenAI::Admin::Organization::WorkloadIdentityProviderUpdateParams::Verification::DiscoveryVerificationParam
99
+ | OpenAI::Admin::Organization::WorkloadIdentityProviderUpdateParams::Verification::UploadedJwksVerificationParam
100
+
101
+ module Verification
102
+ extend OpenAI::Internal::Type::Union
103
+
104
+ type discovery_verification_param =
105
+ { discovery_url: String?, ?type: :discovery }
106
+
107
+ class DiscoveryVerificationParam < OpenAI::Internal::Type::BaseModel
108
+ attr_accessor discovery_url: String?
109
+
110
+ attr_accessor type: :discovery
111
+
112
+ def initialize: (
113
+ discovery_url: String?,
114
+ ?type: :discovery
115
+ ) -> void
116
+
117
+ def to_hash: -> { discovery_url: String?, ?type: :discovery }
118
+ end
119
+
120
+ type uploaded_jwks_verification_param =
121
+ { jwks: ::Hash[Symbol, top], ?type: :uploaded_jwks }
122
+
123
+ class UploadedJwksVerificationParam < OpenAI::Internal::Type::BaseModel
124
+ attr_accessor jwks: ::Hash[Symbol, top]
125
+
126
+ attr_accessor type: :uploaded_jwks
127
+
128
+ def initialize: (
129
+ jwks: ::Hash[Symbol, top],
130
+ ?type: :uploaded_jwks
131
+ ) -> void
132
+
133
+ def to_hash: -> {
134
+ jwks: ::Hash[Symbol, top],
135
+ ?type: :uploaded_jwks
136
+ }
137
+ end
138
+
139
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::WorkloadIdentityProviderUpdateParams::verification]
140
+ end
141
+ end
142
+ end
143
+ end
144
+ end
145
+ end
@@ -0,0 +1,124 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ module WorkloadIdentityProviders
6
+ type federation_rule =
7
+ {
8
+ id: String,
9
+ attribute_matchers: ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRule::attribute_matcher],
10
+ created_at: Integer,
11
+ description: String?,
12
+ enabled: bool,
13
+ name: String?,
14
+ ?object: :"organization.workload_identity_federation_rule",
15
+ permissions: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRule::permissions,
16
+ project_id: String,
17
+ service_account_id: String,
18
+ updated_at: Integer,
19
+ workload_identity_provider_id: String
20
+ }
21
+
22
+ class FederationRule < OpenAI::Internal::Type::BaseModel
23
+ attr_accessor id: String
24
+
25
+ attr_accessor attribute_matchers: ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRule::attribute_matcher]
26
+
27
+ attr_accessor created_at: Integer
28
+
29
+ attr_accessor description: String?
30
+
31
+ attr_accessor enabled: bool
32
+
33
+ attr_accessor name: String?
34
+
35
+ attr_accessor object: :"organization.workload_identity_federation_rule"
36
+
37
+ attr_accessor permissions: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRule::permissions
38
+
39
+ attr_accessor project_id: String
40
+
41
+ attr_accessor service_account_id: String
42
+
43
+ attr_accessor updated_at: Integer
44
+
45
+ attr_accessor workload_identity_provider_id: String
46
+
47
+ def initialize: (
48
+ id: String,
49
+ attribute_matchers: ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRule::attribute_matcher],
50
+ created_at: Integer,
51
+ description: String?,
52
+ enabled: bool,
53
+ name: String?,
54
+ permissions: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRule::permissions,
55
+ project_id: String,
56
+ service_account_id: String,
57
+ updated_at: Integer,
58
+ workload_identity_provider_id: String,
59
+ ?object: :"organization.workload_identity_federation_rule"
60
+ ) -> void
61
+
62
+ def to_hash: -> {
63
+ id: String,
64
+ attribute_matchers: ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRule::attribute_matcher],
65
+ created_at: Integer,
66
+ description: String?,
67
+ enabled: bool,
68
+ name: String?,
69
+ ?object: :"organization.workload_identity_federation_rule",
70
+ permissions: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRule::permissions,
71
+ project_id: String,
72
+ service_account_id: String,
73
+ updated_at: Integer,
74
+ workload_identity_provider_id: String
75
+ }
76
+
77
+ type attribute_matcher = String | bool | Integer | Float
78
+
79
+ module AttributeMatcher
80
+ extend OpenAI::Internal::Type::Union
81
+
82
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRule::attribute_matcher]
83
+ end
84
+
85
+ type permissions =
86
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRule::Permissions::ServiceAccountDefault
87
+ | OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRule::Permissions::Restricted
88
+
89
+ module Permissions
90
+ extend OpenAI::Internal::Type::Union
91
+
92
+ type service_account_default = { ?type: :service_account_default }
93
+
94
+ class ServiceAccountDefault < OpenAI::Internal::Type::BaseModel
95
+ attr_accessor type: :service_account_default
96
+
97
+ def initialize: (?type: :service_account_default) -> void
98
+
99
+ def to_hash: -> { ?type: :service_account_default }
100
+ end
101
+
102
+ type restricted = { scopes: ::Array[String], ?type: :restricted }
103
+
104
+ class Restricted < OpenAI::Internal::Type::BaseModel
105
+ attr_accessor scopes: ::Array[String]
106
+
107
+ attr_accessor type: :restricted
108
+
109
+ def initialize: (
110
+ scopes: ::Array[String],
111
+ ?type: :restricted
112
+ ) -> void
113
+
114
+ def to_hash: -> { scopes: ::Array[String], ?type: :restricted }
115
+ end
116
+
117
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRule::permissions]
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,126 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ module WorkloadIdentityProviders
6
+ type federation_rule_create_params =
7
+ {
8
+ workload_identity_provider_id: String,
9
+ attribute_matchers: ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::attribute_matcher],
10
+ project_id: String,
11
+ service_account_id: String,
12
+ ?description: String,
13
+ ?enabled: bool,
14
+ ?name: String,
15
+ ?permissions: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::permissions,
16
+ ?request_options: OpenAI::request_opts
17
+ }
18
+
19
+ class FederationRuleCreateParams < OpenAI::Internal::Type::BaseModel
20
+ extend OpenAI::Internal::Type::RequestParameters::Converter
21
+ include OpenAI::Internal::Type::RequestParameters
22
+
23
+ attr_accessor workload_identity_provider_id: String
24
+
25
+ attr_accessor attribute_matchers: ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::attribute_matcher]
26
+
27
+ attr_accessor project_id: String
28
+
29
+ attr_accessor service_account_id: String
30
+
31
+ attr_reader description: String?
32
+
33
+ def description=: (String) -> String
34
+
35
+ attr_reader enabled: bool?
36
+
37
+ def enabled=: (bool) -> bool
38
+
39
+ attr_reader name: String?
40
+
41
+ def name=: (String) -> String
42
+
43
+ attr_reader permissions: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::permissions?
44
+
45
+ def permissions=: (
46
+ OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::permissions
47
+ | { type: :service_account_default }
48
+ | { scopes: ::Array[String], type: :restricted }
49
+ ) -> (OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::permissions
50
+ | { type: :service_account_default }
51
+ | { scopes: ::Array[String], type: :restricted })
52
+
53
+ def initialize: (
54
+ workload_identity_provider_id: String,
55
+ attribute_matchers: ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::attribute_matcher],
56
+ project_id: String,
57
+ service_account_id: String,
58
+ ?description: String,
59
+ ?enabled: bool,
60
+ ?name: String,
61
+ ?permissions: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::permissions
62
+ | { type: :service_account_default }
63
+ | { scopes: ::Array[String], type: :restricted },
64
+ ?request_options: OpenAI::request_opts
65
+ ) -> void
66
+
67
+ def to_hash: -> {
68
+ workload_identity_provider_id: String,
69
+ attribute_matchers: ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::attribute_matcher],
70
+ project_id: String,
71
+ service_account_id: String,
72
+ ?description: String,
73
+ ?enabled: bool,
74
+ ?name: String,
75
+ ?permissions: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::permissions,
76
+ ?request_options: OpenAI::RequestOptions
77
+ }
78
+
79
+ type attribute_matcher = String | bool | Integer | Float
80
+
81
+ module AttributeMatcher
82
+ extend OpenAI::Internal::Type::Union
83
+
84
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::attribute_matcher]
85
+ end
86
+
87
+ type permissions =
88
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::Permissions::ServiceAccountDefault
89
+ | OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::Permissions::Restricted
90
+
91
+ module Permissions
92
+ extend OpenAI::Internal::Type::Union
93
+
94
+ type service_account_default = { ?type: :service_account_default }
95
+
96
+ class ServiceAccountDefault < OpenAI::Internal::Type::BaseModel
97
+ attr_accessor type: :service_account_default
98
+
99
+ def initialize: (?type: :service_account_default) -> void
100
+
101
+ def to_hash: -> { ?type: :service_account_default }
102
+ end
103
+
104
+ type restricted = { scopes: ::Array[String], ?type: :restricted }
105
+
106
+ class Restricted < OpenAI::Internal::Type::BaseModel
107
+ attr_accessor scopes: ::Array[String]
108
+
109
+ attr_accessor type: :restricted
110
+
111
+ def initialize: (
112
+ scopes: ::Array[String],
113
+ ?type: :restricted
114
+ ) -> void
115
+
116
+ def to_hash: -> { scopes: ::Array[String], ?type: :restricted }
117
+ end
118
+
119
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::permissions]
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end
126
+ end