daytona_api_client 0.126.0.alpha.6

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 (183) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +39 -0
  3. data/.openapi-generator/FILES +171 -0
  4. data/.openapi-generator/VERSION +1 -0
  5. data/.openapi-generator-ignore +33 -0
  6. data/.rspec +2 -0
  7. data/.rubocop.yml +148 -0
  8. data/Gemfile +9 -0
  9. data/Gemfile.lock +101 -0
  10. data/Rakefile +10 -0
  11. data/daytona_api_client.gemspec +39 -0
  12. data/fix-gemspec.sh +11 -0
  13. data/lib/daytona_api_client/api/api_keys_api.rb +401 -0
  14. data/lib/daytona_api_client/api/audit_api.rb +192 -0
  15. data/lib/daytona_api_client/api/config_api.rb +77 -0
  16. data/lib/daytona_api_client/api/docker_registry_api.rb +472 -0
  17. data/lib/daytona_api_client/api/health_api.rb +75 -0
  18. data/lib/daytona_api_client/api/object_storage_api.rb +80 -0
  19. data/lib/daytona_api_client/api/organizations_api.rb +1902 -0
  20. data/lib/daytona_api_client/api/preview_api.rb +211 -0
  21. data/lib/daytona_api_client/api/regions_api.rb +83 -0
  22. data/lib/daytona_api_client/api/runners_api.rb +376 -0
  23. data/lib/daytona_api_client/api/sandbox_api.rb +1660 -0
  24. data/lib/daytona_api_client/api/snapshots_api.rb +641 -0
  25. data/lib/daytona_api_client/api/toolbox_api.rb +5108 -0
  26. data/lib/daytona_api_client/api/users_api.rb +553 -0
  27. data/lib/daytona_api_client/api/volumes_api.rb +342 -0
  28. data/lib/daytona_api_client/api/webhooks_api.rb +413 -0
  29. data/lib/daytona_api_client/api/workspace_api.rb +955 -0
  30. data/lib/daytona_api_client/api_client.rb +393 -0
  31. data/lib/daytona_api_client/api_error.rb +58 -0
  32. data/lib/daytona_api_client/configuration.rb +306 -0
  33. data/lib/daytona_api_client/models/account_provider.rb +261 -0
  34. data/lib/daytona_api_client/models/announcement.rb +246 -0
  35. data/lib/daytona_api_client/models/api_key_list.rb +384 -0
  36. data/lib/daytona_api_client/models/api_key_response.rb +344 -0
  37. data/lib/daytona_api_client/models/audit_log.rb +422 -0
  38. data/lib/daytona_api_client/models/build_info.rb +285 -0
  39. data/lib/daytona_api_client/models/command.rb +273 -0
  40. data/lib/daytona_api_client/models/completion_context.rb +244 -0
  41. data/lib/daytona_api_client/models/completion_item.rb +289 -0
  42. data/lib/daytona_api_client/models/completion_list.rb +263 -0
  43. data/lib/daytona_api_client/models/compressed_screenshot_response.rb +256 -0
  44. data/lib/daytona_api_client/models/computer_use_start_response.rb +263 -0
  45. data/lib/daytona_api_client/models/computer_use_status_response.rb +260 -0
  46. data/lib/daytona_api_client/models/computer_use_stop_response.rb +263 -0
  47. data/lib/daytona_api_client/models/create_api_key.rb +288 -0
  48. data/lib/daytona_api_client/models/create_audit_log.rb +350 -0
  49. data/lib/daytona_api_client/models/create_build_info.rb +248 -0
  50. data/lib/daytona_api_client/models/create_docker_registry.rb +388 -0
  51. data/lib/daytona_api_client/models/create_linked_account.rb +263 -0
  52. data/lib/daytona_api_client/models/create_organization.rb +263 -0
  53. data/lib/daytona_api_client/models/create_organization_invitation.rb +326 -0
  54. data/lib/daytona_api_client/models/create_organization_quota.rb +290 -0
  55. data/lib/daytona_api_client/models/create_organization_role.rb +304 -0
  56. data/lib/daytona_api_client/models/create_runner.rb +545 -0
  57. data/lib/daytona_api_client/models/create_sandbox.rb +439 -0
  58. data/lib/daytona_api_client/models/create_session_request.rb +236 -0
  59. data/lib/daytona_api_client/models/create_snapshot.rb +318 -0
  60. data/lib/daytona_api_client/models/create_user.rb +340 -0
  61. data/lib/daytona_api_client/models/create_volume.rb +235 -0
  62. data/lib/daytona_api_client/models/create_workspace.rb +411 -0
  63. data/lib/daytona_api_client/models/daytona_configuration.rb +568 -0
  64. data/lib/daytona_api_client/models/display_info_response.rb +238 -0
  65. data/lib/daytona_api_client/models/docker_registry.rb +449 -0
  66. data/lib/daytona_api_client/models/download_files.rb +238 -0
  67. data/lib/daytona_api_client/models/execute_request.rb +255 -0
  68. data/lib/daytona_api_client/models/execute_response.rb +263 -0
  69. data/lib/daytona_api_client/models/file_info.rb +417 -0
  70. data/lib/daytona_api_client/models/file_status.rb +313 -0
  71. data/lib/daytona_api_client/models/git_add_request.rb +264 -0
  72. data/lib/daytona_api_client/models/git_branch_request.rb +261 -0
  73. data/lib/daytona_api_client/models/git_checkout_request.rb +261 -0
  74. data/lib/daytona_api_client/models/git_clone_request.rb +297 -0
  75. data/lib/daytona_api_client/models/git_commit_info.rb +339 -0
  76. data/lib/daytona_api_client/models/git_commit_request.rb +325 -0
  77. data/lib/daytona_api_client/models/git_commit_response.rb +235 -0
  78. data/lib/daytona_api_client/models/git_delete_branch_request.rb +261 -0
  79. data/lib/daytona_api_client/models/git_repo_request.rb +253 -0
  80. data/lib/daytona_api_client/models/git_status.rb +290 -0
  81. data/lib/daytona_api_client/models/health_controller_check200_response.rb +253 -0
  82. data/lib/daytona_api_client/models/health_controller_check200_response_info_value.rb +235 -0
  83. data/lib/daytona_api_client/models/health_controller_check503_response.rb +253 -0
  84. data/lib/daytona_api_client/models/keyboard_hotkey_request.rb +236 -0
  85. data/lib/daytona_api_client/models/keyboard_press_request.rb +248 -0
  86. data/lib/daytona_api_client/models/keyboard_type_request.rb +246 -0
  87. data/lib/daytona_api_client/models/list_branch_response.rb +237 -0
  88. data/lib/daytona_api_client/models/lsp_completion_params.rb +325 -0
  89. data/lib/daytona_api_client/models/lsp_document_request.rb +290 -0
  90. data/lib/daytona_api_client/models/lsp_location.rb +261 -0
  91. data/lib/daytona_api_client/models/lsp_server_request.rb +263 -0
  92. data/lib/daytona_api_client/models/lsp_symbol.rb +287 -0
  93. data/lib/daytona_api_client/models/match.rb +287 -0
  94. data/lib/daytona_api_client/models/mouse_click_request.rb +283 -0
  95. data/lib/daytona_api_client/models/mouse_click_response.rb +263 -0
  96. data/lib/daytona_api_client/models/mouse_drag_request.rb +327 -0
  97. data/lib/daytona_api_client/models/mouse_drag_response.rb +263 -0
  98. data/lib/daytona_api_client/models/mouse_move_request.rb +263 -0
  99. data/lib/daytona_api_client/models/mouse_move_response.rb +263 -0
  100. data/lib/daytona_api_client/models/mouse_position.rb +263 -0
  101. data/lib/daytona_api_client/models/mouse_scroll_request.rb +300 -0
  102. data/lib/daytona_api_client/models/mouse_scroll_response.rb +236 -0
  103. data/lib/daytona_api_client/models/oidc_config.rb +290 -0
  104. data/lib/daytona_api_client/models/organization.rb +663 -0
  105. data/lib/daytona_api_client/models/organization_invitation.rb +534 -0
  106. data/lib/daytona_api_client/models/organization_role.rb +412 -0
  107. data/lib/daytona_api_client/models/organization_sandbox_default_limited_network_egress.rb +236 -0
  108. data/lib/daytona_api_client/models/organization_suspension.rb +290 -0
  109. data/lib/daytona_api_client/models/organization_usage_overview.rb +341 -0
  110. data/lib/daytona_api_client/models/organization_user.rb +451 -0
  111. data/lib/daytona_api_client/models/paginated_audit_logs.rb +325 -0
  112. data/lib/daytona_api_client/models/paginated_sandboxes.rb +315 -0
  113. data/lib/daytona_api_client/models/paginated_snapshots.rb +315 -0
  114. data/lib/daytona_api_client/models/paginated_snapshots_dto.rb +315 -0
  115. data/lib/daytona_api_client/models/port_preview_url.rb +290 -0
  116. data/lib/daytona_api_client/models/position.rb +261 -0
  117. data/lib/daytona_api_client/models/posthog_config.rb +263 -0
  118. data/lib/daytona_api_client/models/process_errors_response.rb +263 -0
  119. data/lib/daytona_api_client/models/process_logs_response.rb +263 -0
  120. data/lib/daytona_api_client/models/process_restart_response.rb +263 -0
  121. data/lib/daytona_api_client/models/process_status_response.rb +263 -0
  122. data/lib/daytona_api_client/models/project_dir_response.rb +218 -0
  123. data/lib/daytona_api_client/models/pty_create_request.rb +288 -0
  124. data/lib/daytona_api_client/models/pty_create_response.rb +236 -0
  125. data/lib/daytona_api_client/models/pty_list_response.rb +238 -0
  126. data/lib/daytona_api_client/models/pty_resize_request.rb +263 -0
  127. data/lib/daytona_api_client/models/pty_session_info.rb +425 -0
  128. data/lib/daytona_api_client/models/range.rb +261 -0
  129. data/lib/daytona_api_client/models/rate_limit_config.rb +249 -0
  130. data/lib/daytona_api_client/models/rate_limit_entry.rb +229 -0
  131. data/lib/daytona_api_client/models/region.rb +328 -0
  132. data/lib/daytona_api_client/models/region_quota.rb +339 -0
  133. data/lib/daytona_api_client/models/region_screenshot_response.rb +256 -0
  134. data/lib/daytona_api_client/models/region_usage_overview.rb +391 -0
  135. data/lib/daytona_api_client/models/registry_push_access_dto.rb +371 -0
  136. data/lib/daytona_api_client/models/replace_request.rb +289 -0
  137. data/lib/daytona_api_client/models/replace_result.rb +236 -0
  138. data/lib/daytona_api_client/models/runner.rb +780 -0
  139. data/lib/daytona_api_client/models/runner_snapshot_dto.rb +290 -0
  140. data/lib/daytona_api_client/models/runner_state.rb +43 -0
  141. data/lib/daytona_api_client/models/sandbox.rb +782 -0
  142. data/lib/daytona_api_client/models/sandbox_class.rb +41 -0
  143. data/lib/daytona_api_client/models/sandbox_desired_state.rb +43 -0
  144. data/lib/daytona_api_client/models/sandbox_info.rb +273 -0
  145. data/lib/daytona_api_client/models/sandbox_labels.rb +238 -0
  146. data/lib/daytona_api_client/models/sandbox_state.rb +54 -0
  147. data/lib/daytona_api_client/models/sandbox_volume.rb +273 -0
  148. data/lib/daytona_api_client/models/screenshot_response.rb +256 -0
  149. data/lib/daytona_api_client/models/search_files_response.rb +237 -0
  150. data/lib/daytona_api_client/models/send_webhook_dto.rb +273 -0
  151. data/lib/daytona_api_client/models/session.rb +251 -0
  152. data/lib/daytona_api_client/models/session_execute_request.rb +256 -0
  153. data/lib/daytona_api_client/models/session_execute_response.rb +239 -0
  154. data/lib/daytona_api_client/models/set_snapshot_general_status_dto.rb +236 -0
  155. data/lib/daytona_api_client/models/snapshot_dto.rb +569 -0
  156. data/lib/daytona_api_client/models/snapshot_state.rb +46 -0
  157. data/lib/daytona_api_client/models/ssh_access_dto.rb +371 -0
  158. data/lib/daytona_api_client/models/ssh_access_validation_dto.rb +263 -0
  159. data/lib/daytona_api_client/models/storage_access_dto.rb +371 -0
  160. data/lib/daytona_api_client/models/update_docker_registry.rb +310 -0
  161. data/lib/daytona_api_client/models/update_organization_default_region.rb +236 -0
  162. data/lib/daytona_api_client/models/update_organization_invitation.rb +299 -0
  163. data/lib/daytona_api_client/models/update_organization_member_access.rb +289 -0
  164. data/lib/daytona_api_client/models/update_organization_quota.rb +317 -0
  165. data/lib/daytona_api_client/models/update_organization_region_quota.rb +245 -0
  166. data/lib/daytona_api_client/models/update_organization_role.rb +304 -0
  167. data/lib/daytona_api_client/models/update_sandbox_state_dto.rb +270 -0
  168. data/lib/daytona_api_client/models/user.rb +346 -0
  169. data/lib/daytona_api_client/models/user_home_dir_response.rb +218 -0
  170. data/lib/daytona_api_client/models/user_public_key.rb +263 -0
  171. data/lib/daytona_api_client/models/volume_dto.rb +417 -0
  172. data/lib/daytona_api_client/models/volume_state.rb +45 -0
  173. data/lib/daytona_api_client/models/webhook_app_portal_access.rb +236 -0
  174. data/lib/daytona_api_client/models/webhook_controller_get_status200_response.rb +218 -0
  175. data/lib/daytona_api_client/models/webhook_initialization_status.rb +343 -0
  176. data/lib/daytona_api_client/models/windows_response.rb +265 -0
  177. data/lib/daytona_api_client/models/work_dir_response.rb +218 -0
  178. data/lib/daytona_api_client/models/workspace.rb +834 -0
  179. data/lib/daytona_api_client/models/workspace_port_preview_url.rb +263 -0
  180. data/lib/daytona_api_client/version.rb +15 -0
  181. data/lib/daytona_api_client.rb +201 -0
  182. data/project.json +59 -0
  183. metadata +261 -0
@@ -0,0 +1,568 @@
1
+ =begin
2
+ #Daytona
3
+
4
+ #Daytona AI platform API Docs
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@daytona.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.12.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module DaytonaApiClient
17
+ class DaytonaConfiguration
18
+ # Daytona version
19
+ attr_accessor :version
20
+
21
+ # PostHog configuration
22
+ attr_accessor :posthog
23
+
24
+ # OIDC configuration
25
+ attr_accessor :oidc
26
+
27
+ # Whether linked accounts are enabled
28
+ attr_accessor :linked_accounts_enabled
29
+
30
+ # System announcements
31
+ attr_accessor :announcements
32
+
33
+ # Pylon application ID
34
+ attr_accessor :pylon_app_id
35
+
36
+ # Proxy template URL
37
+ attr_accessor :proxy_template_url
38
+
39
+ # Toolbox template URL
40
+ attr_accessor :proxy_toolbox_url
41
+
42
+ # Default snapshot for sandboxes
43
+ attr_accessor :default_snapshot
44
+
45
+ # Dashboard URL
46
+ attr_accessor :dashboard_url
47
+
48
+ # Maximum auto-archive interval in minutes
49
+ attr_accessor :max_auto_archive_interval
50
+
51
+ # Whether maintenance mode is enabled
52
+ attr_accessor :maintanance_mode
53
+
54
+ # Current environment
55
+ attr_accessor :environment
56
+
57
+ # Billing API URL
58
+ attr_accessor :billing_api_url
59
+
60
+ # SSH Gateway command
61
+ attr_accessor :ssh_gateway_command
62
+
63
+ # Base64 encoded SSH Gateway public key
64
+ attr_accessor :ssh_gateway_public_key
65
+
66
+ # Rate limit configuration
67
+ attr_accessor :rate_limit
68
+
69
+ # Attribute mapping from ruby-style variable name to JSON key.
70
+ def self.attribute_map
71
+ {
72
+ :'version' => :'version',
73
+ :'posthog' => :'posthog',
74
+ :'oidc' => :'oidc',
75
+ :'linked_accounts_enabled' => :'linkedAccountsEnabled',
76
+ :'announcements' => :'announcements',
77
+ :'pylon_app_id' => :'pylonAppId',
78
+ :'proxy_template_url' => :'proxyTemplateUrl',
79
+ :'proxy_toolbox_url' => :'proxyToolboxUrl',
80
+ :'default_snapshot' => :'defaultSnapshot',
81
+ :'dashboard_url' => :'dashboardUrl',
82
+ :'max_auto_archive_interval' => :'maxAutoArchiveInterval',
83
+ :'maintanance_mode' => :'maintananceMode',
84
+ :'environment' => :'environment',
85
+ :'billing_api_url' => :'billingApiUrl',
86
+ :'ssh_gateway_command' => :'sshGatewayCommand',
87
+ :'ssh_gateway_public_key' => :'sshGatewayPublicKey',
88
+ :'rate_limit' => :'rateLimit'
89
+ }
90
+ end
91
+
92
+ # Returns attribute mapping this model knows about
93
+ def self.acceptable_attribute_map
94
+ attribute_map
95
+ end
96
+
97
+ # Returns all the JSON keys this model knows about
98
+ def self.acceptable_attributes
99
+ acceptable_attribute_map.values
100
+ end
101
+
102
+ # Attribute type mapping.
103
+ def self.openapi_types
104
+ {
105
+ :'version' => :'String',
106
+ :'posthog' => :'PosthogConfig',
107
+ :'oidc' => :'OidcConfig',
108
+ :'linked_accounts_enabled' => :'Boolean',
109
+ :'announcements' => :'Hash<String, Announcement>',
110
+ :'pylon_app_id' => :'String',
111
+ :'proxy_template_url' => :'String',
112
+ :'proxy_toolbox_url' => :'String',
113
+ :'default_snapshot' => :'String',
114
+ :'dashboard_url' => :'String',
115
+ :'max_auto_archive_interval' => :'Float',
116
+ :'maintanance_mode' => :'Boolean',
117
+ :'environment' => :'String',
118
+ :'billing_api_url' => :'String',
119
+ :'ssh_gateway_command' => :'String',
120
+ :'ssh_gateway_public_key' => :'String',
121
+ :'rate_limit' => :'RateLimitConfig'
122
+ }
123
+ end
124
+
125
+ # List of attributes with nullable: true
126
+ def self.openapi_nullable
127
+ Set.new([
128
+ ])
129
+ end
130
+
131
+ # Initializes the object
132
+ # @param [Hash] attributes Model attributes in the form of hash
133
+ def initialize(attributes = {})
134
+ if (!attributes.is_a?(Hash))
135
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::DaytonaConfiguration` initialize method"
136
+ end
137
+
138
+ # check to see if the attribute exists and convert string to symbol for hash key
139
+ acceptable_attribute_map = self.class.acceptable_attribute_map
140
+ attributes = attributes.each_with_object({}) { |(k, v), h|
141
+ if (!acceptable_attribute_map.key?(k.to_sym))
142
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::DaytonaConfiguration`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
143
+ end
144
+ h[k.to_sym] = v
145
+ }
146
+
147
+ if attributes.key?(:'version')
148
+ self.version = attributes[:'version']
149
+ else
150
+ self.version = nil
151
+ end
152
+
153
+ if attributes.key?(:'posthog')
154
+ self.posthog = attributes[:'posthog']
155
+ end
156
+
157
+ if attributes.key?(:'oidc')
158
+ self.oidc = attributes[:'oidc']
159
+ else
160
+ self.oidc = nil
161
+ end
162
+
163
+ if attributes.key?(:'linked_accounts_enabled')
164
+ self.linked_accounts_enabled = attributes[:'linked_accounts_enabled']
165
+ else
166
+ self.linked_accounts_enabled = nil
167
+ end
168
+
169
+ if attributes.key?(:'announcements')
170
+ if (value = attributes[:'announcements']).is_a?(Hash)
171
+ self.announcements = value
172
+ end
173
+ else
174
+ self.announcements = nil
175
+ end
176
+
177
+ if attributes.key?(:'pylon_app_id')
178
+ self.pylon_app_id = attributes[:'pylon_app_id']
179
+ end
180
+
181
+ if attributes.key?(:'proxy_template_url')
182
+ self.proxy_template_url = attributes[:'proxy_template_url']
183
+ else
184
+ self.proxy_template_url = nil
185
+ end
186
+
187
+ if attributes.key?(:'proxy_toolbox_url')
188
+ self.proxy_toolbox_url = attributes[:'proxy_toolbox_url']
189
+ else
190
+ self.proxy_toolbox_url = nil
191
+ end
192
+
193
+ if attributes.key?(:'default_snapshot')
194
+ self.default_snapshot = attributes[:'default_snapshot']
195
+ else
196
+ self.default_snapshot = nil
197
+ end
198
+
199
+ if attributes.key?(:'dashboard_url')
200
+ self.dashboard_url = attributes[:'dashboard_url']
201
+ else
202
+ self.dashboard_url = nil
203
+ end
204
+
205
+ if attributes.key?(:'max_auto_archive_interval')
206
+ self.max_auto_archive_interval = attributes[:'max_auto_archive_interval']
207
+ else
208
+ self.max_auto_archive_interval = nil
209
+ end
210
+
211
+ if attributes.key?(:'maintanance_mode')
212
+ self.maintanance_mode = attributes[:'maintanance_mode']
213
+ else
214
+ self.maintanance_mode = nil
215
+ end
216
+
217
+ if attributes.key?(:'environment')
218
+ self.environment = attributes[:'environment']
219
+ else
220
+ self.environment = nil
221
+ end
222
+
223
+ if attributes.key?(:'billing_api_url')
224
+ self.billing_api_url = attributes[:'billing_api_url']
225
+ end
226
+
227
+ if attributes.key?(:'ssh_gateway_command')
228
+ self.ssh_gateway_command = attributes[:'ssh_gateway_command']
229
+ end
230
+
231
+ if attributes.key?(:'ssh_gateway_public_key')
232
+ self.ssh_gateway_public_key = attributes[:'ssh_gateway_public_key']
233
+ end
234
+
235
+ if attributes.key?(:'rate_limit')
236
+ self.rate_limit = attributes[:'rate_limit']
237
+ end
238
+ end
239
+
240
+ # Show invalid properties with the reasons. Usually used together with valid?
241
+ # @return Array for valid properties with the reasons
242
+ def list_invalid_properties
243
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
244
+ invalid_properties = Array.new
245
+ if @version.nil?
246
+ invalid_properties.push('invalid value for "version", version cannot be nil.')
247
+ end
248
+
249
+ if @oidc.nil?
250
+ invalid_properties.push('invalid value for "oidc", oidc cannot be nil.')
251
+ end
252
+
253
+ if @linked_accounts_enabled.nil?
254
+ invalid_properties.push('invalid value for "linked_accounts_enabled", linked_accounts_enabled cannot be nil.')
255
+ end
256
+
257
+ if @announcements.nil?
258
+ invalid_properties.push('invalid value for "announcements", announcements cannot be nil.')
259
+ end
260
+
261
+ if @proxy_template_url.nil?
262
+ invalid_properties.push('invalid value for "proxy_template_url", proxy_template_url cannot be nil.')
263
+ end
264
+
265
+ if @proxy_toolbox_url.nil?
266
+ invalid_properties.push('invalid value for "proxy_toolbox_url", proxy_toolbox_url cannot be nil.')
267
+ end
268
+
269
+ if @default_snapshot.nil?
270
+ invalid_properties.push('invalid value for "default_snapshot", default_snapshot cannot be nil.')
271
+ end
272
+
273
+ if @dashboard_url.nil?
274
+ invalid_properties.push('invalid value for "dashboard_url", dashboard_url cannot be nil.')
275
+ end
276
+
277
+ if @max_auto_archive_interval.nil?
278
+ invalid_properties.push('invalid value for "max_auto_archive_interval", max_auto_archive_interval cannot be nil.')
279
+ end
280
+
281
+ if @maintanance_mode.nil?
282
+ invalid_properties.push('invalid value for "maintanance_mode", maintanance_mode cannot be nil.')
283
+ end
284
+
285
+ if @environment.nil?
286
+ invalid_properties.push('invalid value for "environment", environment cannot be nil.')
287
+ end
288
+
289
+ invalid_properties
290
+ end
291
+
292
+ # Check to see if the all the properties in the model are valid
293
+ # @return true if the model is valid
294
+ def valid?
295
+ warn '[DEPRECATED] the `valid?` method is obsolete'
296
+ return false if @version.nil?
297
+ return false if @oidc.nil?
298
+ return false if @linked_accounts_enabled.nil?
299
+ return false if @announcements.nil?
300
+ return false if @proxy_template_url.nil?
301
+ return false if @proxy_toolbox_url.nil?
302
+ return false if @default_snapshot.nil?
303
+ return false if @dashboard_url.nil?
304
+ return false if @max_auto_archive_interval.nil?
305
+ return false if @maintanance_mode.nil?
306
+ return false if @environment.nil?
307
+ true
308
+ end
309
+
310
+ # Custom attribute writer method with validation
311
+ # @param [Object] version Value to be assigned
312
+ def version=(version)
313
+ if version.nil?
314
+ fail ArgumentError, 'version cannot be nil'
315
+ end
316
+
317
+ @version = version
318
+ end
319
+
320
+ # Custom attribute writer method with validation
321
+ # @param [Object] oidc Value to be assigned
322
+ def oidc=(oidc)
323
+ if oidc.nil?
324
+ fail ArgumentError, 'oidc cannot be nil'
325
+ end
326
+
327
+ @oidc = oidc
328
+ end
329
+
330
+ # Custom attribute writer method with validation
331
+ # @param [Object] linked_accounts_enabled Value to be assigned
332
+ def linked_accounts_enabled=(linked_accounts_enabled)
333
+ if linked_accounts_enabled.nil?
334
+ fail ArgumentError, 'linked_accounts_enabled cannot be nil'
335
+ end
336
+
337
+ @linked_accounts_enabled = linked_accounts_enabled
338
+ end
339
+
340
+ # Custom attribute writer method with validation
341
+ # @param [Object] announcements Value to be assigned
342
+ def announcements=(announcements)
343
+ if announcements.nil?
344
+ fail ArgumentError, 'announcements cannot be nil'
345
+ end
346
+
347
+ @announcements = announcements
348
+ end
349
+
350
+ # Custom attribute writer method with validation
351
+ # @param [Object] proxy_template_url Value to be assigned
352
+ def proxy_template_url=(proxy_template_url)
353
+ if proxy_template_url.nil?
354
+ fail ArgumentError, 'proxy_template_url cannot be nil'
355
+ end
356
+
357
+ @proxy_template_url = proxy_template_url
358
+ end
359
+
360
+ # Custom attribute writer method with validation
361
+ # @param [Object] proxy_toolbox_url Value to be assigned
362
+ def proxy_toolbox_url=(proxy_toolbox_url)
363
+ if proxy_toolbox_url.nil?
364
+ fail ArgumentError, 'proxy_toolbox_url cannot be nil'
365
+ end
366
+
367
+ @proxy_toolbox_url = proxy_toolbox_url
368
+ end
369
+
370
+ # Custom attribute writer method with validation
371
+ # @param [Object] default_snapshot Value to be assigned
372
+ def default_snapshot=(default_snapshot)
373
+ if default_snapshot.nil?
374
+ fail ArgumentError, 'default_snapshot cannot be nil'
375
+ end
376
+
377
+ @default_snapshot = default_snapshot
378
+ end
379
+
380
+ # Custom attribute writer method with validation
381
+ # @param [Object] dashboard_url Value to be assigned
382
+ def dashboard_url=(dashboard_url)
383
+ if dashboard_url.nil?
384
+ fail ArgumentError, 'dashboard_url cannot be nil'
385
+ end
386
+
387
+ @dashboard_url = dashboard_url
388
+ end
389
+
390
+ # Custom attribute writer method with validation
391
+ # @param [Object] max_auto_archive_interval Value to be assigned
392
+ def max_auto_archive_interval=(max_auto_archive_interval)
393
+ if max_auto_archive_interval.nil?
394
+ fail ArgumentError, 'max_auto_archive_interval cannot be nil'
395
+ end
396
+
397
+ @max_auto_archive_interval = max_auto_archive_interval
398
+ end
399
+
400
+ # Custom attribute writer method with validation
401
+ # @param [Object] maintanance_mode Value to be assigned
402
+ def maintanance_mode=(maintanance_mode)
403
+ if maintanance_mode.nil?
404
+ fail ArgumentError, 'maintanance_mode cannot be nil'
405
+ end
406
+
407
+ @maintanance_mode = maintanance_mode
408
+ end
409
+
410
+ # Custom attribute writer method with validation
411
+ # @param [Object] environment Value to be assigned
412
+ def environment=(environment)
413
+ if environment.nil?
414
+ fail ArgumentError, 'environment cannot be nil'
415
+ end
416
+
417
+ @environment = environment
418
+ end
419
+
420
+ # Checks equality by comparing each attribute.
421
+ # @param [Object] Object to be compared
422
+ def ==(o)
423
+ return true if self.equal?(o)
424
+ self.class == o.class &&
425
+ version == o.version &&
426
+ posthog == o.posthog &&
427
+ oidc == o.oidc &&
428
+ linked_accounts_enabled == o.linked_accounts_enabled &&
429
+ announcements == o.announcements &&
430
+ pylon_app_id == o.pylon_app_id &&
431
+ proxy_template_url == o.proxy_template_url &&
432
+ proxy_toolbox_url == o.proxy_toolbox_url &&
433
+ default_snapshot == o.default_snapshot &&
434
+ dashboard_url == o.dashboard_url &&
435
+ max_auto_archive_interval == o.max_auto_archive_interval &&
436
+ maintanance_mode == o.maintanance_mode &&
437
+ environment == o.environment &&
438
+ billing_api_url == o.billing_api_url &&
439
+ ssh_gateway_command == o.ssh_gateway_command &&
440
+ ssh_gateway_public_key == o.ssh_gateway_public_key &&
441
+ rate_limit == o.rate_limit
442
+ end
443
+
444
+ # @see the `==` method
445
+ # @param [Object] Object to be compared
446
+ def eql?(o)
447
+ self == o
448
+ end
449
+
450
+ # Calculates hash code according to all attributes.
451
+ # @return [Integer] Hash code
452
+ def hash
453
+ [version, posthog, oidc, linked_accounts_enabled, announcements, pylon_app_id, proxy_template_url, proxy_toolbox_url, default_snapshot, dashboard_url, max_auto_archive_interval, maintanance_mode, environment, billing_api_url, ssh_gateway_command, ssh_gateway_public_key, rate_limit].hash
454
+ end
455
+
456
+ # Builds the object from hash
457
+ # @param [Hash] attributes Model attributes in the form of hash
458
+ # @return [Object] Returns the model itself
459
+ def self.build_from_hash(attributes)
460
+ return nil unless attributes.is_a?(Hash)
461
+ attributes = attributes.transform_keys(&:to_sym)
462
+ transformed_hash = {}
463
+ openapi_types.each_pair do |key, type|
464
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
465
+ transformed_hash["#{key}"] = nil
466
+ elsif type =~ /\AArray<(.*)>/i
467
+ # check to ensure the input is an array given that the attribute
468
+ # is documented as an array but the input is not
469
+ if attributes[attribute_map[key]].is_a?(Array)
470
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
471
+ end
472
+ elsif !attributes[attribute_map[key]].nil?
473
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
474
+ end
475
+ end
476
+ new(transformed_hash)
477
+ end
478
+
479
+ # Deserializes the data based on type
480
+ # @param string type Data type
481
+ # @param string value Value to be deserialized
482
+ # @return [Object] Deserialized data
483
+ def self._deserialize(type, value)
484
+ case type.to_sym
485
+ when :Time
486
+ Time.parse(value)
487
+ when :Date
488
+ Date.parse(value)
489
+ when :String
490
+ value.to_s
491
+ when :Integer
492
+ value.to_i
493
+ when :Float
494
+ value.to_f
495
+ when :Boolean
496
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
497
+ true
498
+ else
499
+ false
500
+ end
501
+ when :Object
502
+ # generic object (usually a Hash), return directly
503
+ value
504
+ when /\AArray<(?<inner_type>.+)>\z/
505
+ inner_type = Regexp.last_match[:inner_type]
506
+ value.map { |v| _deserialize(inner_type, v) }
507
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
508
+ k_type = Regexp.last_match[:k_type]
509
+ v_type = Regexp.last_match[:v_type]
510
+ {}.tap do |hash|
511
+ value.each do |k, v|
512
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
513
+ end
514
+ end
515
+ else # model
516
+ # models (e.g. Pet) or oneOf
517
+ klass = DaytonaApiClient.const_get(type)
518
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
519
+ end
520
+ end
521
+
522
+ # Returns the string representation of the object
523
+ # @return [String] String presentation of the object
524
+ def to_s
525
+ to_hash.to_s
526
+ end
527
+
528
+ # to_body is an alias to to_hash (backward compatibility)
529
+ # @return [Hash] Returns the object in the form of hash
530
+ def to_body
531
+ to_hash
532
+ end
533
+
534
+ # Returns the object in the form of hash
535
+ # @return [Hash] Returns the object in the form of hash
536
+ def to_hash
537
+ hash = {}
538
+ self.class.attribute_map.each_pair do |attr, param|
539
+ value = self.send(attr)
540
+ if value.nil?
541
+ is_nullable = self.class.openapi_nullable.include?(attr)
542
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
543
+ end
544
+
545
+ hash[param] = _to_hash(value)
546
+ end
547
+ hash
548
+ end
549
+
550
+ # Outputs non-array value in the form of hash
551
+ # For object, use to_hash. Otherwise, just return the value
552
+ # @param [Object] value Any valid value
553
+ # @return [Hash] Returns the value in the form of hash
554
+ def _to_hash(value)
555
+ if value.is_a?(Array)
556
+ value.compact.map { |v| _to_hash(v) }
557
+ elsif value.is_a?(Hash)
558
+ {}.tap do |hash|
559
+ value.each { |k, v| hash[k] = _to_hash(v) }
560
+ end
561
+ elsif value.respond_to? :to_hash
562
+ value.to_hash
563
+ else
564
+ value
565
+ end
566
+ end
567
+ end
568
+ end