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,788 @@
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 Sandbox < ApiModelBase
18
+ # The ID of the sandbox
19
+ attr_accessor :id
20
+
21
+ # The organization ID of the sandbox
22
+ attr_accessor :organization_id
23
+
24
+ # The name of the sandbox
25
+ attr_accessor :name
26
+
27
+ # The snapshot used for the sandbox
28
+ attr_accessor :snapshot
29
+
30
+ # The user associated with the project
31
+ attr_accessor :user
32
+
33
+ # Environment variables for the sandbox
34
+ attr_accessor :env
35
+
36
+ # Labels for the sandbox
37
+ attr_accessor :labels
38
+
39
+ # Whether the sandbox http preview is public
40
+ attr_accessor :public
41
+
42
+ # Whether to block all network access for the sandbox
43
+ attr_accessor :network_block_all
44
+
45
+ # Comma-separated list of allowed CIDR network addresses for the sandbox
46
+ attr_accessor :network_allow_list
47
+
48
+ # Comma-separated list of allowed domains for the sandbox
49
+ attr_accessor :domain_allow_list
50
+
51
+ # The target environment for the sandbox
52
+ attr_accessor :target
53
+
54
+ # The CPU quota for the sandbox
55
+ attr_accessor :cpu
56
+
57
+ # The GPU quota for the sandbox
58
+ attr_accessor :gpu
59
+
60
+ # The GPU type assigned to the sandbox
61
+ attr_accessor :gpu_type
62
+
63
+ # The memory quota for the sandbox
64
+ attr_accessor :memory
65
+
66
+ # The disk quota for the sandbox
67
+ attr_accessor :disk
68
+
69
+ # The state of the sandbox
70
+ attr_accessor :state
71
+
72
+ # The desired state of the sandbox
73
+ attr_accessor :desired_state
74
+
75
+ # The error reason of the sandbox
76
+ attr_accessor :error_reason
77
+
78
+ # Whether the sandbox error is recoverable.
79
+ attr_accessor :recoverable
80
+
81
+ # The state of the backup
82
+ attr_accessor :backup_state
83
+
84
+ # The creation timestamp of the last backup
85
+ attr_accessor :backup_created_at
86
+
87
+ # Auto-stop interval in minutes (0 means disabled)
88
+ attr_accessor :auto_stop_interval
89
+
90
+ # Auto-archive interval in minutes
91
+ attr_accessor :auto_archive_interval
92
+
93
+ # Auto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
94
+ attr_accessor :auto_delete_interval
95
+
96
+ # Array of volumes attached to the sandbox
97
+ attr_accessor :volumes
98
+
99
+ # Build information for the sandbox
100
+ attr_accessor :build_info
101
+
102
+ # The creation timestamp of the sandbox
103
+ attr_accessor :created_at
104
+
105
+ # The last update timestamp of the sandbox
106
+ attr_accessor :updated_at
107
+
108
+ # The last activity timestamp of the sandbox
109
+ attr_accessor :last_activity_at
110
+
111
+ # The class of the sandbox
112
+ attr_accessor :sandbox_class
113
+
114
+ # The version of the daemon running in the sandbox
115
+ attr_accessor :daemon_version
116
+
117
+ # The runner ID of the sandbox
118
+ attr_accessor :runner_id
119
+
120
+ # ID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
121
+ attr_accessor :linked_sandbox_id
122
+
123
+ # The toolbox proxy URL for the sandbox
124
+ attr_accessor :toolbox_proxy_url
125
+
126
+ class EnumAttributeValidator
127
+ attr_reader :datatype
128
+ attr_reader :allowable_values
129
+
130
+ def initialize(datatype, allowable_values)
131
+ @allowable_values = allowable_values.map do |value|
132
+ case datatype.to_s
133
+ when /Integer/i
134
+ value.to_i
135
+ when /Float/i
136
+ value.to_f
137
+ else
138
+ value
139
+ end
140
+ end
141
+ end
142
+
143
+ def valid?(value)
144
+ !value || allowable_values.include?(value)
145
+ end
146
+ end
147
+
148
+ # Attribute mapping from ruby-style variable name to JSON key.
149
+ def self.attribute_map
150
+ {
151
+ :'id' => :'id',
152
+ :'organization_id' => :'organizationId',
153
+ :'name' => :'name',
154
+ :'snapshot' => :'snapshot',
155
+ :'user' => :'user',
156
+ :'env' => :'env',
157
+ :'labels' => :'labels',
158
+ :'public' => :'public',
159
+ :'network_block_all' => :'networkBlockAll',
160
+ :'network_allow_list' => :'networkAllowList',
161
+ :'domain_allow_list' => :'domainAllowList',
162
+ :'target' => :'target',
163
+ :'cpu' => :'cpu',
164
+ :'gpu' => :'gpu',
165
+ :'gpu_type' => :'gpuType',
166
+ :'memory' => :'memory',
167
+ :'disk' => :'disk',
168
+ :'state' => :'state',
169
+ :'desired_state' => :'desiredState',
170
+ :'error_reason' => :'errorReason',
171
+ :'recoverable' => :'recoverable',
172
+ :'backup_state' => :'backupState',
173
+ :'backup_created_at' => :'backupCreatedAt',
174
+ :'auto_stop_interval' => :'autoStopInterval',
175
+ :'auto_archive_interval' => :'autoArchiveInterval',
176
+ :'auto_delete_interval' => :'autoDeleteInterval',
177
+ :'volumes' => :'volumes',
178
+ :'build_info' => :'buildInfo',
179
+ :'created_at' => :'createdAt',
180
+ :'updated_at' => :'updatedAt',
181
+ :'last_activity_at' => :'lastActivityAt',
182
+ :'sandbox_class' => :'sandboxClass',
183
+ :'daemon_version' => :'daemonVersion',
184
+ :'runner_id' => :'runnerId',
185
+ :'linked_sandbox_id' => :'linkedSandboxId',
186
+ :'toolbox_proxy_url' => :'toolboxProxyUrl'
187
+ }
188
+ end
189
+
190
+ # Returns attribute mapping this model knows about
191
+ def self.acceptable_attribute_map
192
+ attribute_map
193
+ end
194
+
195
+ # Returns all the JSON keys this model knows about
196
+ def self.acceptable_attributes
197
+ acceptable_attribute_map.values
198
+ end
199
+
200
+ # Attribute type mapping.
201
+ def self.openapi_types
202
+ {
203
+ :'id' => :'String',
204
+ :'organization_id' => :'String',
205
+ :'name' => :'String',
206
+ :'snapshot' => :'String',
207
+ :'user' => :'String',
208
+ :'env' => :'Hash<String, String>',
209
+ :'labels' => :'Hash<String, String>',
210
+ :'public' => :'Boolean',
211
+ :'network_block_all' => :'Boolean',
212
+ :'network_allow_list' => :'String',
213
+ :'domain_allow_list' => :'String',
214
+ :'target' => :'String',
215
+ :'cpu' => :'Float',
216
+ :'gpu' => :'Float',
217
+ :'gpu_type' => :'GpuType',
218
+ :'memory' => :'Float',
219
+ :'disk' => :'Float',
220
+ :'state' => :'SandboxState',
221
+ :'desired_state' => :'SandboxDesiredState',
222
+ :'error_reason' => :'String',
223
+ :'recoverable' => :'Boolean',
224
+ :'backup_state' => :'String',
225
+ :'backup_created_at' => :'String',
226
+ :'auto_stop_interval' => :'Float',
227
+ :'auto_archive_interval' => :'Float',
228
+ :'auto_delete_interval' => :'Float',
229
+ :'volumes' => :'Array<SandboxVolume>',
230
+ :'build_info' => :'BuildInfo',
231
+ :'created_at' => :'String',
232
+ :'updated_at' => :'String',
233
+ :'last_activity_at' => :'String',
234
+ :'sandbox_class' => :'String',
235
+ :'daemon_version' => :'String',
236
+ :'runner_id' => :'String',
237
+ :'linked_sandbox_id' => :'String',
238
+ :'toolbox_proxy_url' => :'String'
239
+ }
240
+ end
241
+
242
+ # List of attributes with nullable: true
243
+ def self.openapi_nullable
244
+ Set.new([
245
+ ])
246
+ end
247
+
248
+ # Initializes the object
249
+ # @param [Hash] attributes Model attributes in the form of hash
250
+ def initialize(attributes = {})
251
+ if (!attributes.is_a?(Hash))
252
+ fail ArgumentError, "The input argument (attributes) must be a hash in `NightonaApiClient::Sandbox` initialize method"
253
+ end
254
+
255
+ # check to see if the attribute exists and convert string to symbol for hash key
256
+ acceptable_attribute_map = self.class.acceptable_attribute_map
257
+ attributes = attributes.each_with_object({}) { |(k, v), h|
258
+ if (!acceptable_attribute_map.key?(k.to_sym))
259
+ fail ArgumentError, "`#{k}` is not a valid attribute in `NightonaApiClient::Sandbox`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
260
+ end
261
+ h[k.to_sym] = v
262
+ }
263
+
264
+ if attributes.key?(:'id')
265
+ self.id = attributes[:'id']
266
+ else
267
+ self.id = nil
268
+ end
269
+
270
+ if attributes.key?(:'organization_id')
271
+ self.organization_id = attributes[:'organization_id']
272
+ else
273
+ self.organization_id = nil
274
+ end
275
+
276
+ if attributes.key?(:'name')
277
+ self.name = attributes[:'name']
278
+ else
279
+ self.name = nil
280
+ end
281
+
282
+ if attributes.key?(:'snapshot')
283
+ self.snapshot = attributes[:'snapshot']
284
+ end
285
+
286
+ if attributes.key?(:'user')
287
+ self.user = attributes[:'user']
288
+ else
289
+ self.user = nil
290
+ end
291
+
292
+ if attributes.key?(:'env')
293
+ if (value = attributes[:'env']).is_a?(Hash)
294
+ self.env = value
295
+ end
296
+ else
297
+ self.env = nil
298
+ end
299
+
300
+ if attributes.key?(:'labels')
301
+ if (value = attributes[:'labels']).is_a?(Hash)
302
+ self.labels = value
303
+ end
304
+ else
305
+ self.labels = nil
306
+ end
307
+
308
+ if attributes.key?(:'public')
309
+ self.public = attributes[:'public']
310
+ else
311
+ self.public = nil
312
+ end
313
+
314
+ if attributes.key?(:'network_block_all')
315
+ self.network_block_all = attributes[:'network_block_all']
316
+ else
317
+ self.network_block_all = nil
318
+ end
319
+
320
+ if attributes.key?(:'network_allow_list')
321
+ self.network_allow_list = attributes[:'network_allow_list']
322
+ end
323
+
324
+ if attributes.key?(:'domain_allow_list')
325
+ self.domain_allow_list = attributes[:'domain_allow_list']
326
+ end
327
+
328
+ if attributes.key?(:'target')
329
+ self.target = attributes[:'target']
330
+ else
331
+ self.target = nil
332
+ end
333
+
334
+ if attributes.key?(:'cpu')
335
+ self.cpu = attributes[:'cpu']
336
+ else
337
+ self.cpu = nil
338
+ end
339
+
340
+ if attributes.key?(:'gpu')
341
+ self.gpu = attributes[:'gpu']
342
+ else
343
+ self.gpu = nil
344
+ end
345
+
346
+ if attributes.key?(:'gpu_type')
347
+ self.gpu_type = attributes[:'gpu_type']
348
+ end
349
+
350
+ if attributes.key?(:'memory')
351
+ self.memory = attributes[:'memory']
352
+ else
353
+ self.memory = nil
354
+ end
355
+
356
+ if attributes.key?(:'disk')
357
+ self.disk = attributes[:'disk']
358
+ else
359
+ self.disk = nil
360
+ end
361
+
362
+ if attributes.key?(:'state')
363
+ self.state = attributes[:'state']
364
+ end
365
+
366
+ if attributes.key?(:'desired_state')
367
+ self.desired_state = attributes[:'desired_state']
368
+ end
369
+
370
+ if attributes.key?(:'error_reason')
371
+ self.error_reason = attributes[:'error_reason']
372
+ end
373
+
374
+ if attributes.key?(:'recoverable')
375
+ self.recoverable = attributes[:'recoverable']
376
+ end
377
+
378
+ if attributes.key?(:'backup_state')
379
+ self.backup_state = attributes[:'backup_state']
380
+ end
381
+
382
+ if attributes.key?(:'backup_created_at')
383
+ self.backup_created_at = attributes[:'backup_created_at']
384
+ end
385
+
386
+ if attributes.key?(:'auto_stop_interval')
387
+ self.auto_stop_interval = attributes[:'auto_stop_interval']
388
+ end
389
+
390
+ if attributes.key?(:'auto_archive_interval')
391
+ self.auto_archive_interval = attributes[:'auto_archive_interval']
392
+ end
393
+
394
+ if attributes.key?(:'auto_delete_interval')
395
+ self.auto_delete_interval = attributes[:'auto_delete_interval']
396
+ end
397
+
398
+ if attributes.key?(:'volumes')
399
+ if (value = attributes[:'volumes']).is_a?(Array)
400
+ self.volumes = value
401
+ end
402
+ end
403
+
404
+ if attributes.key?(:'build_info')
405
+ self.build_info = attributes[:'build_info']
406
+ end
407
+
408
+ if attributes.key?(:'created_at')
409
+ self.created_at = attributes[:'created_at']
410
+ end
411
+
412
+ if attributes.key?(:'updated_at')
413
+ self.updated_at = attributes[:'updated_at']
414
+ end
415
+
416
+ if attributes.key?(:'last_activity_at')
417
+ self.last_activity_at = attributes[:'last_activity_at']
418
+ end
419
+
420
+ if attributes.key?(:'sandbox_class')
421
+ self.sandbox_class = attributes[:'sandbox_class']
422
+ end
423
+
424
+ if attributes.key?(:'daemon_version')
425
+ self.daemon_version = attributes[:'daemon_version']
426
+ end
427
+
428
+ if attributes.key?(:'runner_id')
429
+ self.runner_id = attributes[:'runner_id']
430
+ end
431
+
432
+ if attributes.key?(:'linked_sandbox_id')
433
+ self.linked_sandbox_id = attributes[:'linked_sandbox_id']
434
+ end
435
+
436
+ if attributes.key?(:'toolbox_proxy_url')
437
+ self.toolbox_proxy_url = attributes[:'toolbox_proxy_url']
438
+ else
439
+ self.toolbox_proxy_url = nil
440
+ end
441
+ end
442
+
443
+ # Show invalid properties with the reasons. Usually used together with valid?
444
+ # @return Array for valid properties with the reasons
445
+ def list_invalid_properties
446
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
447
+ invalid_properties = Array.new
448
+ if @id.nil?
449
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
450
+ end
451
+
452
+ if @organization_id.nil?
453
+ invalid_properties.push('invalid value for "organization_id", organization_id cannot be nil.')
454
+ end
455
+
456
+ if @name.nil?
457
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
458
+ end
459
+
460
+ if @user.nil?
461
+ invalid_properties.push('invalid value for "user", user cannot be nil.')
462
+ end
463
+
464
+ if @env.nil?
465
+ invalid_properties.push('invalid value for "env", env cannot be nil.')
466
+ end
467
+
468
+ if @labels.nil?
469
+ invalid_properties.push('invalid value for "labels", labels cannot be nil.')
470
+ end
471
+
472
+ if @public.nil?
473
+ invalid_properties.push('invalid value for "public", public cannot be nil.')
474
+ end
475
+
476
+ if @network_block_all.nil?
477
+ invalid_properties.push('invalid value for "network_block_all", network_block_all cannot be nil.')
478
+ end
479
+
480
+ if @target.nil?
481
+ invalid_properties.push('invalid value for "target", target cannot be nil.')
482
+ end
483
+
484
+ if @cpu.nil?
485
+ invalid_properties.push('invalid value for "cpu", cpu cannot be nil.')
486
+ end
487
+
488
+ if @gpu.nil?
489
+ invalid_properties.push('invalid value for "gpu", gpu cannot be nil.')
490
+ end
491
+
492
+ if @memory.nil?
493
+ invalid_properties.push('invalid value for "memory", memory cannot be nil.')
494
+ end
495
+
496
+ if @disk.nil?
497
+ invalid_properties.push('invalid value for "disk", disk cannot be nil.')
498
+ end
499
+
500
+ if @toolbox_proxy_url.nil?
501
+ invalid_properties.push('invalid value for "toolbox_proxy_url", toolbox_proxy_url cannot be nil.')
502
+ end
503
+
504
+ invalid_properties
505
+ end
506
+
507
+ # Check to see if the all the properties in the model are valid
508
+ # @return true if the model is valid
509
+ def valid?
510
+ warn '[DEPRECATED] the `valid?` method is obsolete'
511
+ return false if @id.nil?
512
+ return false if @organization_id.nil?
513
+ return false if @name.nil?
514
+ return false if @user.nil?
515
+ return false if @env.nil?
516
+ return false if @labels.nil?
517
+ return false if @public.nil?
518
+ return false if @network_block_all.nil?
519
+ return false if @target.nil?
520
+ return false if @cpu.nil?
521
+ return false if @gpu.nil?
522
+ return false if @memory.nil?
523
+ return false if @disk.nil?
524
+ backup_state_validator = EnumAttributeValidator.new('String', ["None", "Pending", "InProgress", "Completed", "Error", "unknown_default_open_api"])
525
+ return false unless backup_state_validator.valid?(@backup_state)
526
+ sandbox_class_validator = EnumAttributeValidator.new('String', ["linux-vm", "container", "android", "windows", "unknown_default_open_api"])
527
+ return false unless sandbox_class_validator.valid?(@sandbox_class)
528
+ return false if @toolbox_proxy_url.nil?
529
+ true
530
+ end
531
+
532
+ # Custom attribute writer method with validation
533
+ # @param [Object] id Value to be assigned
534
+ def id=(id)
535
+ if id.nil?
536
+ fail ArgumentError, 'id cannot be nil'
537
+ end
538
+
539
+ @id = id
540
+ end
541
+
542
+ # Custom attribute writer method with validation
543
+ # @param [Object] organization_id Value to be assigned
544
+ def organization_id=(organization_id)
545
+ if organization_id.nil?
546
+ fail ArgumentError, 'organization_id cannot be nil'
547
+ end
548
+
549
+ @organization_id = organization_id
550
+ end
551
+
552
+ # Custom attribute writer method with validation
553
+ # @param [Object] name Value to be assigned
554
+ def name=(name)
555
+ if name.nil?
556
+ fail ArgumentError, 'name cannot be nil'
557
+ end
558
+
559
+ @name = name
560
+ end
561
+
562
+ # Custom attribute writer method with validation
563
+ # @param [Object] user Value to be assigned
564
+ def user=(user)
565
+ if user.nil?
566
+ fail ArgumentError, 'user cannot be nil'
567
+ end
568
+
569
+ @user = user
570
+ end
571
+
572
+ # Custom attribute writer method with validation
573
+ # @param [Object] env Value to be assigned
574
+ def env=(env)
575
+ if env.nil?
576
+ fail ArgumentError, 'env cannot be nil'
577
+ end
578
+
579
+ @env = env
580
+ end
581
+
582
+ # Custom attribute writer method with validation
583
+ # @param [Object] labels Value to be assigned
584
+ def labels=(labels)
585
+ if labels.nil?
586
+ fail ArgumentError, 'labels cannot be nil'
587
+ end
588
+
589
+ @labels = labels
590
+ end
591
+
592
+ # Custom attribute writer method with validation
593
+ # @param [Object] public Value to be assigned
594
+ def public=(public)
595
+ if public.nil?
596
+ fail ArgumentError, 'public cannot be nil'
597
+ end
598
+
599
+ @public = public
600
+ end
601
+
602
+ # Custom attribute writer method with validation
603
+ # @param [Object] network_block_all Value to be assigned
604
+ def network_block_all=(network_block_all)
605
+ if network_block_all.nil?
606
+ fail ArgumentError, 'network_block_all cannot be nil'
607
+ end
608
+
609
+ @network_block_all = network_block_all
610
+ end
611
+
612
+ # Custom attribute writer method with validation
613
+ # @param [Object] target Value to be assigned
614
+ def target=(target)
615
+ if target.nil?
616
+ fail ArgumentError, 'target cannot be nil'
617
+ end
618
+
619
+ @target = target
620
+ end
621
+
622
+ # Custom attribute writer method with validation
623
+ # @param [Object] cpu Value to be assigned
624
+ def cpu=(cpu)
625
+ if cpu.nil?
626
+ fail ArgumentError, 'cpu cannot be nil'
627
+ end
628
+
629
+ @cpu = cpu
630
+ end
631
+
632
+ # Custom attribute writer method with validation
633
+ # @param [Object] gpu Value to be assigned
634
+ def gpu=(gpu)
635
+ if gpu.nil?
636
+ fail ArgumentError, 'gpu cannot be nil'
637
+ end
638
+
639
+ @gpu = gpu
640
+ end
641
+
642
+ # Custom attribute writer method with validation
643
+ # @param [Object] memory Value to be assigned
644
+ def memory=(memory)
645
+ if memory.nil?
646
+ fail ArgumentError, 'memory cannot be nil'
647
+ end
648
+
649
+ @memory = memory
650
+ end
651
+
652
+ # Custom attribute writer method with validation
653
+ # @param [Object] disk Value to be assigned
654
+ def disk=(disk)
655
+ if disk.nil?
656
+ fail ArgumentError, 'disk cannot be nil'
657
+ end
658
+
659
+ @disk = disk
660
+ end
661
+
662
+ # Custom attribute writer method checking allowed values (enum).
663
+ # @param [Object] backup_state Object to be assigned
664
+ def backup_state=(backup_state)
665
+ validator = EnumAttributeValidator.new('String', ["None", "Pending", "InProgress", "Completed", "Error", "unknown_default_open_api"])
666
+ unless validator.valid?(backup_state)
667
+ fail ArgumentError, "invalid value for \"backup_state\", must be one of #{validator.allowable_values}."
668
+ end
669
+ @backup_state = backup_state
670
+ end
671
+
672
+ # Custom attribute writer method checking allowed values (enum).
673
+ # @param [Object] sandbox_class Object to be assigned
674
+ def sandbox_class=(sandbox_class)
675
+ validator = EnumAttributeValidator.new('String', ["linux-vm", "container", "android", "windows", "unknown_default_open_api"])
676
+ unless validator.valid?(sandbox_class)
677
+ fail ArgumentError, "invalid value for \"sandbox_class\", must be one of #{validator.allowable_values}."
678
+ end
679
+ @sandbox_class = sandbox_class
680
+ end
681
+
682
+ # Custom attribute writer method with validation
683
+ # @param [Object] toolbox_proxy_url Value to be assigned
684
+ def toolbox_proxy_url=(toolbox_proxy_url)
685
+ if toolbox_proxy_url.nil?
686
+ fail ArgumentError, 'toolbox_proxy_url cannot be nil'
687
+ end
688
+
689
+ @toolbox_proxy_url = toolbox_proxy_url
690
+ end
691
+
692
+ # Checks equality by comparing each attribute.
693
+ # @param [Object] Object to be compared
694
+ def ==(o)
695
+ return true if self.equal?(o)
696
+ self.class == o.class &&
697
+ id == o.id &&
698
+ organization_id == o.organization_id &&
699
+ name == o.name &&
700
+ snapshot == o.snapshot &&
701
+ user == o.user &&
702
+ env == o.env &&
703
+ labels == o.labels &&
704
+ public == o.public &&
705
+ network_block_all == o.network_block_all &&
706
+ network_allow_list == o.network_allow_list &&
707
+ domain_allow_list == o.domain_allow_list &&
708
+ target == o.target &&
709
+ cpu == o.cpu &&
710
+ gpu == o.gpu &&
711
+ gpu_type == o.gpu_type &&
712
+ memory == o.memory &&
713
+ disk == o.disk &&
714
+ state == o.state &&
715
+ desired_state == o.desired_state &&
716
+ error_reason == o.error_reason &&
717
+ recoverable == o.recoverable &&
718
+ backup_state == o.backup_state &&
719
+ backup_created_at == o.backup_created_at &&
720
+ auto_stop_interval == o.auto_stop_interval &&
721
+ auto_archive_interval == o.auto_archive_interval &&
722
+ auto_delete_interval == o.auto_delete_interval &&
723
+ volumes == o.volumes &&
724
+ build_info == o.build_info &&
725
+ created_at == o.created_at &&
726
+ updated_at == o.updated_at &&
727
+ last_activity_at == o.last_activity_at &&
728
+ sandbox_class == o.sandbox_class &&
729
+ daemon_version == o.daemon_version &&
730
+ runner_id == o.runner_id &&
731
+ linked_sandbox_id == o.linked_sandbox_id &&
732
+ toolbox_proxy_url == o.toolbox_proxy_url
733
+ end
734
+
735
+ # @see the `==` method
736
+ # @param [Object] Object to be compared
737
+ def eql?(o)
738
+ self == o
739
+ end
740
+
741
+ # Calculates hash code according to all attributes.
742
+ # @return [Integer] Hash code
743
+ def hash
744
+ [id, organization_id, name, snapshot, user, env, labels, public, network_block_all, network_allow_list, domain_allow_list, target, cpu, gpu, gpu_type, memory, disk, state, desired_state, error_reason, recoverable, backup_state, backup_created_at, auto_stop_interval, auto_archive_interval, auto_delete_interval, volumes, build_info, created_at, updated_at, last_activity_at, sandbox_class, daemon_version, runner_id, linked_sandbox_id, toolbox_proxy_url].hash
745
+ end
746
+
747
+ # Builds the object from hash
748
+ # @param [Hash] attributes Model attributes in the form of hash
749
+ # @return [Object] Returns the model itself
750
+ def self.build_from_hash(attributes)
751
+ return nil unless attributes.is_a?(Hash)
752
+ attributes = attributes.transform_keys(&:to_sym)
753
+ transformed_hash = {}
754
+ openapi_types.each_pair do |key, type|
755
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
756
+ transformed_hash["#{key}"] = nil
757
+ elsif type =~ /\AArray<(.*)>/i
758
+ # check to ensure the input is an array given that the attribute
759
+ # is documented as an array but the input is not
760
+ if attributes[attribute_map[key]].is_a?(Array)
761
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
762
+ end
763
+ elsif !attributes[attribute_map[key]].nil?
764
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
765
+ end
766
+ end
767
+ new(transformed_hash)
768
+ end
769
+
770
+ # Returns the object in the form of hash
771
+ # @return [Hash] Returns the object in the form of hash
772
+ def to_hash
773
+ hash = {}
774
+ self.class.attribute_map.each_pair do |attr, param|
775
+ value = self.send(attr)
776
+ if value.nil?
777
+ is_nullable = self.class.openapi_nullable.include?(attr)
778
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
779
+ end
780
+
781
+ hash[param] = _to_hash(value)
782
+ end
783
+ hash
784
+ end
785
+
786
+ end
787
+
788
+ end