nightona_api_client 0.191.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 (219) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +39 -0
  3. data/.openapi-generator/FILES +212 -0
  4. data/.openapi-generator/VERSION +1 -0
  5. data/.openapi-generator-ignore +31 -0
  6. data/.rspec +2 -0
  7. data/.rubocop.yml +148 -0
  8. data/Rakefile +10 -0
  9. data/fix-gemspec.sh +11 -0
  10. data/lib/nightona_api_client/api/admin_api.rb +1449 -0
  11. data/lib/nightona_api_client/api/api_keys_api.rb +401 -0
  12. data/lib/nightona_api_client/api/audit_api.rb +110 -0
  13. data/lib/nightona_api_client/api/config_api.rb +77 -0
  14. data/lib/nightona_api_client/api/docker_registry_api.rb +411 -0
  15. data/lib/nightona_api_client/api/health_api.rb +126 -0
  16. data/lib/nightona_api_client/api/jobs_api.rb +299 -0
  17. data/lib/nightona_api_client/api/object_storage_api.rb +80 -0
  18. data/lib/nightona_api_client/api/organizations_api.rb +2615 -0
  19. data/lib/nightona_api_client/api/preview_api.rb +278 -0
  20. data/lib/nightona_api_client/api/regions_api.rb +77 -0
  21. data/lib/nightona_api_client/api/runners_api.rb +711 -0
  22. data/lib/nightona_api_client/api/sandbox_api.rb +3064 -0
  23. data/lib/nightona_api_client/api/snapshots_api.rb +567 -0
  24. data/lib/nightona_api_client/api/toolbox_api.rb +5108 -0
  25. data/lib/nightona_api_client/api/users_api.rb +316 -0
  26. data/lib/nightona_api_client/api/volumes_api.rb +342 -0
  27. data/lib/nightona_api_client/api/webhooks_api.rb +276 -0
  28. data/lib/nightona_api_client/api_client.rb +397 -0
  29. data/lib/nightona_api_client/api_error.rb +58 -0
  30. data/lib/nightona_api_client/api_model_base.rb +88 -0
  31. data/lib/nightona_api_client/configuration.rb +309 -0
  32. data/lib/nightona_api_client/models/account_provider.rb +190 -0
  33. data/lib/nightona_api_client/models/admin_create_runner.rb +326 -0
  34. data/lib/nightona_api_client/models/admin_get_webhook_status200_response.rb +147 -0
  35. data/lib/nightona_api_client/models/announcement.rb +175 -0
  36. data/lib/nightona_api_client/models/api_key_list.rb +313 -0
  37. data/lib/nightona_api_client/models/api_key_response.rb +273 -0
  38. data/lib/nightona_api_client/models/audit_log.rb +369 -0
  39. data/lib/nightona_api_client/models/build_info.rb +241 -0
  40. data/lib/nightona_api_client/models/command.rb +202 -0
  41. data/lib/nightona_api_client/models/completion_context.rb +173 -0
  42. data/lib/nightona_api_client/models/completion_item.rb +218 -0
  43. data/lib/nightona_api_client/models/completion_list.rb +192 -0
  44. data/lib/nightona_api_client/models/compressed_screenshot_response.rb +185 -0
  45. data/lib/nightona_api_client/models/computer_use_start_response.rb +192 -0
  46. data/lib/nightona_api_client/models/computer_use_status_response.rb +189 -0
  47. data/lib/nightona_api_client/models/computer_use_stop_response.rb +192 -0
  48. data/lib/nightona_api_client/models/create_api_key.rb +217 -0
  49. data/lib/nightona_api_client/models/create_build_info.rb +177 -0
  50. data/lib/nightona_api_client/models/create_docker_registry.rb +256 -0
  51. data/lib/nightona_api_client/models/create_linked_account.rb +192 -0
  52. data/lib/nightona_api_client/models/create_organization.rb +192 -0
  53. data/lib/nightona_api_client/models/create_organization_invitation.rb +255 -0
  54. data/lib/nightona_api_client/models/create_organization_quota.rb +219 -0
  55. data/lib/nightona_api_client/models/create_organization_region_quota.rb +372 -0
  56. data/lib/nightona_api_client/models/create_organization_role.rb +233 -0
  57. data/lib/nightona_api_client/models/create_region.rb +198 -0
  58. data/lib/nightona_api_client/models/create_region_response.rb +209 -0
  59. data/lib/nightona_api_client/models/create_runner.rb +202 -0
  60. data/lib/nightona_api_client/models/create_runner_response.rb +192 -0
  61. data/lib/nightona_api_client/models/create_sandbox.rb +356 -0
  62. data/lib/nightona_api_client/models/create_sandbox_snapshot.rb +177 -0
  63. data/lib/nightona_api_client/models/create_session_request.rb +165 -0
  64. data/lib/nightona_api_client/models/create_snapshot.rb +291 -0
  65. data/lib/nightona_api_client/models/create_user.rb +269 -0
  66. data/lib/nightona_api_client/models/create_volume.rb +164 -0
  67. data/lib/nightona_api_client/models/display_info_response.rb +167 -0
  68. data/lib/nightona_api_client/models/docker_registry.rb +378 -0
  69. data/lib/nightona_api_client/models/download_files.rb +167 -0
  70. data/lib/nightona_api_client/models/execute_request.rb +184 -0
  71. data/lib/nightona_api_client/models/execute_response.rb +192 -0
  72. data/lib/nightona_api_client/models/file_info.rb +346 -0
  73. data/lib/nightona_api_client/models/file_status.rb +242 -0
  74. data/lib/nightona_api_client/models/fork_sandbox.rb +148 -0
  75. data/lib/nightona_api_client/models/git_add_request.rb +193 -0
  76. data/lib/nightona_api_client/models/git_branch_request.rb +190 -0
  77. data/lib/nightona_api_client/models/git_checkout_request.rb +190 -0
  78. data/lib/nightona_api_client/models/git_clone_request.rb +226 -0
  79. data/lib/nightona_api_client/models/git_commit_info.rb +268 -0
  80. data/lib/nightona_api_client/models/git_commit_request.rb +254 -0
  81. data/lib/nightona_api_client/models/git_commit_response.rb +164 -0
  82. data/lib/nightona_api_client/models/git_delete_branch_request.rb +190 -0
  83. data/lib/nightona_api_client/models/git_repo_request.rb +182 -0
  84. data/lib/nightona_api_client/models/git_status.rb +219 -0
  85. data/lib/nightona_api_client/models/gpu_type.rb +41 -0
  86. data/lib/nightona_api_client/models/health_controller_check200_response.rb +182 -0
  87. data/lib/nightona_api_client/models/health_controller_check200_response_info_value.rb +164 -0
  88. data/lib/nightona_api_client/models/health_controller_check503_response.rb +182 -0
  89. data/lib/nightona_api_client/models/job.rb +366 -0
  90. data/lib/nightona_api_client/models/job_status.rb +43 -0
  91. data/lib/nightona_api_client/models/job_type.rb +54 -0
  92. data/lib/nightona_api_client/models/keyboard_hotkey_request.rb +165 -0
  93. data/lib/nightona_api_client/models/keyboard_press_request.rb +177 -0
  94. data/lib/nightona_api_client/models/keyboard_type_request.rb +175 -0
  95. data/lib/nightona_api_client/models/list_branch_response.rb +166 -0
  96. data/lib/nightona_api_client/models/list_sandboxes_response.rb +180 -0
  97. data/lib/nightona_api_client/models/log_entry.rb +334 -0
  98. data/lib/nightona_api_client/models/lsp_completion_params.rb +254 -0
  99. data/lib/nightona_api_client/models/lsp_document_request.rb +219 -0
  100. data/lib/nightona_api_client/models/lsp_location.rb +190 -0
  101. data/lib/nightona_api_client/models/lsp_server_request.rb +192 -0
  102. data/lib/nightona_api_client/models/lsp_symbol.rb +216 -0
  103. data/lib/nightona_api_client/models/match.rb +216 -0
  104. data/lib/nightona_api_client/models/metric_data_point.rb +192 -0
  105. data/lib/nightona_api_client/models/metric_series.rb +194 -0
  106. data/lib/nightona_api_client/models/metrics_response.rb +167 -0
  107. data/lib/nightona_api_client/models/mouse_click_request.rb +212 -0
  108. data/lib/nightona_api_client/models/mouse_click_response.rb +192 -0
  109. data/lib/nightona_api_client/models/mouse_drag_request.rb +256 -0
  110. data/lib/nightona_api_client/models/mouse_drag_response.rb +192 -0
  111. data/lib/nightona_api_client/models/mouse_move_request.rb +192 -0
  112. data/lib/nightona_api_client/models/mouse_move_response.rb +192 -0
  113. data/lib/nightona_api_client/models/mouse_position.rb +192 -0
  114. data/lib/nightona_api_client/models/mouse_scroll_request.rb +229 -0
  115. data/lib/nightona_api_client/models/mouse_scroll_response.rb +165 -0
  116. data/lib/nightona_api_client/models/nightona_configuration.rb +507 -0
  117. data/lib/nightona_api_client/models/oidc_config.rb +219 -0
  118. data/lib/nightona_api_client/models/organization.rb +698 -0
  119. data/lib/nightona_api_client/models/organization_invitation.rb +463 -0
  120. data/lib/nightona_api_client/models/organization_role.rb +341 -0
  121. data/lib/nightona_api_client/models/organization_sandbox_default_limited_network_egress.rb +165 -0
  122. data/lib/nightona_api_client/models/organization_suspension.rb +221 -0
  123. data/lib/nightona_api_client/models/organization_usage_overview.rb +270 -0
  124. data/lib/nightona_api_client/models/organization_user.rb +380 -0
  125. data/lib/nightona_api_client/models/otel_config.rb +178 -0
  126. data/lib/nightona_api_client/models/paginated_audit_logs.rb +254 -0
  127. data/lib/nightona_api_client/models/paginated_jobs.rb +244 -0
  128. data/lib/nightona_api_client/models/paginated_logs.rb +248 -0
  129. data/lib/nightona_api_client/models/paginated_sandboxes_deprecated.rb +244 -0
  130. data/lib/nightona_api_client/models/paginated_snapshots.rb +244 -0
  131. data/lib/nightona_api_client/models/paginated_traces.rb +248 -0
  132. data/lib/nightona_api_client/models/poll_jobs_response.rb +167 -0
  133. data/lib/nightona_api_client/models/port_preview_url.rb +219 -0
  134. data/lib/nightona_api_client/models/position.rb +190 -0
  135. data/lib/nightona_api_client/models/posthog_config.rb +192 -0
  136. data/lib/nightona_api_client/models/process_errors_response.rb +192 -0
  137. data/lib/nightona_api_client/models/process_logs_response.rb +192 -0
  138. data/lib/nightona_api_client/models/process_restart_response.rb +192 -0
  139. data/lib/nightona_api_client/models/process_status_response.rb +192 -0
  140. data/lib/nightona_api_client/models/project_dir_response.rb +147 -0
  141. data/lib/nightona_api_client/models/pty_create_request.rb +217 -0
  142. data/lib/nightona_api_client/models/pty_create_response.rb +165 -0
  143. data/lib/nightona_api_client/models/pty_list_response.rb +167 -0
  144. data/lib/nightona_api_client/models/pty_resize_request.rb +192 -0
  145. data/lib/nightona_api_client/models/pty_session_info.rb +354 -0
  146. data/lib/nightona_api_client/models/range.rb +190 -0
  147. data/lib/nightona_api_client/models/rate_limit_config.rb +178 -0
  148. data/lib/nightona_api_client/models/rate_limit_entry.rb +158 -0
  149. data/lib/nightona_api_client/models/regenerate_api_key_response.rb +165 -0
  150. data/lib/nightona_api_client/models/region.rb +339 -0
  151. data/lib/nightona_api_client/models/region_quota.rb +437 -0
  152. data/lib/nightona_api_client/models/region_screenshot_response.rb +185 -0
  153. data/lib/nightona_api_client/models/region_type.rb +42 -0
  154. data/lib/nightona_api_client/models/region_usage_overview.rb +515 -0
  155. data/lib/nightona_api_client/models/registry_push_access_dto.rb +300 -0
  156. data/lib/nightona_api_client/models/replace_request.rb +218 -0
  157. data/lib/nightona_api_client/models/replace_result.rb +165 -0
  158. data/lib/nightona_api_client/models/resize_sandbox.rb +225 -0
  159. data/lib/nightona_api_client/models/runner.rb +710 -0
  160. data/lib/nightona_api_client/models/runner_class.rb +40 -0
  161. data/lib/nightona_api_client/models/runner_full.rb +747 -0
  162. data/lib/nightona_api_client/models/runner_health_metrics.rb +482 -0
  163. data/lib/nightona_api_client/models/runner_healthcheck.rb +217 -0
  164. data/lib/nightona_api_client/models/runner_service_health.rb +202 -0
  165. data/lib/nightona_api_client/models/runner_snapshot_dto.rb +202 -0
  166. data/lib/nightona_api_client/models/runner_state.rb +44 -0
  167. data/lib/nightona_api_client/models/sandbox.rb +788 -0
  168. data/lib/nightona_api_client/models/sandbox_class.rb +43 -0
  169. data/lib/nightona_api_client/models/sandbox_desired_state.rb +45 -0
  170. data/lib/nightona_api_client/models/sandbox_labels.rb +167 -0
  171. data/lib/nightona_api_client/models/sandbox_list_item.rb +658 -0
  172. data/lib/nightona_api_client/models/sandbox_list_sort_direction.rb +41 -0
  173. data/lib/nightona_api_client/models/sandbox_list_sort_field.rb +45 -0
  174. data/lib/nightona_api_client/models/sandbox_state.rb +61 -0
  175. data/lib/nightona_api_client/models/sandbox_volume.rb +202 -0
  176. data/lib/nightona_api_client/models/screenshot_response.rb +185 -0
  177. data/lib/nightona_api_client/models/search_files_response.rb +166 -0
  178. data/lib/nightona_api_client/models/send_webhook_dto.rb +224 -0
  179. data/lib/nightona_api_client/models/session.rb +180 -0
  180. data/lib/nightona_api_client/models/session_execute_request.rb +185 -0
  181. data/lib/nightona_api_client/models/session_execute_response.rb +168 -0
  182. data/lib/nightona_api_client/models/set_snapshot_general_status_dto.rb +165 -0
  183. data/lib/nightona_api_client/models/signed_port_preview_url.rb +246 -0
  184. data/lib/nightona_api_client/models/snapshot_dto.rb +562 -0
  185. data/lib/nightona_api_client/models/snapshot_manager_credentials.rb +192 -0
  186. data/lib/nightona_api_client/models/snapshot_state.rb +47 -0
  187. data/lib/nightona_api_client/models/ssh_access_dto.rb +327 -0
  188. data/lib/nightona_api_client/models/ssh_access_validation_dto.rb +192 -0
  189. data/lib/nightona_api_client/models/storage_access_dto.rb +300 -0
  190. data/lib/nightona_api_client/models/toolbox_proxy_url.rb +165 -0
  191. data/lib/nightona_api_client/models/trace_span.rb +332 -0
  192. data/lib/nightona_api_client/models/trace_summary.rb +310 -0
  193. data/lib/nightona_api_client/models/update_docker_registry.rb +239 -0
  194. data/lib/nightona_api_client/models/update_job_status.rb +207 -0
  195. data/lib/nightona_api_client/models/update_organization_default_region.rb +165 -0
  196. data/lib/nightona_api_client/models/update_organization_invitation.rb +228 -0
  197. data/lib/nightona_api_client/models/update_organization_member_access.rb +218 -0
  198. data/lib/nightona_api_client/models/update_organization_quota.rb +295 -0
  199. data/lib/nightona_api_client/models/update_organization_region_quota.rb +299 -0
  200. data/lib/nightona_api_client/models/update_organization_role.rb +233 -0
  201. data/lib/nightona_api_client/models/update_region.rb +171 -0
  202. data/lib/nightona_api_client/models/update_sandbox_network_settings.rb +168 -0
  203. data/lib/nightona_api_client/models/update_sandbox_state_dto.rb +209 -0
  204. data/lib/nightona_api_client/models/url.rb +165 -0
  205. data/lib/nightona_api_client/models/user.rb +275 -0
  206. data/lib/nightona_api_client/models/user_home_dir_response.rb +147 -0
  207. data/lib/nightona_api_client/models/user_public_key.rb +192 -0
  208. data/lib/nightona_api_client/models/volume_dto.rb +346 -0
  209. data/lib/nightona_api_client/models/volume_state.rb +46 -0
  210. data/lib/nightona_api_client/models/webhook_app_portal_access.rb +192 -0
  211. data/lib/nightona_api_client/models/webhook_event.rb +46 -0
  212. data/lib/nightona_api_client/models/webhook_initialization_status.rb +272 -0
  213. data/lib/nightona_api_client/models/windows_response.rb +194 -0
  214. data/lib/nightona_api_client/models/work_dir_response.rb +147 -0
  215. data/lib/nightona_api_client/version.rb +15 -0
  216. data/lib/nightona_api_client.rb +241 -0
  217. data/nightona_api_client.gemspec +39 -0
  218. data/project.json +68 -0
  219. metadata +299 -0
@@ -0,0 +1,562 @@
1
+ =begin
2
+ #Nightona
3
+
4
+ #Nightona AI platform API Docs
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: amaraaamka0404@gmail.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.21.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module NightonaApiClient
17
+ class SnapshotDto < ApiModelBase
18
+ attr_accessor :id
19
+
20
+ attr_accessor :organization_id
21
+
22
+ attr_accessor :general
23
+
24
+ attr_accessor :name
25
+
26
+ attr_accessor :image_name
27
+
28
+ attr_accessor :state
29
+
30
+ attr_accessor :size
31
+
32
+ attr_accessor :entrypoint
33
+
34
+ attr_accessor :cpu
35
+
36
+ attr_accessor :gpu
37
+
38
+ # The GPU type assigned to the snapshot
39
+ attr_accessor :gpu_type
40
+
41
+ attr_accessor :mem
42
+
43
+ attr_accessor :disk
44
+
45
+ attr_accessor :error_reason
46
+
47
+ attr_accessor :created_at
48
+
49
+ attr_accessor :updated_at
50
+
51
+ attr_accessor :last_used_at
52
+
53
+ # Build information for the snapshot
54
+ attr_accessor :build_info
55
+
56
+ # IDs of regions where the snapshot is available
57
+ attr_accessor :region_ids
58
+
59
+ # The initial runner ID of the snapshot
60
+ attr_accessor :initial_runner_id
61
+
62
+ # The snapshot reference
63
+ attr_accessor :ref
64
+
65
+ # The sandbox class of the snapshot
66
+ attr_accessor :sandbox_class
67
+
68
+ class EnumAttributeValidator
69
+ attr_reader :datatype
70
+ attr_reader :allowable_values
71
+
72
+ def initialize(datatype, allowable_values)
73
+ @allowable_values = allowable_values.map do |value|
74
+ case datatype.to_s
75
+ when /Integer/i
76
+ value.to_i
77
+ when /Float/i
78
+ value.to_f
79
+ else
80
+ value
81
+ end
82
+ end
83
+ end
84
+
85
+ def valid?(value)
86
+ !value || allowable_values.include?(value)
87
+ end
88
+ end
89
+
90
+ # Attribute mapping from ruby-style variable name to JSON key.
91
+ def self.attribute_map
92
+ {
93
+ :'id' => :'id',
94
+ :'organization_id' => :'organizationId',
95
+ :'general' => :'general',
96
+ :'name' => :'name',
97
+ :'image_name' => :'imageName',
98
+ :'state' => :'state',
99
+ :'size' => :'size',
100
+ :'entrypoint' => :'entrypoint',
101
+ :'cpu' => :'cpu',
102
+ :'gpu' => :'gpu',
103
+ :'gpu_type' => :'gpuType',
104
+ :'mem' => :'mem',
105
+ :'disk' => :'disk',
106
+ :'error_reason' => :'errorReason',
107
+ :'created_at' => :'createdAt',
108
+ :'updated_at' => :'updatedAt',
109
+ :'last_used_at' => :'lastUsedAt',
110
+ :'build_info' => :'buildInfo',
111
+ :'region_ids' => :'regionIds',
112
+ :'initial_runner_id' => :'initialRunnerId',
113
+ :'ref' => :'ref',
114
+ :'sandbox_class' => :'sandboxClass'
115
+ }
116
+ end
117
+
118
+ # Returns attribute mapping this model knows about
119
+ def self.acceptable_attribute_map
120
+ attribute_map
121
+ end
122
+
123
+ # Returns all the JSON keys this model knows about
124
+ def self.acceptable_attributes
125
+ acceptable_attribute_map.values
126
+ end
127
+
128
+ # Attribute type mapping.
129
+ def self.openapi_types
130
+ {
131
+ :'id' => :'String',
132
+ :'organization_id' => :'String',
133
+ :'general' => :'Boolean',
134
+ :'name' => :'String',
135
+ :'image_name' => :'String',
136
+ :'state' => :'SnapshotState',
137
+ :'size' => :'Float',
138
+ :'entrypoint' => :'Array<String>',
139
+ :'cpu' => :'Float',
140
+ :'gpu' => :'Float',
141
+ :'gpu_type' => :'GpuType',
142
+ :'mem' => :'Float',
143
+ :'disk' => :'Float',
144
+ :'error_reason' => :'String',
145
+ :'created_at' => :'Time',
146
+ :'updated_at' => :'Time',
147
+ :'last_used_at' => :'Time',
148
+ :'build_info' => :'BuildInfo',
149
+ :'region_ids' => :'Array<String>',
150
+ :'initial_runner_id' => :'String',
151
+ :'ref' => :'String',
152
+ :'sandbox_class' => :'String'
153
+ }
154
+ end
155
+
156
+ # List of attributes with nullable: true
157
+ def self.openapi_nullable
158
+ Set.new([
159
+ :'size',
160
+ :'entrypoint',
161
+ :'error_reason',
162
+ :'last_used_at',
163
+ ])
164
+ end
165
+
166
+ # Initializes the object
167
+ # @param [Hash] attributes Model attributes in the form of hash
168
+ def initialize(attributes = {})
169
+ if (!attributes.is_a?(Hash))
170
+ fail ArgumentError, "The input argument (attributes) must be a hash in `NightonaApiClient::SnapshotDto` initialize method"
171
+ end
172
+
173
+ # check to see if the attribute exists and convert string to symbol for hash key
174
+ acceptable_attribute_map = self.class.acceptable_attribute_map
175
+ attributes = attributes.each_with_object({}) { |(k, v), h|
176
+ if (!acceptable_attribute_map.key?(k.to_sym))
177
+ fail ArgumentError, "`#{k}` is not a valid attribute in `NightonaApiClient::SnapshotDto`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
178
+ end
179
+ h[k.to_sym] = v
180
+ }
181
+
182
+ if attributes.key?(:'id')
183
+ self.id = attributes[:'id']
184
+ else
185
+ self.id = nil
186
+ end
187
+
188
+ if attributes.key?(:'organization_id')
189
+ self.organization_id = attributes[:'organization_id']
190
+ end
191
+
192
+ if attributes.key?(:'general')
193
+ self.general = attributes[:'general']
194
+ else
195
+ self.general = nil
196
+ end
197
+
198
+ if attributes.key?(:'name')
199
+ self.name = attributes[:'name']
200
+ else
201
+ self.name = nil
202
+ end
203
+
204
+ if attributes.key?(:'image_name')
205
+ self.image_name = attributes[:'image_name']
206
+ end
207
+
208
+ if attributes.key?(:'state')
209
+ self.state = attributes[:'state']
210
+ else
211
+ self.state = nil
212
+ end
213
+
214
+ if attributes.key?(:'size')
215
+ self.size = attributes[:'size']
216
+ else
217
+ self.size = nil
218
+ end
219
+
220
+ if attributes.key?(:'entrypoint')
221
+ if (value = attributes[:'entrypoint']).is_a?(Array)
222
+ self.entrypoint = value
223
+ end
224
+ else
225
+ self.entrypoint = nil
226
+ end
227
+
228
+ if attributes.key?(:'cpu')
229
+ self.cpu = attributes[:'cpu']
230
+ else
231
+ self.cpu = nil
232
+ end
233
+
234
+ if attributes.key?(:'gpu')
235
+ self.gpu = attributes[:'gpu']
236
+ else
237
+ self.gpu = nil
238
+ end
239
+
240
+ if attributes.key?(:'gpu_type')
241
+ self.gpu_type = attributes[:'gpu_type']
242
+ end
243
+
244
+ if attributes.key?(:'mem')
245
+ self.mem = attributes[:'mem']
246
+ else
247
+ self.mem = nil
248
+ end
249
+
250
+ if attributes.key?(:'disk')
251
+ self.disk = attributes[:'disk']
252
+ else
253
+ self.disk = nil
254
+ end
255
+
256
+ if attributes.key?(:'error_reason')
257
+ self.error_reason = attributes[:'error_reason']
258
+ else
259
+ self.error_reason = nil
260
+ end
261
+
262
+ if attributes.key?(:'created_at')
263
+ self.created_at = attributes[:'created_at']
264
+ else
265
+ self.created_at = nil
266
+ end
267
+
268
+ if attributes.key?(:'updated_at')
269
+ self.updated_at = attributes[:'updated_at']
270
+ else
271
+ self.updated_at = nil
272
+ end
273
+
274
+ if attributes.key?(:'last_used_at')
275
+ self.last_used_at = attributes[:'last_used_at']
276
+ else
277
+ self.last_used_at = nil
278
+ end
279
+
280
+ if attributes.key?(:'build_info')
281
+ self.build_info = attributes[:'build_info']
282
+ end
283
+
284
+ if attributes.key?(:'region_ids')
285
+ if (value = attributes[:'region_ids']).is_a?(Array)
286
+ self.region_ids = value
287
+ end
288
+ end
289
+
290
+ if attributes.key?(:'initial_runner_id')
291
+ self.initial_runner_id = attributes[:'initial_runner_id']
292
+ end
293
+
294
+ if attributes.key?(:'ref')
295
+ self.ref = attributes[:'ref']
296
+ end
297
+
298
+ if attributes.key?(:'sandbox_class')
299
+ self.sandbox_class = attributes[:'sandbox_class']
300
+ end
301
+ end
302
+
303
+ # Show invalid properties with the reasons. Usually used together with valid?
304
+ # @return Array for valid properties with the reasons
305
+ def list_invalid_properties
306
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
307
+ invalid_properties = Array.new
308
+ if @id.nil?
309
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
310
+ end
311
+
312
+ if @general.nil?
313
+ invalid_properties.push('invalid value for "general", general cannot be nil.')
314
+ end
315
+
316
+ if @name.nil?
317
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
318
+ end
319
+
320
+ if @state.nil?
321
+ invalid_properties.push('invalid value for "state", state cannot be nil.')
322
+ end
323
+
324
+ if @cpu.nil?
325
+ invalid_properties.push('invalid value for "cpu", cpu cannot be nil.')
326
+ end
327
+
328
+ if @gpu.nil?
329
+ invalid_properties.push('invalid value for "gpu", gpu cannot be nil.')
330
+ end
331
+
332
+ if @mem.nil?
333
+ invalid_properties.push('invalid value for "mem", mem cannot be nil.')
334
+ end
335
+
336
+ if @disk.nil?
337
+ invalid_properties.push('invalid value for "disk", disk cannot be nil.')
338
+ end
339
+
340
+ if @created_at.nil?
341
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
342
+ end
343
+
344
+ if @updated_at.nil?
345
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
346
+ end
347
+
348
+ invalid_properties
349
+ end
350
+
351
+ # Check to see if the all the properties in the model are valid
352
+ # @return true if the model is valid
353
+ def valid?
354
+ warn '[DEPRECATED] the `valid?` method is obsolete'
355
+ return false if @id.nil?
356
+ return false if @general.nil?
357
+ return false if @name.nil?
358
+ return false if @state.nil?
359
+ return false if @cpu.nil?
360
+ return false if @gpu.nil?
361
+ return false if @mem.nil?
362
+ return false if @disk.nil?
363
+ return false if @created_at.nil?
364
+ return false if @updated_at.nil?
365
+ sandbox_class_validator = EnumAttributeValidator.new('String', ["linux-vm", "container", "android", "windows", "unknown_default_open_api"])
366
+ return false unless sandbox_class_validator.valid?(@sandbox_class)
367
+ true
368
+ end
369
+
370
+ # Custom attribute writer method with validation
371
+ # @param [Object] id Value to be assigned
372
+ def id=(id)
373
+ if id.nil?
374
+ fail ArgumentError, 'id cannot be nil'
375
+ end
376
+
377
+ @id = id
378
+ end
379
+
380
+ # Custom attribute writer method with validation
381
+ # @param [Object] general Value to be assigned
382
+ def general=(general)
383
+ if general.nil?
384
+ fail ArgumentError, 'general cannot be nil'
385
+ end
386
+
387
+ @general = general
388
+ end
389
+
390
+ # Custom attribute writer method with validation
391
+ # @param [Object] name Value to be assigned
392
+ def name=(name)
393
+ if name.nil?
394
+ fail ArgumentError, 'name cannot be nil'
395
+ end
396
+
397
+ @name = name
398
+ end
399
+
400
+ # Custom attribute writer method with validation
401
+ # @param [Object] state Value to be assigned
402
+ def state=(state)
403
+ if state.nil?
404
+ fail ArgumentError, 'state cannot be nil'
405
+ end
406
+
407
+ @state = state
408
+ end
409
+
410
+ # Custom attribute writer method with validation
411
+ # @param [Object] cpu Value to be assigned
412
+ def cpu=(cpu)
413
+ if cpu.nil?
414
+ fail ArgumentError, 'cpu cannot be nil'
415
+ end
416
+
417
+ @cpu = cpu
418
+ end
419
+
420
+ # Custom attribute writer method with validation
421
+ # @param [Object] gpu Value to be assigned
422
+ def gpu=(gpu)
423
+ if gpu.nil?
424
+ fail ArgumentError, 'gpu cannot be nil'
425
+ end
426
+
427
+ @gpu = gpu
428
+ end
429
+
430
+ # Custom attribute writer method with validation
431
+ # @param [Object] mem Value to be assigned
432
+ def mem=(mem)
433
+ if mem.nil?
434
+ fail ArgumentError, 'mem cannot be nil'
435
+ end
436
+
437
+ @mem = mem
438
+ end
439
+
440
+ # Custom attribute writer method with validation
441
+ # @param [Object] disk Value to be assigned
442
+ def disk=(disk)
443
+ if disk.nil?
444
+ fail ArgumentError, 'disk cannot be nil'
445
+ end
446
+
447
+ @disk = disk
448
+ end
449
+
450
+ # Custom attribute writer method with validation
451
+ # @param [Object] created_at Value to be assigned
452
+ def created_at=(created_at)
453
+ if created_at.nil?
454
+ fail ArgumentError, 'created_at cannot be nil'
455
+ end
456
+
457
+ @created_at = created_at
458
+ end
459
+
460
+ # Custom attribute writer method with validation
461
+ # @param [Object] updated_at Value to be assigned
462
+ def updated_at=(updated_at)
463
+ if updated_at.nil?
464
+ fail ArgumentError, 'updated_at cannot be nil'
465
+ end
466
+
467
+ @updated_at = updated_at
468
+ end
469
+
470
+ # Custom attribute writer method checking allowed values (enum).
471
+ # @param [Object] sandbox_class Object to be assigned
472
+ def sandbox_class=(sandbox_class)
473
+ validator = EnumAttributeValidator.new('String', ["linux-vm", "container", "android", "windows", "unknown_default_open_api"])
474
+ unless validator.valid?(sandbox_class)
475
+ fail ArgumentError, "invalid value for \"sandbox_class\", must be one of #{validator.allowable_values}."
476
+ end
477
+ @sandbox_class = sandbox_class
478
+ end
479
+
480
+ # Checks equality by comparing each attribute.
481
+ # @param [Object] Object to be compared
482
+ def ==(o)
483
+ return true if self.equal?(o)
484
+ self.class == o.class &&
485
+ id == o.id &&
486
+ organization_id == o.organization_id &&
487
+ general == o.general &&
488
+ name == o.name &&
489
+ image_name == o.image_name &&
490
+ state == o.state &&
491
+ size == o.size &&
492
+ entrypoint == o.entrypoint &&
493
+ cpu == o.cpu &&
494
+ gpu == o.gpu &&
495
+ gpu_type == o.gpu_type &&
496
+ mem == o.mem &&
497
+ disk == o.disk &&
498
+ error_reason == o.error_reason &&
499
+ created_at == o.created_at &&
500
+ updated_at == o.updated_at &&
501
+ last_used_at == o.last_used_at &&
502
+ build_info == o.build_info &&
503
+ region_ids == o.region_ids &&
504
+ initial_runner_id == o.initial_runner_id &&
505
+ ref == o.ref &&
506
+ sandbox_class == o.sandbox_class
507
+ end
508
+
509
+ # @see the `==` method
510
+ # @param [Object] Object to be compared
511
+ def eql?(o)
512
+ self == o
513
+ end
514
+
515
+ # Calculates hash code according to all attributes.
516
+ # @return [Integer] Hash code
517
+ def hash
518
+ [id, organization_id, general, name, image_name, state, size, entrypoint, cpu, gpu, gpu_type, mem, disk, error_reason, created_at, updated_at, last_used_at, build_info, region_ids, initial_runner_id, ref, sandbox_class].hash
519
+ end
520
+
521
+ # Builds the object from hash
522
+ # @param [Hash] attributes Model attributes in the form of hash
523
+ # @return [Object] Returns the model itself
524
+ def self.build_from_hash(attributes)
525
+ return nil unless attributes.is_a?(Hash)
526
+ attributes = attributes.transform_keys(&:to_sym)
527
+ transformed_hash = {}
528
+ openapi_types.each_pair do |key, type|
529
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
530
+ transformed_hash["#{key}"] = nil
531
+ elsif type =~ /\AArray<(.*)>/i
532
+ # check to ensure the input is an array given that the attribute
533
+ # is documented as an array but the input is not
534
+ if attributes[attribute_map[key]].is_a?(Array)
535
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
536
+ end
537
+ elsif !attributes[attribute_map[key]].nil?
538
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
539
+ end
540
+ end
541
+ new(transformed_hash)
542
+ end
543
+
544
+ # Returns the object in the form of hash
545
+ # @return [Hash] Returns the object in the form of hash
546
+ def to_hash
547
+ hash = {}
548
+ self.class.attribute_map.each_pair do |attr, param|
549
+ value = self.send(attr)
550
+ if value.nil?
551
+ is_nullable = self.class.openapi_nullable.include?(attr)
552
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
553
+ end
554
+
555
+ hash[param] = _to_hash(value)
556
+ end
557
+ hash
558
+ end
559
+
560
+ end
561
+
562
+ end