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
@@ -17,13 +17,38 @@ module Authentik::Api
17
17
 
18
18
  attr_accessor :expires
19
19
 
20
+ attr_accessor :vendor
21
+
22
+ class EnumAttributeValidator
23
+ attr_reader :datatype
24
+ attr_reader :allowable_values
25
+
26
+ def initialize(datatype, allowable_values)
27
+ @allowable_values = allowable_values.map do |value|
28
+ case datatype.to_s
29
+ when /Integer/i
30
+ value.to_i
31
+ when /Float/i
32
+ value.to_f
33
+ else
34
+ value
35
+ end
36
+ end
37
+ end
38
+
39
+ def valid?(value)
40
+ !value || allowable_values.include?(value)
41
+ end
42
+ end
43
+
20
44
  # Attribute mapping from ruby-style variable name to JSON key.
21
45
  def self.attribute_map
22
46
  {
23
47
  :'data' => :'data',
24
48
  :'connection' => :'connection',
25
49
  :'created' => :'created',
26
- :'expires' => :'expires'
50
+ :'expires' => :'expires',
51
+ :'vendor' => :'vendor'
27
52
  }
28
53
  end
29
54
 
@@ -43,14 +68,15 @@ module Authentik::Api
43
68
  :'data' => :'DeviceFacts',
44
69
  :'connection' => :'String',
45
70
  :'created' => :'Time',
46
- :'expires' => :'Time'
71
+ :'expires' => :'Time',
72
+ :'vendor' => :'VendorEnum'
47
73
  }
48
74
  end
49
75
 
50
76
  # List of attributes with nullable: true
51
77
  def self.openapi_nullable
52
78
  Set.new([
53
- :'expires'
79
+ :'expires',
54
80
  ])
55
81
  end
56
82
 
@@ -93,6 +119,12 @@ module Authentik::Api
93
119
  else
94
120
  self.expires = nil
95
121
  end
122
+
123
+ if attributes.key?(:'vendor')
124
+ self.vendor = attributes[:'vendor']
125
+ else
126
+ self.vendor = nil
127
+ end
96
128
  end
97
129
 
98
130
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -112,6 +144,10 @@ module Authentik::Api
112
144
  invalid_properties.push('invalid value for "created", created cannot be nil.')
113
145
  end
114
146
 
147
+ if @vendor.nil?
148
+ invalid_properties.push('invalid value for "vendor", vendor cannot be nil.')
149
+ end
150
+
115
151
  invalid_properties
116
152
  end
117
153
 
@@ -122,6 +158,7 @@ module Authentik::Api
122
158
  return false if @data.nil?
123
159
  return false if @connection.nil?
124
160
  return false if @created.nil?
161
+ return false if @vendor.nil?
125
162
  true
126
163
  end
127
164
 
@@ -155,6 +192,16 @@ module Authentik::Api
155
192
  @created = created
156
193
  end
157
194
 
195
+ # Custom attribute writer method with validation
196
+ # @param [Object] vendor Value to be assigned
197
+ def vendor=(vendor)
198
+ if vendor.nil?
199
+ fail ArgumentError, 'vendor cannot be nil'
200
+ end
201
+
202
+ @vendor = vendor
203
+ end
204
+
158
205
  # Checks equality by comparing each attribute.
159
206
  # @param [Object] Object to be compared
160
207
  def ==(o)
@@ -163,7 +210,8 @@ module Authentik::Api
163
210
  data == o.data &&
164
211
  connection == o.connection &&
165
212
  created == o.created &&
166
- expires == o.expires
213
+ expires == o.expires &&
214
+ vendor == o.vendor
167
215
  end
168
216
 
169
217
  # @see the `==` method
@@ -175,7 +223,7 @@ module Authentik::Api
175
223
  # Calculates hash code according to all attributes.
176
224
  # @return [Integer] Hash code
177
225
  def hash
178
- [data, connection, created, expires].hash
226
+ [data, connection, created, expires, vendor].hash
179
227
  end
180
228
 
181
229
  # Builds the object from hash
@@ -30,16 +30,21 @@ module Authentik::Api
30
30
  SYSTEM_TASK_EXCEPTION = "system_task_exception".freeze
31
31
  SYSTEM_EXCEPTION = "system_exception".freeze
32
32
  CONFIGURATION_ERROR = "configuration_error".freeze
33
+ CONFIGURATION_WARNING = "configuration_warning".freeze
33
34
  MODEL_CREATED = "model_created".freeze
34
35
  MODEL_UPDATED = "model_updated".freeze
35
36
  MODEL_DELETED = "model_deleted".freeze
36
37
  EMAIL_SENT = "email_sent".freeze
37
38
  UPDATE_AVAILABLE = "update_available".freeze
38
39
  EXPORT_READY = "export_ready".freeze
40
+ REVIEW_INITIATED = "review_initiated".freeze
41
+ REVIEW_OVERDUE = "review_overdue".freeze
42
+ REVIEW_ATTESTED = "review_attested".freeze
43
+ REVIEW_COMPLETED = "review_completed".freeze
39
44
  CUSTOM = "custom_".freeze
40
45
 
41
46
  def self.all_vars
42
- @all_vars ||= [LOGIN, LOGIN_FAILED, LOGOUT, USER_WRITE, SUSPICIOUS_REQUEST, PASSWORD_SET, SECRET_VIEW, SECRET_ROTATE, INVITATION_USED, AUTHORIZE_APPLICATION, SOURCE_LINKED, IMPERSONATION_STARTED, IMPERSONATION_ENDED, FLOW_EXECUTION, POLICY_EXECUTION, POLICY_EXCEPTION, PROPERTY_MAPPING_EXCEPTION, SYSTEM_TASK_EXECUTION, SYSTEM_TASK_EXCEPTION, SYSTEM_EXCEPTION, CONFIGURATION_ERROR, MODEL_CREATED, MODEL_UPDATED, MODEL_DELETED, EMAIL_SENT, UPDATE_AVAILABLE, EXPORT_READY, CUSTOM].freeze
47
+ @all_vars ||= [LOGIN, LOGIN_FAILED, LOGOUT, USER_WRITE, SUSPICIOUS_REQUEST, PASSWORD_SET, SECRET_VIEW, SECRET_ROTATE, INVITATION_USED, AUTHORIZE_APPLICATION, SOURCE_LINKED, IMPERSONATION_STARTED, IMPERSONATION_ENDED, FLOW_EXECUTION, POLICY_EXECUTION, POLICY_EXCEPTION, PROPERTY_MAPPING_EXCEPTION, SYSTEM_TASK_EXECUTION, SYSTEM_TASK_EXCEPTION, SYSTEM_EXCEPTION, CONFIGURATION_ERROR, CONFIGURATION_WARNING, MODEL_CREATED, MODEL_UPDATED, MODEL_DELETED, EMAIL_SENT, UPDATE_AVAILABLE, EXPORT_READY, REVIEW_INITIATED, REVIEW_OVERDUE, REVIEW_ATTESTED, REVIEW_COMPLETED, CUSTOM].freeze
43
48
  end
44
49
 
45
50
  # Builds the enum from string
@@ -0,0 +1,349 @@
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 FleetConnector < ApiModelBase
13
+ attr_accessor :connector_uuid
14
+
15
+ attr_accessor :name
16
+
17
+ attr_accessor :enabled
18
+
19
+ # Get object component so that we know how to edit the object
20
+ attr_accessor :component
21
+
22
+ # Return object's verbose_name
23
+ attr_accessor :verbose_name
24
+
25
+ # Return object's plural verbose_name
26
+ attr_accessor :verbose_name_plural
27
+
28
+ # Return internal model name
29
+ attr_accessor :meta_model_name
30
+
31
+ attr_accessor :url
32
+
33
+ # Configure additional headers to be sent. Mapping should return a dictionary of key-value pairs
34
+ attr_accessor :headers_mapping
35
+
36
+ attr_accessor :map_users
37
+
38
+ attr_accessor :map_teams_access_group
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+ :'connector_uuid' => :'connector_uuid',
44
+ :'name' => :'name',
45
+ :'enabled' => :'enabled',
46
+ :'component' => :'component',
47
+ :'verbose_name' => :'verbose_name',
48
+ :'verbose_name_plural' => :'verbose_name_plural',
49
+ :'meta_model_name' => :'meta_model_name',
50
+ :'url' => :'url',
51
+ :'headers_mapping' => :'headers_mapping',
52
+ :'map_users' => :'map_users',
53
+ :'map_teams_access_group' => :'map_teams_access_group'
54
+ }
55
+ end
56
+
57
+ # Returns attribute mapping this model knows about
58
+ def self.acceptable_attribute_map
59
+ attribute_map
60
+ end
61
+
62
+ # Returns all the JSON keys this model knows about
63
+ def self.acceptable_attributes
64
+ acceptable_attribute_map.values
65
+ end
66
+
67
+ # Attribute type mapping.
68
+ def self.openapi_types
69
+ {
70
+ :'connector_uuid' => :'String',
71
+ :'name' => :'String',
72
+ :'enabled' => :'Boolean',
73
+ :'component' => :'String',
74
+ :'verbose_name' => :'String',
75
+ :'verbose_name_plural' => :'String',
76
+ :'meta_model_name' => :'String',
77
+ :'url' => :'String',
78
+ :'headers_mapping' => :'String',
79
+ :'map_users' => :'Boolean',
80
+ :'map_teams_access_group' => :'Boolean'
81
+ }
82
+ end
83
+
84
+ # List of attributes with nullable: true
85
+ def self.openapi_nullable
86
+ Set.new([
87
+ :'headers_mapping',
88
+ ])
89
+ end
90
+
91
+ # Initializes the object
92
+ # @param [Hash] attributes Model attributes in the form of hash
93
+ def initialize(attributes = {})
94
+ if (!attributes.is_a?(Hash))
95
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Authentik::Api::FleetConnector` initialize method"
96
+ end
97
+
98
+ # check to see if the attribute exists and convert string to symbol for hash key
99
+ acceptable_attribute_map = self.class.acceptable_attribute_map
100
+ attributes = attributes.each_with_object({}) { |(k, v), h|
101
+ if (!acceptable_attribute_map.key?(k.to_sym))
102
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Authentik::Api::FleetConnector`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
103
+ end
104
+ h[k.to_sym] = v
105
+ }
106
+
107
+ if attributes.key?(:'connector_uuid')
108
+ self.connector_uuid = attributes[:'connector_uuid']
109
+ end
110
+
111
+ if attributes.key?(:'name')
112
+ self.name = attributes[:'name']
113
+ else
114
+ self.name = nil
115
+ end
116
+
117
+ if attributes.key?(:'enabled')
118
+ self.enabled = attributes[:'enabled']
119
+ end
120
+
121
+ if attributes.key?(:'component')
122
+ self.component = attributes[:'component']
123
+ else
124
+ self.component = nil
125
+ end
126
+
127
+ if attributes.key?(:'verbose_name')
128
+ self.verbose_name = attributes[:'verbose_name']
129
+ else
130
+ self.verbose_name = nil
131
+ end
132
+
133
+ if attributes.key?(:'verbose_name_plural')
134
+ self.verbose_name_plural = attributes[:'verbose_name_plural']
135
+ else
136
+ self.verbose_name_plural = nil
137
+ end
138
+
139
+ if attributes.key?(:'meta_model_name')
140
+ self.meta_model_name = attributes[:'meta_model_name']
141
+ else
142
+ self.meta_model_name = nil
143
+ end
144
+
145
+ if attributes.key?(:'url')
146
+ self.url = attributes[:'url']
147
+ else
148
+ self.url = nil
149
+ end
150
+
151
+ if attributes.key?(:'headers_mapping')
152
+ self.headers_mapping = attributes[:'headers_mapping']
153
+ end
154
+
155
+ if attributes.key?(:'map_users')
156
+ self.map_users = attributes[:'map_users']
157
+ end
158
+
159
+ if attributes.key?(:'map_teams_access_group')
160
+ self.map_teams_access_group = attributes[:'map_teams_access_group']
161
+ end
162
+ end
163
+
164
+ # Show invalid properties with the reasons. Usually used together with valid?
165
+ # @return Array for valid properties with the reasons
166
+ def list_invalid_properties
167
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
168
+ invalid_properties = Array.new
169
+ if @name.nil?
170
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
171
+ end
172
+
173
+ if @component.nil?
174
+ invalid_properties.push('invalid value for "component", component cannot be nil.')
175
+ end
176
+
177
+ if @verbose_name.nil?
178
+ invalid_properties.push('invalid value for "verbose_name", verbose_name cannot be nil.')
179
+ end
180
+
181
+ if @verbose_name_plural.nil?
182
+ invalid_properties.push('invalid value for "verbose_name_plural", verbose_name_plural cannot be nil.')
183
+ end
184
+
185
+ if @meta_model_name.nil?
186
+ invalid_properties.push('invalid value for "meta_model_name", meta_model_name cannot be nil.')
187
+ end
188
+
189
+ if @url.nil?
190
+ invalid_properties.push('invalid value for "url", url cannot be nil.')
191
+ end
192
+
193
+ if @url.to_s.length > 200
194
+ invalid_properties.push('invalid value for "url", the character length must be smaller than or equal to 200.')
195
+ end
196
+
197
+ invalid_properties
198
+ end
199
+
200
+ # Check to see if the all the properties in the model are valid
201
+ # @return true if the model is valid
202
+ def valid?
203
+ warn '[DEPRECATED] the `valid?` method is obsolete'
204
+ return false if @name.nil?
205
+ return false if @component.nil?
206
+ return false if @verbose_name.nil?
207
+ return false if @verbose_name_plural.nil?
208
+ return false if @meta_model_name.nil?
209
+ return false if @url.nil?
210
+ return false if @url.to_s.length > 200
211
+ true
212
+ end
213
+
214
+ # Custom attribute writer method with validation
215
+ # @param [Object] name Value to be assigned
216
+ def name=(name)
217
+ if name.nil?
218
+ fail ArgumentError, 'name cannot be nil'
219
+ end
220
+
221
+ @name = name
222
+ end
223
+
224
+ # Custom attribute writer method with validation
225
+ # @param [Object] component Value to be assigned
226
+ def component=(component)
227
+ if component.nil?
228
+ fail ArgumentError, 'component cannot be nil'
229
+ end
230
+
231
+ @component = component
232
+ end
233
+
234
+ # Custom attribute writer method with validation
235
+ # @param [Object] verbose_name Value to be assigned
236
+ def verbose_name=(verbose_name)
237
+ if verbose_name.nil?
238
+ fail ArgumentError, 'verbose_name cannot be nil'
239
+ end
240
+
241
+ @verbose_name = verbose_name
242
+ end
243
+
244
+ # Custom attribute writer method with validation
245
+ # @param [Object] verbose_name_plural Value to be assigned
246
+ def verbose_name_plural=(verbose_name_plural)
247
+ if verbose_name_plural.nil?
248
+ fail ArgumentError, 'verbose_name_plural cannot be nil'
249
+ end
250
+
251
+ @verbose_name_plural = verbose_name_plural
252
+ end
253
+
254
+ # Custom attribute writer method with validation
255
+ # @param [Object] meta_model_name Value to be assigned
256
+ def meta_model_name=(meta_model_name)
257
+ if meta_model_name.nil?
258
+ fail ArgumentError, 'meta_model_name cannot be nil'
259
+ end
260
+
261
+ @meta_model_name = meta_model_name
262
+ end
263
+
264
+ # Custom attribute writer method with validation
265
+ # @param [Object] url Value to be assigned
266
+ def url=(url)
267
+ if url.nil?
268
+ fail ArgumentError, 'url cannot be nil'
269
+ end
270
+
271
+ if url.to_s.length > 200
272
+ fail ArgumentError, 'invalid value for "url", the character length must be smaller than or equal to 200.'
273
+ end
274
+
275
+ @url = url
276
+ end
277
+
278
+ # Checks equality by comparing each attribute.
279
+ # @param [Object] Object to be compared
280
+ def ==(o)
281
+ return true if self.equal?(o)
282
+ self.class == o.class &&
283
+ connector_uuid == o.connector_uuid &&
284
+ name == o.name &&
285
+ enabled == o.enabled &&
286
+ component == o.component &&
287
+ verbose_name == o.verbose_name &&
288
+ verbose_name_plural == o.verbose_name_plural &&
289
+ meta_model_name == o.meta_model_name &&
290
+ url == o.url &&
291
+ headers_mapping == o.headers_mapping &&
292
+ map_users == o.map_users &&
293
+ map_teams_access_group == o.map_teams_access_group
294
+ end
295
+
296
+ # @see the `==` method
297
+ # @param [Object] Object to be compared
298
+ def eql?(o)
299
+ self == o
300
+ end
301
+
302
+ # Calculates hash code according to all attributes.
303
+ # @return [Integer] Hash code
304
+ def hash
305
+ [connector_uuid, name, enabled, component, verbose_name, verbose_name_plural, meta_model_name, url, headers_mapping, map_users, map_teams_access_group].hash
306
+ end
307
+
308
+ # Builds the object from hash
309
+ # @param [Hash] attributes Model attributes in the form of hash
310
+ # @return [Object] Returns the model itself
311
+ def self.build_from_hash(attributes)
312
+ return nil unless attributes.is_a?(Hash)
313
+ attributes = attributes.transform_keys(&:to_sym)
314
+ transformed_hash = {}
315
+ openapi_types.each_pair do |key, type|
316
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
317
+ transformed_hash["#{key}"] = nil
318
+ elsif type =~ /\AArray<(.*)>/i
319
+ # check to ensure the input is an array given that the attribute
320
+ # is documented as an array but the input is not
321
+ if attributes[attribute_map[key]].is_a?(Array)
322
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
323
+ end
324
+ elsif !attributes[attribute_map[key]].nil?
325
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
326
+ end
327
+ end
328
+ new(transformed_hash)
329
+ end
330
+
331
+ # Returns the object in the form of hash
332
+ # @return [Hash] Returns the object in the form of hash
333
+ def to_hash
334
+ hash = {}
335
+ self.class.attribute_map.each_pair do |attr, param|
336
+ value = self.send(attr)
337
+ if value.nil?
338
+ is_nullable = self.class.openapi_nullable.include?(attr)
339
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
340
+ end
341
+
342
+ hash[param] = _to_hash(value)
343
+ end
344
+ hash
345
+ end
346
+
347
+ end
348
+
349
+ end