authentik-api 2025.12.4 → 2026.2.1.1

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 (112) hide show
  1. checksums.yaml +4 -4
  2. data/README_API.md +59 -7
  3. data/lib/authentik/api/api/core_api.rb +109 -12
  4. data/lib/authentik/api/api/crypto_api.rb +0 -3
  5. data/lib/authentik/api/api/endpoints_api.rb +459 -0
  6. data/lib/authentik/api/api/events_api.rb +3 -3
  7. data/lib/authentik/api/api/lifecycle_api.rb +681 -0
  8. data/lib/authentik/api/api/policies_api.rb +1 -1
  9. data/lib/authentik/api/api/providers_api.rb +705 -3
  10. data/lib/authentik/api/api/rbac_api.rb +6 -9
  11. data/lib/authentik/api/api/stages_api.rb +1 -1
  12. data/lib/authentik/api/models/alg_enum.rb +3 -1
  13. data/lib/authentik/api/models/app_enum.rb +4 -1
  14. data/lib/authentik/api/models/bulk_delete_session_response.rb +158 -0
  15. data/lib/authentik/api/models/certificate_key_pair.rb +5 -4
  16. data/lib/authentik/api/models/content_type_enum.rb +35 -0
  17. data/lib/authentik/api/models/contextual_flow_info_layout_enum.rb +3 -1
  18. data/lib/authentik/api/models/current_brand_flags.rb +27 -1
  19. data/lib/authentik/api/models/device_access_group.rb +15 -4
  20. data/lib/authentik/api/models/device_access_group_request.rb +15 -4
  21. data/lib/authentik/api/models/device_fact_snapshot.rb +53 -5
  22. data/lib/authentik/api/models/event_actions.rb +6 -1
  23. data/lib/authentik/api/models/fleet_connector.rb +349 -0
  24. data/lib/authentik/api/models/fleet_connector_request.rb +294 -0
  25. data/lib/authentik/api/models/flow_layout_enum.rb +3 -1
  26. data/lib/authentik/api/models/identification_challenge.rb +11 -1
  27. data/lib/authentik/api/models/lifecycle_iteration.rb +525 -0
  28. data/lib/authentik/api/models/lifecycle_iteration_request.rb +181 -0
  29. data/lib/authentik/api/models/lifecycle_iteration_state_enum.rb +36 -0
  30. data/lib/authentik/api/models/lifecycle_rule.rb +440 -0
  31. data/lib/authentik/api/models/lifecycle_rule_request.rb +394 -0
  32. data/lib/authentik/api/models/model_enum.rb +6 -1
  33. data/lib/authentik/api/models/model_request.rb +4 -2
  34. data/lib/authentik/api/models/operating_system.rb +3 -0
  35. data/lib/authentik/api/models/operating_system_request.rb +3 -0
  36. data/lib/authentik/api/models/paginated_fleet_connector_list.rb +214 -0
  37. data/lib/authentik/api/models/paginated_lifecycle_iteration_list.rb +214 -0
  38. data/lib/authentik/api/models/paginated_lifecycle_rule_list.rb +214 -0
  39. data/lib/authentik/api/models/paginated_ws_federation_provider_list.rb +214 -0
  40. data/lib/authentik/api/models/patched_device_access_group_request.rb +15 -4
  41. data/lib/authentik/api/models/patched_fleet_connector_request.rb +273 -0
  42. data/lib/authentik/api/models/patched_lifecycle_rule_request.rb +353 -0
  43. data/lib/authentik/api/models/patched_role_request.rb +0 -9
  44. data/lib/authentik/api/models/patched_saml_provider_request.rb +1 -1
  45. data/lib/authentik/api/models/patched_scim_provider_request.rb +13 -11
  46. data/lib/authentik/api/models/patched_settings_request_flags.rb +27 -1
  47. data/lib/authentik/api/models/patched_ws_federation_provider_request.rb +457 -0
  48. data/lib/authentik/api/models/provider_model_enum.rb +2 -1
  49. data/lib/authentik/api/models/review.rb +247 -0
  50. data/lib/authentik/api/models/review_request.rb +184 -0
  51. data/lib/authentik/api/models/reviewer_group.rb +184 -0
  52. data/lib/authentik/api/models/reviewer_user.rb +258 -0
  53. data/lib/authentik/api/models/role.rb +0 -9
  54. data/lib/authentik/api/models/role_request.rb +0 -9
  55. data/lib/authentik/api/models/{saml_provider_logout_method_enum.rb → saml_logout_methods.rb} +3 -3
  56. data/lib/authentik/api/models/saml_provider.rb +1 -1
  57. data/lib/authentik/api/models/saml_provider_request.rb +1 -1
  58. data/lib/authentik/api/models/scim_provider.rb +13 -11
  59. data/lib/authentik/api/models/scim_provider_request.rb +13 -11
  60. data/lib/authentik/api/models/task.rb +1 -1
  61. data/lib/authentik/api/models/{state_enum.rb → task_state_enum.rb} +3 -3
  62. data/lib/authentik/api/models/user_recovery_email_request.rb +187 -0
  63. data/lib/authentik/api/models/user_recovery_link_request.rb +161 -0
  64. data/lib/authentik/api/models/vendor_enum.rb +35 -0
  65. data/lib/authentik/api/models/ws_federation_provider.rb +668 -0
  66. data/lib/authentik/api/models/ws_federation_provider_request.rb +512 -0
  67. data/lib/authentik/api/version.rb +1 -1
  68. data/spec/api/core_api_spec.rb +21 -1
  69. data/spec/api/crypto_api_spec.rb +0 -1
  70. data/spec/api/endpoints_api_spec.rb +83 -0
  71. data/spec/api/lifecycle_api_spec.rb +144 -0
  72. data/spec/api/providers_api_spec.rb +137 -1
  73. data/spec/api/rbac_api_spec.rb +2 -3
  74. data/spec/models/bulk_delete_session_response_spec.rb +30 -0
  75. data/spec/models/content_type_enum_spec.rb +24 -0
  76. data/spec/models/current_brand_flags_spec.rb +6 -0
  77. data/spec/models/device_access_group_request_spec.rb +6 -0
  78. data/spec/models/device_access_group_spec.rb +6 -0
  79. data/spec/models/device_fact_snapshot_spec.rb +6 -0
  80. data/spec/models/fleet_connector_request_spec.rb +72 -0
  81. data/spec/models/fleet_connector_spec.rb +90 -0
  82. data/spec/models/identification_challenge_spec.rb +6 -0
  83. data/spec/models/lifecycle_iteration_request_spec.rb +30 -0
  84. data/spec/models/lifecycle_iteration_spec.rb +108 -0
  85. data/spec/models/lifecycle_iteration_state_enum_spec.rb +24 -0
  86. data/spec/models/lifecycle_rule_request_spec.rb +84 -0
  87. data/spec/models/lifecycle_rule_spec.rb +108 -0
  88. data/spec/models/paginated_fleet_connector_list_spec.rb +42 -0
  89. data/spec/models/paginated_lifecycle_iteration_list_spec.rb +42 -0
  90. data/spec/models/paginated_lifecycle_rule_list_spec.rb +42 -0
  91. data/spec/models/paginated_ws_federation_provider_list_spec.rb +42 -0
  92. data/spec/models/patched_device_access_group_request_spec.rb +6 -0
  93. data/spec/models/patched_fleet_connector_request_spec.rb +72 -0
  94. data/spec/models/patched_lifecycle_rule_request_spec.rb +84 -0
  95. data/spec/models/patched_scim_provider_request_spec.rb +3 -3
  96. data/spec/models/patched_settings_request_flags_spec.rb +6 -0
  97. data/spec/models/patched_ws_federation_provider_request_spec.rb +138 -0
  98. data/spec/models/review_request_spec.rb +36 -0
  99. data/spec/models/review_spec.rb +54 -0
  100. data/spec/models/reviewer_group_spec.rb +36 -0
  101. data/spec/models/reviewer_user_spec.rb +48 -0
  102. data/spec/models/saml_logout_methods_spec.rb +24 -0
  103. data/spec/models/scim_provider_request_spec.rb +3 -3
  104. data/spec/models/scim_provider_spec.rb +3 -3
  105. data/spec/models/task_state_enum_spec.rb +24 -0
  106. data/spec/models/user_recovery_email_request_spec.rb +36 -0
  107. data/spec/models/user_recovery_link_request_spec.rb +30 -0
  108. data/spec/models/{state_enum_spec.rb → vendor_enum_spec.rb} +6 -6
  109. data/spec/models/ws_federation_provider_request_spec.rb +138 -0
  110. data/spec/models/ws_federation_provider_spec.rb +204 -0
  111. metadata +85 -7
  112. data/spec/models/saml_provider_logout_method_enum_spec.rb +0 -24
@@ -0,0 +1,294 @@
1
+ =begin
2
+ This file is automatically generated by: https://openapi-generator.tech.
3
+ Any manual changes will be lost when the OpenAPI scheme changes.
4
+
5
+ =end
6
+
7
+ require 'date'
8
+ require 'time'
9
+
10
+ module Authentik::Api
11
+ # FleetConnector Serializer
12
+ class FleetConnectorRequest < ApiModelBase
13
+ attr_accessor :connector_uuid
14
+
15
+ attr_accessor :name
16
+
17
+ attr_accessor :enabled
18
+
19
+ attr_accessor :url
20
+
21
+ attr_accessor :token
22
+
23
+ # Configure additional headers to be sent. Mapping should return a dictionary of key-value pairs
24
+ attr_accessor :headers_mapping
25
+
26
+ attr_accessor :map_users
27
+
28
+ attr_accessor :map_teams_access_group
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ :'connector_uuid' => :'connector_uuid',
34
+ :'name' => :'name',
35
+ :'enabled' => :'enabled',
36
+ :'url' => :'url',
37
+ :'token' => :'token',
38
+ :'headers_mapping' => :'headers_mapping',
39
+ :'map_users' => :'map_users',
40
+ :'map_teams_access_group' => :'map_teams_access_group'
41
+ }
42
+ end
43
+
44
+ # Returns attribute mapping this model knows about
45
+ def self.acceptable_attribute_map
46
+ attribute_map
47
+ end
48
+
49
+ # Returns all the JSON keys this model knows about
50
+ def self.acceptable_attributes
51
+ acceptable_attribute_map.values
52
+ end
53
+
54
+ # Attribute type mapping.
55
+ def self.openapi_types
56
+ {
57
+ :'connector_uuid' => :'String',
58
+ :'name' => :'String',
59
+ :'enabled' => :'Boolean',
60
+ :'url' => :'String',
61
+ :'token' => :'String',
62
+ :'headers_mapping' => :'String',
63
+ :'map_users' => :'Boolean',
64
+ :'map_teams_access_group' => :'Boolean'
65
+ }
66
+ end
67
+
68
+ # List of attributes with nullable: true
69
+ def self.openapi_nullable
70
+ Set.new([
71
+ :'headers_mapping',
72
+ ])
73
+ end
74
+
75
+ # Initializes the object
76
+ # @param [Hash] attributes Model attributes in the form of hash
77
+ def initialize(attributes = {})
78
+ if (!attributes.is_a?(Hash))
79
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Authentik::Api::FleetConnectorRequest` initialize method"
80
+ end
81
+
82
+ # check to see if the attribute exists and convert string to symbol for hash key
83
+ acceptable_attribute_map = self.class.acceptable_attribute_map
84
+ attributes = attributes.each_with_object({}) { |(k, v), h|
85
+ if (!acceptable_attribute_map.key?(k.to_sym))
86
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Authentik::Api::FleetConnectorRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
87
+ end
88
+ h[k.to_sym] = v
89
+ }
90
+
91
+ if attributes.key?(:'connector_uuid')
92
+ self.connector_uuid = attributes[:'connector_uuid']
93
+ end
94
+
95
+ if attributes.key?(:'name')
96
+ self.name = attributes[:'name']
97
+ else
98
+ self.name = nil
99
+ end
100
+
101
+ if attributes.key?(:'enabled')
102
+ self.enabled = attributes[:'enabled']
103
+ end
104
+
105
+ if attributes.key?(:'url')
106
+ self.url = attributes[:'url']
107
+ else
108
+ self.url = nil
109
+ end
110
+
111
+ if attributes.key?(:'token')
112
+ self.token = attributes[:'token']
113
+ else
114
+ self.token = nil
115
+ end
116
+
117
+ if attributes.key?(:'headers_mapping')
118
+ self.headers_mapping = attributes[:'headers_mapping']
119
+ end
120
+
121
+ if attributes.key?(:'map_users')
122
+ self.map_users = attributes[:'map_users']
123
+ end
124
+
125
+ if attributes.key?(:'map_teams_access_group')
126
+ self.map_teams_access_group = attributes[:'map_teams_access_group']
127
+ end
128
+ end
129
+
130
+ # Show invalid properties with the reasons. Usually used together with valid?
131
+ # @return Array for valid properties with the reasons
132
+ def list_invalid_properties
133
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
134
+ invalid_properties = Array.new
135
+ if @name.nil?
136
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
137
+ end
138
+
139
+ if @name.to_s.length < 1
140
+ invalid_properties.push('invalid value for "name", the character length must be greater than or equal to 1.')
141
+ end
142
+
143
+ if @url.nil?
144
+ invalid_properties.push('invalid value for "url", url cannot be nil.')
145
+ end
146
+
147
+ if @url.to_s.length > 200
148
+ invalid_properties.push('invalid value for "url", the character length must be smaller than or equal to 200.')
149
+ end
150
+
151
+ if @url.to_s.length < 1
152
+ invalid_properties.push('invalid value for "url", the character length must be greater than or equal to 1.')
153
+ end
154
+
155
+ if @token.nil?
156
+ invalid_properties.push('invalid value for "token", token cannot be nil.')
157
+ end
158
+
159
+ if @token.to_s.length < 1
160
+ invalid_properties.push('invalid value for "token", the character length must be greater than or equal to 1.')
161
+ end
162
+
163
+ invalid_properties
164
+ end
165
+
166
+ # Check to see if the all the properties in the model are valid
167
+ # @return true if the model is valid
168
+ def valid?
169
+ warn '[DEPRECATED] the `valid?` method is obsolete'
170
+ return false if @name.nil?
171
+ return false if @name.to_s.length < 1
172
+ return false if @url.nil?
173
+ return false if @url.to_s.length > 200
174
+ return false if @url.to_s.length < 1
175
+ return false if @token.nil?
176
+ return false if @token.to_s.length < 1
177
+ true
178
+ end
179
+
180
+ # Custom attribute writer method with validation
181
+ # @param [Object] name Value to be assigned
182
+ def name=(name)
183
+ if name.nil?
184
+ fail ArgumentError, 'name cannot be nil'
185
+ end
186
+
187
+ if name.to_s.length < 1
188
+ fail ArgumentError, 'invalid value for "name", the character length must be greater than or equal to 1.'
189
+ end
190
+
191
+ @name = name
192
+ end
193
+
194
+ # Custom attribute writer method with validation
195
+ # @param [Object] url Value to be assigned
196
+ def url=(url)
197
+ if url.nil?
198
+ fail ArgumentError, 'url cannot be nil'
199
+ end
200
+
201
+ if url.to_s.length > 200
202
+ fail ArgumentError, 'invalid value for "url", the character length must be smaller than or equal to 200.'
203
+ end
204
+
205
+ if url.to_s.length < 1
206
+ fail ArgumentError, 'invalid value for "url", the character length must be greater than or equal to 1.'
207
+ end
208
+
209
+ @url = url
210
+ end
211
+
212
+ # Custom attribute writer method with validation
213
+ # @param [Object] token Value to be assigned
214
+ def token=(token)
215
+ if token.nil?
216
+ fail ArgumentError, 'token cannot be nil'
217
+ end
218
+
219
+ if token.to_s.length < 1
220
+ fail ArgumentError, 'invalid value for "token", the character length must be greater than or equal to 1.'
221
+ end
222
+
223
+ @token = token
224
+ end
225
+
226
+ # Checks equality by comparing each attribute.
227
+ # @param [Object] Object to be compared
228
+ def ==(o)
229
+ return true if self.equal?(o)
230
+ self.class == o.class &&
231
+ connector_uuid == o.connector_uuid &&
232
+ name == o.name &&
233
+ enabled == o.enabled &&
234
+ url == o.url &&
235
+ token == o.token &&
236
+ headers_mapping == o.headers_mapping &&
237
+ map_users == o.map_users &&
238
+ map_teams_access_group == o.map_teams_access_group
239
+ end
240
+
241
+ # @see the `==` method
242
+ # @param [Object] Object to be compared
243
+ def eql?(o)
244
+ self == o
245
+ end
246
+
247
+ # Calculates hash code according to all attributes.
248
+ # @return [Integer] Hash code
249
+ def hash
250
+ [connector_uuid, name, enabled, url, token, headers_mapping, map_users, map_teams_access_group].hash
251
+ end
252
+
253
+ # Builds the object from hash
254
+ # @param [Hash] attributes Model attributes in the form of hash
255
+ # @return [Object] Returns the model itself
256
+ def self.build_from_hash(attributes)
257
+ return nil unless attributes.is_a?(Hash)
258
+ attributes = attributes.transform_keys(&:to_sym)
259
+ transformed_hash = {}
260
+ openapi_types.each_pair do |key, type|
261
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
262
+ transformed_hash["#{key}"] = nil
263
+ elsif type =~ /\AArray<(.*)>/i
264
+ # check to ensure the input is an array given that the attribute
265
+ # is documented as an array but the input is not
266
+ if attributes[attribute_map[key]].is_a?(Array)
267
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
268
+ end
269
+ elsif !attributes[attribute_map[key]].nil?
270
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
271
+ end
272
+ end
273
+ new(transformed_hash)
274
+ end
275
+
276
+ # Returns the object in the form of hash
277
+ # @return [Hash] Returns the object in the form of hash
278
+ def to_hash
279
+ hash = {}
280
+ self.class.attribute_map.each_pair do |attr, param|
281
+ value = self.send(attr)
282
+ if value.nil?
283
+ is_nullable = self.class.openapi_nullable.include?(attr)
284
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
285
+ end
286
+
287
+ hash[param] = _to_hash(value)
288
+ end
289
+ hash
290
+ end
291
+
292
+ end
293
+
294
+ end
@@ -14,9 +14,11 @@ module Authentik::Api
14
14
  CONTENT_RIGHT = "content_right".freeze
15
15
  SIDEBAR_LEFT = "sidebar_left".freeze
16
16
  SIDEBAR_RIGHT = "sidebar_right".freeze
17
+ SIDEBAR_LEFT_FRAME_BACKGROUND = "sidebar_left_frame_background".freeze
18
+ SIDEBAR_RIGHT_FRAME_BACKGROUND = "sidebar_right_frame_background".freeze
17
19
 
18
20
  def self.all_vars
19
- @all_vars ||= [STACKED, CONTENT_LEFT, CONTENT_RIGHT, SIDEBAR_LEFT, SIDEBAR_RIGHT].freeze
21
+ @all_vars ||= [STACKED, CONTENT_LEFT, CONTENT_RIGHT, SIDEBAR_LEFT, SIDEBAR_RIGHT, SIDEBAR_LEFT_FRAME_BACKGROUND, SIDEBAR_RIGHT_FRAME_BACKGROUND].freeze
20
22
  end
21
23
 
22
24
  # Builds the enum from string
@@ -18,6 +18,8 @@ module Authentik::Api
18
18
 
19
19
  attr_accessor :user_fields
20
20
 
21
+ attr_accessor :pending_user_identifier
22
+
21
23
  attr_accessor :password_fields
22
24
 
23
25
  attr_accessor :allow_show_password
@@ -73,6 +75,7 @@ module Authentik::Api
73
75
  :'component' => :'component',
74
76
  :'response_errors' => :'response_errors',
75
77
  :'user_fields' => :'user_fields',
78
+ :'pending_user_identifier' => :'pending_user_identifier',
76
79
  :'password_fields' => :'password_fields',
77
80
  :'allow_show_password' => :'allow_show_password',
78
81
  :'application_pre' => :'application_pre',
@@ -106,6 +109,7 @@ module Authentik::Api
106
109
  :'component' => :'String',
107
110
  :'response_errors' => :'Hash<String, Array<ErrorDetail>>',
108
111
  :'user_fields' => :'Array<String>',
112
+ :'pending_user_identifier' => :'String',
109
113
  :'password_fields' => :'Boolean',
110
114
  :'allow_show_password' => :'Boolean',
111
115
  :'application_pre' => :'String',
@@ -126,6 +130,7 @@ module Authentik::Api
126
130
  def self.openapi_nullable
127
131
  Set.new([
128
132
  :'user_fields',
133
+ :'pending_user_identifier',
129
134
  :'captcha_stage',
130
135
  :'passkey_challenge'
131
136
  ])
@@ -171,6 +176,10 @@ module Authentik::Api
171
176
  self.user_fields = nil
172
177
  end
173
178
 
179
+ if attributes.key?(:'pending_user_identifier')
180
+ self.pending_user_identifier = attributes[:'pending_user_identifier']
181
+ end
182
+
174
183
  if attributes.key?(:'password_fields')
175
184
  self.password_fields = attributes[:'password_fields']
176
185
  else
@@ -324,6 +333,7 @@ module Authentik::Api
324
333
  component == o.component &&
325
334
  response_errors == o.response_errors &&
326
335
  user_fields == o.user_fields &&
336
+ pending_user_identifier == o.pending_user_identifier &&
327
337
  password_fields == o.password_fields &&
328
338
  allow_show_password == o.allow_show_password &&
329
339
  application_pre == o.application_pre &&
@@ -348,7 +358,7 @@ module Authentik::Api
348
358
  # Calculates hash code according to all attributes.
349
359
  # @return [Integer] Hash code
350
360
  def hash
351
- [flow_info, component, response_errors, user_fields, password_fields, allow_show_password, application_pre, flow_designation, captcha_stage, enroll_url, recovery_url, passwordless_url, primary_action, sources, show_source_labels, enable_remember_me, passkey_challenge].hash
361
+ [flow_info, component, response_errors, user_fields, pending_user_identifier, password_fields, allow_show_password, application_pre, flow_designation, captcha_stage, enroll_url, recovery_url, passwordless_url, primary_action, sources, show_source_labels, enable_remember_me, passkey_challenge].hash
352
362
  end
353
363
 
354
364
  # Builds the object from hash