diff --git a/.release-please-manifest.json b/.release-please-manifest.json index f14b480..aaf968a 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.2" + ".": "0.1.0-alpha.3" } \ No newline at end of file diff --git a/.rubocop.yml b/.rubocop.yml index a2e4428..11741c3 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,3 +1,4 @@ +# yaml-language-server: $schema=https://www.rubyschema.org/rubocop.json --- # Explicitly disable pending cops for now. This is the default behaviour but # this avoids a large warning every time we run it. @@ -8,7 +9,7 @@ AllCops: - "bin/*" NewCops: enable SuggestExtensions: false - TargetRubyVersion: 3.2.0 + TargetRubyVersion: 3.2 # Whether MFA is required or not should be left to the token configuration. Gemspec/RequireMFA: @@ -120,6 +121,10 @@ Metrics/BlockLength: Metrics/ClassLength: Enabled: false +Metrics/CollectionLiteralLength: + Exclude: + - "test/**/*" + Metrics/CyclomaticComplexity: Enabled: false @@ -149,7 +154,7 @@ Naming/ClassAndModuleCamelCase: Naming/MethodParameterName: Enabled: false -Naming/PredicateName: +Naming/PredicatePrefix: Exclude: - "**/*.rbi" diff --git a/.stats.yml b/.stats.yml index 81f9064..49c6b01 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 18 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hdr-parth-agrawal%2Ffirecracker-manager-10d4e7c414a5a3c63ff31c5fc49c2908517483a1c41c3121063b254c89964c14.yml -openapi_spec_hash: bb4c6c93af5288bf9955190d94d6e802 -config_hash: 2cba7ea212435f78850a896a330802c9 +configured_endpoints: 8 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hdr-parth-agrawal%2Ffirecracker-manager-e4e806d7bbd9f29183380a2736f000b33129a9a6e020dda25f29d5aa39b4acc5.yml +openapi_spec_hash: 72b673e69b50af628d52dcdd6906b09a +config_hash: ba476ff7e5c71b83e72ad86fcb01beeb diff --git a/CHANGELOG.md b/CHANGELOG.md index 61756a8..3034ac0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,73 @@ # Changelog +## 0.1.0-alpha.3 (2026-01-06) + +Full Changelog: [v0.1.0-alpha.2...v0.1.0-alpha.3](https://github.com/hdresearch/vers-sdk-ruby/compare/v0.1.0-alpha.2...v0.1.0-alpha.3) + +### Features + +* **api:** api update ([5abf2d1](https://github.com/hdresearch/vers-sdk-ruby/commit/5abf2d1ff4ac07c40567bc145809d7de6c4af53f)) +* **api:** api update ([46da556](https://github.com/hdresearch/vers-sdk-ruby/commit/46da556ef7ba1842dc4a8c9b5c321ca993983452)) +* **api:** api update ([e4f2210](https://github.com/hdresearch/vers-sdk-ruby/commit/e4f2210c676bae01ff182c18305de87af135a202)) +* **api:** api update ([8dc995b](https://github.com/hdresearch/vers-sdk-ruby/commit/8dc995b6fb67fc46186f097074d1a0c5a154ef6e)) +* **api:** api update ([1f5c788](https://github.com/hdresearch/vers-sdk-ruby/commit/1f5c78817197492cf1af0bb53a0298dfc464afe9)) +* **api:** api update ([cb57d71](https://github.com/hdresearch/vers-sdk-ruby/commit/cb57d71515935194ddc9f1b930cfd4606cd143ec)) +* **api:** api update ([d567bf0](https://github.com/hdresearch/vers-sdk-ruby/commit/d567bf0d09f939165476fa2cfb4f57d6365ee445)) +* **api:** api update ([96d1dc7](https://github.com/hdresearch/vers-sdk-ruby/commit/96d1dc7cd75e33b1e6b234df930f371e5e1d8b46)) +* **api:** api update ([d19bf01](https://github.com/hdresearch/vers-sdk-ruby/commit/d19bf01e3a6e5eaabd4fe6058215ccd8958f2d2b)) +* **api:** api update ([64feb46](https://github.com/hdresearch/vers-sdk-ruby/commit/64feb4617cc9645b10c497a927ee7ec595f59032)) +* **api:** api update ([79debb2](https://github.com/hdresearch/vers-sdk-ruby/commit/79debb29c0a891cdbce9965252380a730aad6d68)) +* **api:** api update ([d5cdf7c](https://github.com/hdresearch/vers-sdk-ruby/commit/d5cdf7c235dac0cb0d2a1414ce2cf2abb8792710)) +* **api:** api update ([b2305b2](https://github.com/hdresearch/vers-sdk-ruby/commit/b2305b2bd64b1e6137b5a6c3406d9317a830091c)) +* **api:** api update ([f5b3f21](https://github.com/hdresearch/vers-sdk-ruby/commit/f5b3f21b47a04bb0482deda9580992aa9dfa407f)) +* **api:** api update ([832ddb6](https://github.com/hdresearch/vers-sdk-ruby/commit/832ddb6608153182d51aa83019fef0270bee4618)) +* **api:** api update ([a2cc96b](https://github.com/hdresearch/vers-sdk-ruby/commit/a2cc96bfe209d100a1e6e75b85313cd422d818b5)) +* **api:** api update ([3352c8a](https://github.com/hdresearch/vers-sdk-ruby/commit/3352c8ad414dec234bda610fdba8858e0e933033)) +* **api:** api update ([0a87453](https://github.com/hdresearch/vers-sdk-ruby/commit/0a874537387f5e3bef936296b433da329c4ab0a8)) +* **api:** api update ([4743273](https://github.com/hdresearch/vers-sdk-ruby/commit/47432739732d14b8589e9947ec3377e8c0b4af6c)) +* **api:** api update ([a0a461e](https://github.com/hdresearch/vers-sdk-ruby/commit/a0a461ee4439b09d5f1c10eb1fa10d5852fe52d0)) +* **api:** api update ([6fdb933](https://github.com/hdresearch/vers-sdk-ruby/commit/6fdb93355d47a1e4e8a3fb8646fe691f1e40f456)) +* **api:** api update ([f25708d](https://github.com/hdresearch/vers-sdk-ruby/commit/f25708d4a743ffc54d69dcf31a1fd92d20b928ae)) +* expose response headers for both streams and errors ([49657bc](https://github.com/hdresearch/vers-sdk-ruby/commit/49657bcf404a7f11cec02f8d2f67640e73a6959b)) +* handle thread interrupts in the core HTTP client ([7ce44a9](https://github.com/hdresearch/vers-sdk-ruby/commit/7ce44a9bff9d50bd71431cb3bd302c0d762ad9da)) + + +### Bug Fixes + +* absolutely qualified uris should always override the default ([9fd3d83](https://github.com/hdresearch/vers-sdk-ruby/commit/9fd3d831212335f596571e30211697b67915622e)) +* always send `filename=...` for multipart requests where a file is expected ([20f6509](https://github.com/hdresearch/vers-sdk-ruby/commit/20f6509685d769e8b144074f853f75da9437547d)) +* better thread safety via early initializing SSL store during HTTP client creation ([8bd0408](https://github.com/hdresearch/vers-sdk-ruby/commit/8bd0408942aaabfd2da007f652d42965d8b19e3a)) +* bump sorbet version and fix new type errors from the breaking change ([fa59039](https://github.com/hdresearch/vers-sdk-ruby/commit/fa59039affa570785adb1923061c4760f8db9424)) +* calling `break` out of streams should be instantaneous ([ecfd335](https://github.com/hdresearch/vers-sdk-ruby/commit/ecfd33518fef29c6222e056f78c4560ebade717f)) +* coroutine leaks from connection pool ([a5254d2](https://github.com/hdresearch/vers-sdk-ruby/commit/a5254d28f8becc2607764f756651ebc4b3481eda)) +* issue where json.parse errors when receiving HTTP 204 with nobody ([87443ec](https://github.com/hdresearch/vers-sdk-ruby/commit/87443ec15fceb3e2e34bf9aaf8c78ffd7cae3528)) +* shorten multipart boundary sep to less than RFC specificed max length ([d152d0e](https://github.com/hdresearch/vers-sdk-ruby/commit/d152d0eda36017fc6ec00c29bcbace111ee360b9)) +* should not reuse buffers for `IO.copy_stream` interop ([53ea770](https://github.com/hdresearch/vers-sdk-ruby/commit/53ea770bd552dcc57b4c0f686b042660fe18226c)) + + +### Performance Improvements + +* faster code formatting ([bfb35ca](https://github.com/hdresearch/vers-sdk-ruby/commit/bfb35cad0e8dded737437b40e3b94f036fa0e7f8)) + + +### Chores + +* add json schema comment for rubocop.yml ([0a2b891](https://github.com/hdresearch/vers-sdk-ruby/commit/0a2b891b944131e8775c6272f081bd2511a52c6e)) +* bump dependency version and update sorbet types ([3d6246e](https://github.com/hdresearch/vers-sdk-ruby/commit/3d6246e2c5eb966baadbe31366c6b032d6942372)) +* collect metadata from type DSL ([044f442](https://github.com/hdresearch/vers-sdk-ruby/commit/044f4422ef1948051a5b212650f8d368e7953ebc)) +* do not install brew dependencies in ./scripts/bootstrap by default ([3c5912f](https://github.com/hdresearch/vers-sdk-ruby/commit/3c5912f19ef879816788299817e26cd966e5242c)) +* explicitly require "base64" gem ([d845469](https://github.com/hdresearch/vers-sdk-ruby/commit/d845469452ac4f0255c10b4cea5c29821022d014)) +* ignore linter error for tests having large collections ([046bb78](https://github.com/hdresearch/vers-sdk-ruby/commit/046bb7824445c0fab978133f42cfe3d3dd878a9f)) +* **internal:** codegen related update ([ae49c77](https://github.com/hdresearch/vers-sdk-ruby/commit/ae49c775e7c235dc56393aef5b41bd9d5090a916)) +* **internal:** codegen related update ([b0ef527](https://github.com/hdresearch/vers-sdk-ruby/commit/b0ef527585555d084ed9e9f24981ed62e2ea9008)) +* **internal:** codegen related update ([c9e7de1](https://github.com/hdresearch/vers-sdk-ruby/commit/c9e7de1a5cfee1072d39a29090258f022cd141e0)) +* **internal:** codegen related update ([d36fed0](https://github.com/hdresearch/vers-sdk-ruby/commit/d36fed0ff3a76236fa4077ab8560173df0c1153f)) +* **internal:** codegen related update ([eed56ef](https://github.com/hdresearch/vers-sdk-ruby/commit/eed56ef375f4843eed4e3af57367dd26239061d9)) +* **internal:** increase visibility of internal helper method ([fb8f268](https://github.com/hdresearch/vers-sdk-ruby/commit/fb8f26853146601300e5c4447266b35a239a4ea6)) +* **internal:** update comment in script ([78697f1](https://github.com/hdresearch/vers-sdk-ruby/commit/78697f1f9aff2ff34a8d4cd8aa4d4819dcc0787f)) +* sync repo ([039c06d](https://github.com/hdresearch/vers-sdk-ruby/commit/039c06d60b1c1cafdd551120432e3829dfac30de)) +* update @stainless-api/prism-cli to v5.15.0 ([bcd7ba0](https://github.com/hdresearch/vers-sdk-ruby/commit/bcd7ba0e16e062ec7965497950dc6f0082420cb7)) + ## 0.1.0-alpha.2 (2025-07-31) Full Changelog: [v0.1.0-alpha.1...v0.1.0-alpha.2](https://github.com/hdresearch/vers-sdk-ruby/compare/v0.1.0-alpha.1...v0.1.0-alpha.2) diff --git a/Gemfile b/Gemfile index 0d76364..1be178c 100644 --- a/Gemfile +++ b/Gemfile @@ -11,8 +11,7 @@ group :development do gem "sorbet" gem "steep" gem "syntax_tree" - # TODO: using a fork for now, the prettier below has a bug - gem "syntax_tree-rbs", github: "stainless-api/syntax_tree-rbs", branch: "main" + gem "syntax_tree-rbs", github: "ruby-syntax-tree/syntax_tree-rbs", branch: "main" gem "tapioca" end diff --git a/Gemfile.lock b/Gemfile.lock index 98601cb..9450f44 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,6 @@ GIT - remote: https://github.com/stainless-api/syntax_tree-rbs.git - revision: c30b50219918be7cfe3ef803a00b59d1e77fcada + remote: https://github.com/ruby-syntax-tree/syntax_tree-rbs.git + revision: f94bc3060682ffbd126e4d5086ffedc89073d626 branch: main specs: syntax_tree-rbs (1.0.0) @@ -11,20 +11,20 @@ GIT PATH remote: . specs: - vers (0.1.0.pre.alpha.2) + vers (0.1.0.pre.alpha.3) connection_pool GEM remote: https://rubygems.org/ specs: - activesupport (8.0.2) + activesupport (8.1.1) base64 - benchmark (>= 0.3) bigdecimal concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + json logger (>= 1.4.2) minitest (>= 5.1) securerandom (>= 0.3) @@ -33,46 +33,51 @@ GEM addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) ast (2.4.3) - async (2.24.0) + async (2.34.0) console (~> 1.29) fiber-annotation - io-event (~> 1.9) + io-event (~> 1.11) metrics (~> 0.12) - traces (~> 0.15) - base64 (0.2.0) - benchmark (0.4.0) - bigdecimal (3.1.9) + traces (~> 0.18) + base64 (0.3.0) + benchmark (0.5.0) + bigdecimal (3.3.1) concurrent-ruby (1.3.5) - connection_pool (2.5.3) - console (1.30.2) + connection_pool (2.5.4) + console (1.34.2) fiber-annotation fiber-local (~> 1.1) json - crack (1.0.0) + crack (1.0.1) bigdecimal rexml - csv (3.3.4) - drb (2.2.1) + csv (3.3.5) + drb (2.2.3) erubi (1.13.1) + ffi (1.17.2-aarch64-linux-gnu) + ffi (1.17.2-aarch64-linux-musl) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86_64-darwin) ffi (1.17.2-x86_64-linux-gnu) + ffi (1.17.2-x86_64-linux-musl) fiber-annotation (0.2.0) fiber-local (1.1.0) fiber-storage fiber-storage (1.0.1) - fileutils (1.7.3) - hashdiff (1.1.2) + fileutils (1.8.0) + hashdiff (1.2.1) i18n (1.14.7) concurrent-ruby (~> 1.0) - io-event (1.10.0) - json (2.11.3) - language_server-protocol (3.17.0.4) + io-event (1.11.2) + json (2.15.2) + language_server-protocol (3.17.0.5) lint_roller (1.1.0) listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) logger (1.7.0) - metrics (0.12.2) - minitest (5.25.5) + metrics (0.15.0) + minitest (5.26.0) minitest-focus (1.4.0) minitest (>= 4, < 6) minitest-hooks (1.5.2) @@ -84,28 +89,27 @@ GEM mutex_m (0.3.0) netrc (0.11.0) parallel (1.27.0) - parser (3.3.8.0) + parser (3.3.10.0) ast (~> 2.4.1) racc prettier_print (1.2.1) - prism (1.4.0) + prism (1.6.0) public_suffix (6.0.2) racc (1.8.1) rainbow (3.1.1) - rake (13.2.1) + rake (13.3.1) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rbi (0.3.2) + rbi (0.3.7) prism (~> 1.0) rbs (>= 3.4.4) - sorbet-runtime (>= 0.5.9204) - rbs (3.9.2) + rbs (3.9.5) logger redcarpet (3.6.1) - regexp_parser (2.10.0) - rexml (3.4.1) - rubocop (1.75.5) + regexp_parser (2.11.3) + rexml (3.4.4) + rubocop (1.81.7) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -113,25 +117,28 @@ GEM parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.44.0, < 2.0) + rubocop-ast (>= 1.47.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.44.1) + rubocop-ast (1.47.1) parser (>= 3.3.7.2) prism (~> 1.4) ruby-progressbar (1.13.0) securerandom (0.4.1) - sorbet (0.5.12067) - sorbet-static (= 0.5.12067) - sorbet-runtime (0.5.12067) - sorbet-static (0.5.12067-x86_64-linux) - sorbet-static-and-runtime (0.5.12067) - sorbet (= 0.5.12067) - sorbet-runtime (= 0.5.12067) - spoom (1.6.1) + sorbet (0.6.12690) + sorbet-static (= 0.6.12690) + sorbet-runtime (0.6.12690) + sorbet-static (0.6.12690-aarch64-linux) + sorbet-static (0.6.12690-universal-darwin) + sorbet-static (0.6.12690-x86_64-linux) + sorbet-static-and-runtime (0.6.12690) + sorbet (= 0.6.12690) + sorbet-runtime (= 0.6.12690) + spoom (1.6.3) erubi (>= 1.10.0) prism (>= 0.28.0) - rbi (>= 0.2.3) + rbi (>= 0.3.3) + rexml (>= 3.2.6) sorbet-static-and-runtime (>= 0.5.10187) thor (>= 0.19.2) steep (1.10.0) @@ -152,7 +159,7 @@ GEM terminal-table (>= 2, < 5) uri (>= 0.12.0) strscan (3.1.5) - syntax_tree (6.2.0) + syntax_tree (6.3.0) prettier_print (>= 1.2.0) tapioca (0.16.11) benchmark @@ -166,15 +173,15 @@ GEM yard-sorbet terminal-table (4.0.0) unicode-display_width (>= 1.1.1, < 4) - thor (1.3.2) - traces (0.15.2) + thor (1.4.0) + traces (0.18.2) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (3.1.4) - unicode-emoji (~> 4.0, >= 4.0.4) - unicode-emoji (4.0.4) - uri (1.0.3) - webmock (3.25.1) + unicode-display_width (3.2.0) + unicode-emoji (~> 4.1) + unicode-emoji (4.1.0) + uri (1.1.0) + webmock (3.26.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) @@ -185,7 +192,14 @@ GEM yard PLATFORMS - x86_64-linux + aarch64-linux + aarch64-linux-gnu + aarch64-linux-musl + arm64-darwin + universal-darwin + x86_64-darwin + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES async diff --git a/LICENSE b/LICENSE index bf01594..e227afe 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2025 Vers + Copyright 2026 Vers Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.md b/README.md index 81d930b..32bb251 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "vers", "~> 0.1.0.pre.alpha.2" +gem "vers", "~> 0.1.0.pre.alpha.3" ``` @@ -32,9 +32,9 @@ vers = Vers::Client.new( api_key: ENV["VERS_API_KEY"] # This is the default and can be omitted ) -clusters = vers.api.cluster.list +new_vm_response = vers.vm.create_root(vm_config: {}) -puts(clusters.operation_id) +puts(new_vm_response.vm_id) ``` ### Handling errors @@ -43,7 +43,7 @@ When the library is unable to connect to the API, or if the API returns a non-su ```ruby begin - cluster = vers.api.cluster.list + vm = vers.vm.create_root(vm_config: {}) rescue Vers::Errors::APIConnectionError => e puts("The server could not be reached") puts(e.cause) # an underlying Exception, likely raised within `net/http` @@ -86,7 +86,7 @@ vers = Vers::Client.new( ) # Or, configure per-request: -vers.api.cluster.list(request_options: {max_retries: 5}) +vers.vm.create_root(vm_config: {}, request_options: {max_retries: 5}) ``` ### Timeouts @@ -100,7 +100,7 @@ vers = Vers::Client.new( ) # Or, configure per-request: -vers.api.cluster.list(request_options: {timeout: 5}) +vers.vm.create_root(vm_config: {}, request_options: {timeout: 5}) ``` On timeout, `Vers::Errors::APITimeoutError` is raised. @@ -130,8 +130,9 @@ You can send undocumented parameters to any endpoint, and read undocumented resp Note: the `extra_` parameters of the same name overrides the documented parameters. ```ruby -clusters = - vers.api.cluster.list( +new_vm_response = + vers.vm.create_root( + vm_config: {}, request_options: { extra_query: {my_query_parameter: value}, extra_body: {my_body_parameter: value}, @@ -139,7 +140,7 @@ clusters = } ) -puts(clusters[:my_undocumented_property]) +puts(new_vm_response[:my_undocumented_property]) ``` #### Undocumented request params @@ -177,18 +178,18 @@ This library provides comprehensive [RBI](https://sorbet.org/docs/rbi) definitio You can provide typesafe request parameters like so: ```ruby -vers.api.cluster.list +vers.vm.create_root(vm_config: Vers::NewRootRequest::VmConfig.new) ``` Or, equivalently: ```ruby # Hashes work, but are not typesafe: -vers.api.cluster.list +vers.vm.create_root(vm_config: {}) # You can also splat a full Params class: -params = Vers::API::ClusterListParams.new -vers.api.cluster.list(**params) +params = Vers::VmCreateRootParams.new(vm_config: Vers::NewRootRequest::VmConfig.new) +vers.vm.create_root(**params) ``` ### Enums @@ -196,25 +197,25 @@ vers.api.cluster.list(**params) Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime: ```ruby -# :Running -puts(Vers::API::VmPatchRequest::State::RUNNING) +# :Paused +puts(Vers::VmUpdateStateRequest::State::PAUSED) -# Revealed type: `T.all(Vers::API::VmPatchRequest::State, Symbol)` -T.reveal_type(Vers::API::VmPatchRequest::State::RUNNING) +# Revealed type: `T.all(Vers::VmUpdateStateRequest::State, Symbol)` +T.reveal_type(Vers::VmUpdateStateRequest::State::PAUSED) ``` Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value: ```ruby # Using the enum constants preserves the tagged type information: -vers.api.vm.update( - state: Vers::API::VmPatchRequest::State::RUNNING, +vers.vm.update_state( + state: Vers::VmUpdateStateRequest::State::PAUSED, # … ) # Literal values are also permissible: -vers.api.vm.update( - state: :Running, +vers.vm.update_state( + state: :Paused, # … ) ``` diff --git a/Rakefile b/Rakefile index 7ba722b..52e1fe2 100644 --- a/Rakefile +++ b/Rakefile @@ -12,6 +12,8 @@ tapioca = "sorbet/tapioca" examples = "examples" ignore_file = ".ignore" +FILES_ENV = "FORMAT_FILE" + CLEAN.push(*%w[.idea/ .ruby-lsp/ .yardoc/ doc/], *FileList["*.gem"], ignore_file) CLOBBER.push(*%w[sorbet/rbi/annotations/ sorbet/rbi/gems/], tapioca) @@ -38,6 +40,14 @@ end xargs = %w[xargs --no-run-if-empty --null --max-procs=0 --max-args=300 --] ruby_opt = {"RUBYOPT" => [ENV["RUBYOPT"], "--encoding=UTF-8"].compact.join(" ")} +filtered = ->(ext, dirs) do + if ENV.key?(FILES_ENV) + %w[sed -E -n -e] << "/\\.#{ext}$/p" << "--" << ENV.fetch(FILES_ENV) + else + (%w[find] + dirs + %w[-type f -and -name]) << "*.#{ext}" << "-print0" + end +end + desc("Lint `*.rb(i)`") multitask(:"lint:rubocop") do find = %w[find ./lib ./test ./rbi ./examples -type f -and ( -name *.rb -or -name *.rbi ) -print0] @@ -52,24 +62,26 @@ multitask(:"lint:rubocop") do sh("#{find.shelljoin} | #{lint.shelljoin}") end +norm_lines = %w[tr -- \n \0].shelljoin + desc("Format `*.rb`") multitask(:"format:rb") do # while `syntax_tree` is much faster than `rubocop`, `rubocop` is the only formatter with full syntax support - find = %w[find ./lib ./test ./examples -type f -and -name *.rb -print0] + files = filtered["rb", %w[./lib ./test ./examples]] fmt = xargs + %w[rubocop --fail-level F --autocorrect --format simple --] - sh("#{find.shelljoin} | #{fmt.shelljoin}") + sh("#{files.shelljoin} | #{norm_lines} | #{fmt.shelljoin}") end desc("Format `*.rbi`") multitask(:"format:rbi") do - find = %w[find ./rbi -type f -and -name *.rbi -print0] + files = filtered["rbi", %w[./rbi]] fmt = xargs + %w[stree write --] - sh(ruby_opt, "#{find.shelljoin} | #{fmt.shelljoin}") + sh(ruby_opt, "#{files.shelljoin} | #{norm_lines} | #{fmt.shelljoin}") end desc("Format `*.rbs`") multitask(:"format:rbs") do - find = %w[find ./sig -type f -name *.rbs -print0] + files = filtered["rbs", %w[./sig]] inplace = /darwin|bsd/ =~ RUBY_PLATFORM ? ["-i", ""] : %w[-i] uuid = SecureRandom.uuid @@ -98,13 +110,13 @@ multitask(:"format:rbs") do success = false # transform class aliases to type aliases, which syntax tree has no trouble with - sh("#{find.shelljoin} | #{pre.shelljoin}") + sh("#{files.shelljoin} | #{norm_lines} | #{pre.shelljoin}") # run syntax tree to format `*.rbs` files - sh(ruby_opt, "#{find.shelljoin} | #{fmt.shelljoin}") do + sh(ruby_opt, "#{files.shelljoin} | #{norm_lines} | #{fmt.shelljoin}") do success = _1 end # transform type aliases back to class aliases - sh("#{find.shelljoin} | #{pst.shelljoin}") + sh("#{files.shelljoin} | #{norm_lines} | #{pst.shelljoin}") # always run post-processing to remove comment marker fail unless success diff --git a/lib/vers.rb b/lib/vers.rb index 93fab90..df3af0d 100644 --- a/lib/vers.rb +++ b/lib/vers.rb @@ -3,12 +3,14 @@ # Standard libraries. # rubocop:disable Lint/RedundantRequireStatement require "English" +require "base64" require "cgi" require "date" require "erb" require "etc" require "json" require "net/http" +require "openssl" require "pathname" require "rbconfig" require "securerandom" @@ -50,59 +52,23 @@ require_relative "vers/internal/transport/base_client" require_relative "vers/internal/transport/pooled_net_requester" require_relative "vers/client" -require_relative "vers/models/api/cluster_create_request" -require_relative "vers/models/api/cluster_patch_request" -require_relative "vers/models/api/vm_branch_request" -require_relative "vers/models/api/vm_commit_request" -require_relative "vers/models/api/vm_patch_request" -require_relative "vers/models/api/cluster_create_params" -require_relative "vers/models/api/cluster_create_response" -require_relative "vers/models/api/cluster_delete_params" -require_relative "vers/models/api/cluster_delete_response" -require_relative "vers/models/api/cluster_delete_response" -require_relative "vers/models/api/cluster_dto" -require_relative "vers/models/api/cluster_get_ssh_key_params" -require_relative "vers/models/api/cluster_get_ssh_key_response" -require_relative "vers/models/api/cluster_list_params" -require_relative "vers/models/api/cluster_list_response" -require_relative "vers/models/api/cluster_retrieve_params" -require_relative "vers/models/api/cluster_retrieve_response" -require_relative "vers/models/api/cluster_update_params" -require_relative "vers/models/api/cluster_update_response" -require_relative "vers/models/api/health_check_params" -require_relative "vers/models/api/health_check_response" -require_relative "vers/models/api/rootf_delete_params" -require_relative "vers/models/api/rootf_delete_response" -require_relative "vers/models/api/rootf_list_params" -require_relative "vers/models/api/rootf_list_response" -require_relative "vers/models/api/rootfs_delete_response" -require_relative "vers/models/api/rootfs_list_response" -require_relative "vers/models/api/rootfs_upload_response" -require_relative "vers/models/api/rootf_upload_params" -require_relative "vers/models/api/rootf_upload_response" -require_relative "vers/models/api/telemetry_dto" -require_relative "vers/models/api/telemetry_get_info_params" -require_relative "vers/models/api/vm_branch_params" -require_relative "vers/models/api/vm_branch_response" -require_relative "vers/models/api/vm_commit_params" -require_relative "vers/models/api/vm_commit_response" -require_relative "vers/models/api/vm_commit_response" -require_relative "vers/models/api/vm_delete_params" -require_relative "vers/models/api/vm_delete_response" -require_relative "vers/models/api/vm_delete_response" -require_relative "vers/models/api/vm_dto" -require_relative "vers/models/api/vm_get_ssh_key_params" -require_relative "vers/models/api/vm_get_ssh_key_response" -require_relative "vers/models/api/vm_list_params" -require_relative "vers/models/api/vm_list_response" -require_relative "vers/models/api/vm_retrieve_params" -require_relative "vers/models/api/vm_retrieve_response" -require_relative "vers/models/api/vm_update_params" -require_relative "vers/models/api/vm_update_response" +require_relative "vers/models/new_root_request" +require_relative "vers/models/vm_from_commit_request" +require_relative "vers/models/vm_update_state_request" +require_relative "vers/models/error_response" +require_relative "vers/models/new_vm_response" +require_relative "vers/models/vm" +require_relative "vers/models/vm_branch_params" +require_relative "vers/models/vm_commit_params" +require_relative "vers/models/vm_commit_response" +require_relative "vers/models/vm_create_root_params" +require_relative "vers/models/vm_delete_params" +require_relative "vers/models/vm_delete_response" +require_relative "vers/models/vm_get_ssh_key_params" +require_relative "vers/models/vm_list_params" +require_relative "vers/models/vm_list_response" +require_relative "vers/models/vm_restore_from_commit_params" +require_relative "vers/models/vm_ssh_key_response" +require_relative "vers/models/vm_update_state_params" require_relative "vers/models" -require_relative "vers/resources/api" -require_relative "vers/resources/api/cluster" -require_relative "vers/resources/api/health" -require_relative "vers/resources/api/rootfs" -require_relative "vers/resources/api/telemetry" -require_relative "vers/resources/api/vm" +require_relative "vers/resources/vm" diff --git a/lib/vers/client.rb b/lib/vers/client.rb index 3ec7ca2..be6e91f 100644 --- a/lib/vers/client.rb +++ b/lib/vers/client.rb @@ -18,8 +18,8 @@ class Client < Vers::Internal::Transport::BaseClient # @return [String, nil] attr_reader :api_key - # @return [Vers::Resources::API] - attr_reader :api + # @return [Vers::Resources::Vm] + attr_reader :vm # @api private # @@ -64,7 +64,7 @@ def initialize( max_retry_delay: max_retry_delay ) - @api = Vers::Resources::API.new(client: self) + @vm = Vers::Resources::Vm.new(client: self) end end end diff --git a/lib/vers/errors.rb b/lib/vers/errors.rb index 1ce0f08..b3ab07a 100644 --- a/lib/vers/errors.rb +++ b/lib/vers/errors.rb @@ -40,6 +40,9 @@ class APIError < Vers::Errors::Error # @return [Integer, nil] attr_accessor :status + # @return [Hash{String=>String}, nil] + attr_accessor :headers + # @return [Object, nil] attr_accessor :body @@ -47,13 +50,15 @@ class APIError < Vers::Errors::Error # # @param url [URI::Generic] # @param status [Integer, nil] + # @param headers [Hash{String=>String}, nil] # @param body [Object, nil] # @param request [nil] # @param response [nil] # @param message [String, nil] - def initialize(url:, status: nil, body: nil, request: nil, response: nil, message: nil) + def initialize(url:, status: nil, headers: nil, body: nil, request: nil, response: nil, message: nil) @url = url @status = status + @headers = headers @body = body @request = request @response = response @@ -74,6 +79,7 @@ class APIConnectionError < Vers::Errors::APIError # # @param url [URI::Generic] # @param status [nil] + # @param headers [Hash{String=>String}, nil] # @param body [nil] # @param request [nil] # @param response [nil] @@ -81,6 +87,7 @@ class APIConnectionError < Vers::Errors::APIError def initialize( url:, status: nil, + headers: nil, body: nil, request: nil, response: nil, @@ -95,6 +102,7 @@ class APITimeoutError < Vers::Errors::APIConnectionError # # @param url [URI::Generic] # @param status [nil] + # @param headers [Hash{String=>String}, nil] # @param body [nil] # @param request [nil] # @param response [nil] @@ -102,6 +110,7 @@ class APITimeoutError < Vers::Errors::APIConnectionError def initialize( url:, status: nil, + headers: nil, body: nil, request: nil, response: nil, @@ -116,21 +125,24 @@ class APIStatusError < Vers::Errors::APIError # # @param url [URI::Generic] # @param status [Integer] + # @param headers [Hash{String=>String}, nil] # @param body [Object, nil] # @param request [nil] # @param response [nil] # @param message [String, nil] # # @return [self] - def self.for(url:, status:, body:, request:, response:, message: nil) - kwargs = { - url: url, - status: status, - body: body, - request: request, - response: response, - message: message - } + def self.for(url:, status:, headers:, body:, request:, response:, message: nil) + kwargs = + { + url: url, + status: status, + headers: headers, + body: body, + request: request, + response: response, + message: message + } case status in 400 @@ -162,15 +174,17 @@ def self.for(url:, status:, body:, request:, response:, message: nil) # # @param url [URI::Generic] # @param status [Integer] + # @param headers [Hash{String=>String}, nil] # @param body [Object, nil] # @param request [nil] # @param response [nil] # @param message [String, nil] - def initialize(url:, status:, body:, request:, response:, message: nil) + def initialize(url:, status:, headers:, body:, request:, response:, message: nil) message ||= {url: url.to_s, status: status, body: body} super( url: url, status: status, + headers: headers, body: body, request: request, response: response, diff --git a/lib/vers/file_part.rb b/lib/vers/file_part.rb index 1f3eae6..ca43750 100644 --- a/lib/vers/file_part.rb +++ b/lib/vers/file_part.rb @@ -38,18 +38,21 @@ def to_json(*a) = read.to_json(*a) def to_yaml(*a) = read.to_yaml(*a) # @param content [Pathname, StringIO, IO, String] - # @param filename [String, nil] + # @param filename [Pathname, String, nil] # @param content_type [String, nil] def initialize(content, filename: nil, content_type: nil) - @content = content + @content_type = content_type @filename = - case content - in Pathname - filename.nil? ? content.basename.to_path : ::File.basename(filename) + case [filename, (@content = content)] + in [String | Pathname, _] + ::File.basename(filename) + in [nil, Pathname] + content.basename.to_path + in [nil, IO] + content.to_path else - filename.nil? ? nil : ::File.basename(filename) + filename end - @content_type = content_type end end end diff --git a/lib/vers/internal/transport/base_client.rb b/lib/vers/internal/transport/base_client.rb index 71fd8b4..d2b0592 100644 --- a/lib/vers/internal/transport/base_client.rb +++ b/lib/vers/internal/transport/base_client.rb @@ -47,7 +47,7 @@ def validate!(req) # @api private # # @param status [Integer] - # @param headers [Hash{String=>String}, Net::HTTPHeader] + # @param headers [Hash{String=>String}] # # @return [Boolean] def should_retry?(status, headers:) @@ -85,7 +85,7 @@ def should_retry?(status, headers:) # # @param status [Integer] # - # @param response_headers [Hash{String=>String}, Net::HTTPHeader] + # @param response_headers [Hash{String=>String}] # # @return [Hash{Symbol=>Object}] def follow_redirect(request, status:, response_headers:) @@ -201,7 +201,8 @@ def initialize( self.class::PLATFORM_HEADERS, { "accept" => "application/json", - "content-type" => "application/json" + "content-type" => "application/json", + "user-agent" => user_agent }, headers ) @@ -219,6 +220,11 @@ def initialize( # @return [Hash{String=>String}] private def auth_headers = {} + # @api private + # + # @return [String] + private def user_agent = "#{self.class.name}/Ruby #{Vers::VERSION}" + # @api private # # @return [String] @@ -362,7 +368,7 @@ def initialize( # # @raise [Vers::Errors::APIError] # @return [Array(Integer, Net::HTTPResponse, Enumerable)] - private def send_request(request, redirect_count:, retry_count:, send_retry_header:) + def send_request(request, redirect_count:, retry_count:, send_retry_header:) url, headers, max_retries, timeout = request.fetch_values(:url, :headers, :max_retries, :timeout) input = {**request.except(:timeout), deadline: Vers::Internal::Util.monotonic_secs + timeout} @@ -375,6 +381,7 @@ def initialize( rescue Vers::Errors::APIConnectionError => e status = e end + headers = Vers::Internal::Util.normalized_headers(response&.each_header&.to_h) case status in ..299 @@ -387,7 +394,7 @@ def initialize( in 300..399 self.class.reap_connection!(status, stream: stream) - request = self.class.follow_redirect(request, status: status, response_headers: response) + request = self.class.follow_redirect(request, status: status, response_headers: headers) send_request( request, redirect_count: redirect_count + 1, @@ -396,9 +403,9 @@ def initialize( ) in Vers::Errors::APIConnectionError if retry_count >= max_retries raise status - in (400..) if retry_count >= max_retries || !self.class.should_retry?(status, headers: response) + in (400..) if retry_count >= max_retries || !self.class.should_retry?(status, headers: headers) decoded = Kernel.then do - Vers::Internal::Util.decode_content(response, stream: stream, suppress_error: true) + Vers::Internal::Util.decode_content(headers, stream: stream, suppress_error: true) ensure self.class.reap_connection!(status, stream: stream) end @@ -406,6 +413,7 @@ def initialize( raise Vers::Errors::APIStatusError.for( url: url, status: status, + headers: headers, body: decoded, request: nil, response: response @@ -482,19 +490,21 @@ def request(req) send_retry_header: send_retry_header ) - decoded = Vers::Internal::Util.decode_content(response, stream: stream) + headers = Vers::Internal::Util.normalized_headers(response.each_header.to_h) + decoded = Vers::Internal::Util.decode_content(headers, stream: stream) case req in {stream: Class => st} st.new( model: model, url: url, status: status, + headers: headers, response: response, unwrap: unwrap, stream: decoded ) in {page: Class => page} - page.new(client: self, req: req, headers: response, page_data: decoded) + page.new(client: self, req: req, headers: headers, page_data: decoded) else unwrapped = Vers::Internal::Util.dig(decoded, unwrap) Vers::Internal::Type::Converter.coerce(model, unwrapped) diff --git a/lib/vers/internal/transport/pooled_net_requester.rb b/lib/vers/internal/transport/pooled_net_requester.rb index d4e682d..a123ae8 100644 --- a/lib/vers/internal/transport/pooled_net_requester.rb +++ b/lib/vers/internal/transport/pooled_net_requester.rb @@ -16,10 +16,11 @@ class PooledNetRequester class << self # @api private # + # @param cert_store [OpenSSL::X509::Store] # @param url [URI::Generic] # # @return [Net::HTTP] - def connect(url) + def connect(cert_store:, url:) port = case [url.port, url.scheme] in [Integer, _] @@ -33,6 +34,8 @@ def connect(url) Net::HTTP.new(url.host, port).tap do _1.use_ssl = %w[https wss].include?(url.scheme) _1.max_retries = 0 + + (_1.cert_store = cert_store) if _1.use_ssl? end end @@ -102,7 +105,7 @@ def build_request(request, &blk) pool = @mutex.synchronize do @pools[origin] ||= ConnectionPool.new(size: @size) do - self.class.connect(url) + self.class.connect(cert_store: @cert_store, url: url) end end @@ -128,37 +131,49 @@ def execute(request) url, deadline = request.fetch_values(:url, :deadline) req = nil - eof = false finished = false - closing = nil # rubocop:disable Metrics/BlockLength enum = Enumerator.new do |y| - with_pool(url, deadline: deadline) do |conn| - next if finished - - req, closing = self.class.build_request(request) do - self.class.calibrate_socket_timeout(conn, deadline) - end - - self.class.calibrate_socket_timeout(conn, deadline) - unless conn.started? - conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT - conn.start - end + next if finished - self.class.calibrate_socket_timeout(conn, deadline) - conn.request(req) do |rsp| - y << [conn, req, rsp] - break if finished + with_pool(url, deadline: deadline) do |conn| + eof = false + closing = nil + ::Thread.handle_interrupt(Object => :never) do + ::Thread.handle_interrupt(Object => :immediate) do + req, closing = self.class.build_request(request) do + self.class.calibrate_socket_timeout(conn, deadline) + end - rsp.read_body do |bytes| - y << bytes.force_encoding(Encoding::BINARY) - break if finished + self.class.calibrate_socket_timeout(conn, deadline) + unless conn.started? + conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT + conn.start + end self.class.calibrate_socket_timeout(conn, deadline) + ::Kernel.catch(:jump) do + conn.request(req) do |rsp| + y << [req, rsp] + ::Kernel.throw(:jump) if finished + + rsp.read_body do |bytes| + y << bytes.force_encoding(Encoding::BINARY) + ::Kernel.throw(:jump) if finished + + self.class.calibrate_socket_timeout(conn, deadline) + end + eof = true + end + end + end + ensure + begin + conn.finish if !eof && conn&.started? + ensure + closing&.call end - eof = true end end rescue Timeout::Error @@ -168,17 +183,10 @@ def execute(request) end # rubocop:enable Metrics/BlockLength - conn, _, response = enum.next + _, response = enum.next body = Vers::Internal::Util.fused_enum(enum, external: true) do finished = true - tap do - enum.next - rescue StopIteration - nil - end - ensure - conn.finish if !eof && conn&.started? - closing&.call + loop { enum.next } end [Integer(response.code), response, body] end @@ -189,19 +197,12 @@ def execute(request) def initialize(size: self.class::DEFAULT_MAX_CONNECTIONS) @mutex = Mutex.new @size = size + @cert_store = OpenSSL::X509::Store.new.tap(&:set_default_paths) @pools = {} end define_sorbet_constant!(:Request) do - T.type_alias do - { - method: Symbol, - url: URI::Generic, - headers: T::Hash[String, String], - body: T.anything, - deadline: Float - } - end + T.type_alias { {method: Symbol, url: URI::Generic, headers: T::Hash[String, String], body: T.anything, deadline: Float} } end end end diff --git a/lib/vers/internal/type/array_of.rb b/lib/vers/internal/type/array_of.rb index a7450c0..265ffe0 100644 --- a/lib/vers/internal/type/array_of.rb +++ b/lib/vers/internal/type/array_of.rb @@ -148,6 +148,7 @@ def to_sorbet_type # @option spec [Boolean] :"nil?" def initialize(type_info, spec = {}) @item_type_fn = Vers::Internal::Type::Converter.type_info(type_info || spec) + @meta = Vers::Internal::Type::Converter.meta_info(type_info, spec) @nilable = spec.fetch(:nil?, false) end diff --git a/lib/vers/internal/type/base_model.rb b/lib/vers/internal/type/base_model.rb index 7c40b49..a81450c 100644 --- a/lib/vers/internal/type/base_model.rb +++ b/lib/vers/internal/type/base_model.rb @@ -52,6 +52,7 @@ def fields # # @option spec [Boolean] :"nil?" private def add_field(name_sym, required:, type_info:, spec:) + meta = Vers::Internal::Type::Converter.meta_info(type_info, spec) type_fn, info = case type_info in Proc | Vers::Internal::Type::Converter | Class @@ -74,7 +75,8 @@ def fields required: required, nilable: nilable, const: const, - type_fn: type_fn + type_fn: type_fn, + meta: meta } define_method(setter) do |value| @@ -438,11 +440,10 @@ def deep_to_h = self.class.recursively_to_h(@data, convert: false) # @return [Hash{Symbol=>Object}] # # @example - # # `cluster_delete_response` is a `Vers::API::ClusterDeleteResponse` - # cluster_delete_response => { - # cluster_id: cluster_id, - # vms: vms, - # fs_error: fs_error + # # `error_response` is a `Vers::ErrorResponse` + # error_response => { + # error: error, + # success: success # } def deconstruct_keys(keys) (keys || self.class.known_fields.keys) diff --git a/lib/vers/internal/type/base_page.rb b/lib/vers/internal/type/base_page.rb index 6d7e775..e4372af 100644 --- a/lib/vers/internal/type/base_page.rb +++ b/lib/vers/internal/type/base_page.rb @@ -39,7 +39,7 @@ def to_enum = super(:auto_paging_each) # # @param client [Vers::Internal::Transport::BaseClient] # @param req [Hash{Symbol=>Object}] - # @param headers [Hash{String=>String}, Net::HTTPHeader] + # @param headers [Hash{String=>String}] # @param page_data [Object] def initialize(client:, req:, headers:, page_data:) @client = client diff --git a/lib/vers/internal/type/converter.rb b/lib/vers/internal/type/converter.rb index 1305170..9db6d39 100644 --- a/lib/vers/internal/type/converter.rb +++ b/lib/vers/internal/type/converter.rb @@ -98,6 +98,33 @@ def type_info(spec) end end + # @api private + # + # @param type_info [Hash{Symbol=>Object}, Proc, Vers::Internal::Type::Converter, Class] . + # + # @option type_info [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const + # + # @option type_info [Proc] :enum + # + # @option type_info [Proc] :union + # + # @option type_info [Boolean] :"nil?" + # + # @param spec [Hash{Symbol=>Object}, Proc, Vers::Internal::Type::Converter, Class] . + # + # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const + # + # @option spec [Proc] :enum + # + # @option spec [Proc] :union + # + # @option spec [Boolean] :"nil?" + # + # @return [Hash{Symbol=>Object}] + def meta_info(type_info, spec) + [spec, type_info].grep(Hash).first.to_h.except(:const, :enum, :union, :nil?) + end + # @api private # # @param translate_names [Boolean] diff --git a/lib/vers/internal/type/file_input.rb b/lib/vers/internal/type/file_input.rb index b6413d1..62d8bd9 100644 --- a/lib/vers/internal/type/file_input.rb +++ b/lib/vers/internal/type/file_input.rb @@ -81,17 +81,20 @@ def coerce(value, state:) # # @return [Pathname, StringIO, IO, String, Object] def dump(value, state:) - # rubocop:disable Lint/DuplicateBranch case value + in StringIO | String + # https://datatracker.ietf.org/doc/html/rfc7578#section-4.2 + # while not required, a filename is recommended, and in practice many servers do expect this + Vers::FilePart.new(value, filename: "upload") in IO state[:can_retry] = false + value.to_path.nil? ? Vers::FilePart.new(value, filename: "upload") : value in Vers::FilePart if value.content.is_a?(IO) state[:can_retry] = false + value else + value end - # rubocop:enable Lint/DuplicateBranch - - value end # @api private diff --git a/lib/vers/internal/type/hash_of.rb b/lib/vers/internal/type/hash_of.rb index f2733a9..62b7cfe 100644 --- a/lib/vers/internal/type/hash_of.rb +++ b/lib/vers/internal/type/hash_of.rb @@ -168,6 +168,7 @@ def to_sorbet_type # @option spec [Boolean] :"nil?" def initialize(type_info, spec = {}) @item_type_fn = Vers::Internal::Type::Converter.type_info(type_info || spec) + @meta = Vers::Internal::Type::Converter.meta_info(type_info, spec) @nilable = spec.fetch(:nil?, false) end diff --git a/lib/vers/internal/type/union.rb b/lib/vers/internal/type/union.rb index 204ad9d..7e8d151 100644 --- a/lib/vers/internal/type/union.rb +++ b/lib/vers/internal/type/union.rb @@ -4,17 +4,6 @@ module Vers module Internal module Type # @api private - # - # @example - # # `cluster_create_request` is a `Vers::API::ClusterCreateRequest` - # case cluster_create_request - # when Vers::API::ClusterCreateRequest::NewClusterParams - # puts(cluster_create_request.cluster_type) - # when Vers::API::ClusterCreateRequest::ClusterFromCommitParams - # puts(cluster_create_request.params) - # else - # puts(cluster_create_request) - # end module Union include Vers::Internal::Type::Converter include Vers::Internal::Util::SorbetRuntimeSupport @@ -23,20 +12,20 @@ module Union # # All of the specified variant info for this union. # - # @return [Array] + # @return [ArrayObject})>] private def known_variants = (@known_variants ||= []) # @api private # - # @return [Array] + # @return [ArrayObject})>] protected def derefed_variants - known_variants.map { |key, variant_fn| [key, variant_fn.call] } + known_variants.map { |key, variant_fn, meta| [key, variant_fn.call, meta] } end # All of the specified variants for this union. # # @return [Array] - def variants = derefed_variants.map(&:last) + def variants = derefed_variants.map { _2 } # @api private # @@ -62,12 +51,13 @@ def variants = derefed_variants.map(&:last) # # @option spec [Boolean] :"nil?" private def variant(key, spec = nil) + meta = Vers::Internal::Type::Converter.meta_info(nil, spec) variant_info = case key in Symbol - [key, Vers::Internal::Type::Converter.type_info(spec)] + [key, Vers::Internal::Type::Converter.type_info(spec), meta] in Proc | Vers::Internal::Type::Converter | Class | Hash - [nil, Vers::Internal::Type::Converter.type_info(key)] + [nil, Vers::Internal::Type::Converter.type_info(key), meta] end known_variants << variant_info @@ -90,7 +80,8 @@ def variants = derefed_variants.map(&:last) return nil if key == Vers::Internal::OMIT key = key.to_sym if key.is_a?(String) - known_variants.find { |k,| k == key }&.last&.call + _, found = known_variants.find { |k,| k == key } + found&.call else nil end diff --git a/lib/vers/internal/util.rb b/lib/vers/internal/util.rb index ea0a17a..c72a09b 100644 --- a/lib/vers/internal/util.rb +++ b/lib/vers/internal/util.rb @@ -244,7 +244,7 @@ class << self # # @return [String] def uri_origin(uri) - "#{uri.scheme}://#{uri.host}#{uri.port == uri.default_port ? '' : ":#{uri.port}"}" + "#{uri.scheme}://#{uri.host}#{":#{uri.port}" unless uri.port == uri.default_port}" end # @api private @@ -346,8 +346,9 @@ def join_parsed_uri(lhs, rhs) base_path, base_query = lhs.fetch_values(:path, :query) slashed = base_path.end_with?("/") ? base_path : "#{base_path}/" - parsed_path, parsed_query = parse_uri(rhs.fetch(:path)).fetch_values(:path, :query) - override = URI::Generic.build(**rhs.slice(:scheme, :host, :port), path: parsed_path) + merged = {**parse_uri(rhs.fetch(:path)), **rhs.except(:path, :query)} + parsed_path, parsed_query = merged.fetch_values(:path, :query) + override = URI::Generic.build(**merged.slice(:scheme, :host, :port), path: parsed_path) joined = URI.join(URI::Generic.build(lhs.except(:path, :query)), slashed, override) query = deep_merge( @@ -473,10 +474,9 @@ class << self # @return [Enumerable] def writable_enum(&blk) Enumerator.new do |y| - buf = String.new y.define_singleton_method(:write) do - self << buf.replace(_1) - buf.bytesize + self << _1.dup + _1.bytesize end blk.call(y) @@ -566,7 +566,8 @@ class << self # # @return [Array(String, Enumerable)] private def encode_multipart_streaming(body) - boundary = SecureRandom.urlsafe_base64(60) + # RFC 1521 Section 7.2.1 says we should have 70 char maximum for boundary length + boundary = SecureRandom.urlsafe_base64(46) closing = [] strio = writable_enum do |y| @@ -645,7 +646,7 @@ def force_charset!(content_type, text:) # # Assumes each chunk in stream has `Encoding::BINARY`. # - # @param headers [Hash{String=>String}, Net::HTTPHeader] + # @param headers [Hash{String=>String}] # @param stream [Enumerable] # @param suppress_error [Boolean] # @@ -654,7 +655,8 @@ def force_charset!(content_type, text:) def decode_content(headers, stream:, suppress_error: false) case (content_type = headers["content-type"]) in Vers::Internal::Util::JSON_CONTENT - json = stream.to_a.join + return nil if (json = stream.to_a.join).empty? + begin JSON.parse(json, symbolize_names: true) rescue JSON::ParserError => e @@ -664,7 +666,11 @@ def decode_content(headers, stream:, suppress_error: false) in Vers::Internal::Util::JSONL_CONTENT lines = decode_lines(stream) chain_fused(lines) do |y| - lines.each { y << JSON.parse(_1, symbolize_names: true) } + lines.each do + next if _1.empty? + + y << JSON.parse(_1, symbolize_names: true) + end end in %r{^text/event-stream} lines = decode_lines(stream) diff --git a/lib/vers/models.rb b/lib/vers/models.rb index b65fded..2ca5c3e 100644 --- a/lib/vers/models.rb +++ b/lib/vers/models.rb @@ -39,5 +39,37 @@ module Vers mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } } end - API = Vers::Models::API + ErrorResponse = Vers::Models::ErrorResponse + + NewRootRequest = Vers::Models::NewRootRequest + + NewVmResponse = Vers::Models::NewVmResponse + + VmAPI = Vers::Models::VmAPI + + VmBranchParams = Vers::Models::VmBranchParams + + VmCommitParams = Vers::Models::VmCommitParams + + VmCommitResponse = Vers::Models::VmCommitResponse + + VmCreateRootParams = Vers::Models::VmCreateRootParams + + VmDeleteParams = Vers::Models::VmDeleteParams + + VmDeleteResponse = Vers::Models::VmDeleteResponse + + VmFromCommitRequest = Vers::Models::VmFromCommitRequest + + VmGetSSHKeyParams = Vers::Models::VmGetSSHKeyParams + + VmListParams = Vers::Models::VmListParams + + VmRestoreFromCommitParams = Vers::Models::VmRestoreFromCommitParams + + VmSSHKeyResponse = Vers::Models::VmSSHKeyResponse + + VmUpdateStateParams = Vers::Models::VmUpdateStateParams + + VmUpdateStateRequest = Vers::Models::VmUpdateStateRequest end diff --git a/lib/vers/models/api/cluster_create_params.rb b/lib/vers/models/api/cluster_create_params.rb deleted file mode 100644 index 24a81c3..0000000 --- a/lib/vers/models/api/cluster_create_params.rb +++ /dev/null @@ -1,22 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Cluster#create - class ClusterCreateParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!attribute cluster_create_request - # - # @return [Vers::Models::API::ClusterCreateRequest::NewClusterParams, Vers::Models::API::ClusterCreateRequest::ClusterFromCommitParams] - required :cluster_create_request, union: -> { Vers::API::ClusterCreateRequest } - - # @!method initialize(cluster_create_request:, request_options: {}) - # @param cluster_create_request [Vers::Models::API::ClusterCreateRequest::NewClusterParams, Vers::Models::API::ClusterCreateRequest::ClusterFromCommitParams] - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/cluster_create_request.rb b/lib/vers/models/api/cluster_create_request.rb deleted file mode 100644 index e71c40f..0000000 --- a/lib/vers/models/api/cluster_create_request.rb +++ /dev/null @@ -1,169 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - module ClusterCreateRequest - extend Vers::Internal::Type::Union - - variant -> { Vers::API::ClusterCreateRequest::NewClusterParams } - - variant -> { Vers::API::ClusterCreateRequest::ClusterFromCommitParams } - - class NewClusterParams < Vers::Internal::Type::BaseModel - # @!attribute cluster_type - # - # @return [Symbol, Vers::Models::API::ClusterCreateRequest::NewClusterParams::ClusterType] - required :cluster_type, enum: -> { Vers::API::ClusterCreateRequest::NewClusterParams::ClusterType } - - # @!attribute params - # - # @return [Vers::Models::API::ClusterCreateRequest::NewClusterParams::Params] - required :params, -> { Vers::API::ClusterCreateRequest::NewClusterParams::Params } - - # @!method initialize(cluster_type:, params:) - # @param cluster_type [Symbol, Vers::Models::API::ClusterCreateRequest::NewClusterParams::ClusterType] - # @param params [Vers::Models::API::ClusterCreateRequest::NewClusterParams::Params] - - # @see Vers::Models::API::ClusterCreateRequest::NewClusterParams#cluster_type - module ClusterType - extend Vers::Internal::Type::Enum - - NEW = :new - - # @!method self.values - # @return [Array] - end - - # @see Vers::Models::API::ClusterCreateRequest::NewClusterParams#params - class Params < Vers::Internal::Type::BaseModel - # @!attribute cluster_alias - # - # @return [String, nil] - optional :cluster_alias, String, nil?: true - - # @!attribute fs_size_cluster_mib - # The amount of total space to allocate to the cluster - # - # @return [Integer, nil] - optional :fs_size_cluster_mib, Integer, nil?: true - - # @!attribute fs_size_vm_mib - # The size of the VM filesystem (if smaller than the base image + overhead, will - # cause an error) - # - # @return [Integer, nil] - optional :fs_size_vm_mib, Integer, nil?: true - - # @!attribute kernel_name - # - # @return [String, nil] - optional :kernel_name, String, nil?: true - - # @!attribute mem_size_mib - # - # @return [Integer, nil] - optional :mem_size_mib, Integer, nil?: true - - # @!attribute rootfs_name - # - # @return [String, nil] - optional :rootfs_name, String, nil?: true - - # @!attribute vcpu_count - # - # @return [Integer, nil] - optional :vcpu_count, Integer, nil?: true - - # @!attribute vm_alias - # - # @return [String, nil] - optional :vm_alias, String, nil?: true - - # @!method initialize(cluster_alias: nil, fs_size_cluster_mib: nil, fs_size_vm_mib: nil, kernel_name: nil, mem_size_mib: nil, rootfs_name: nil, vcpu_count: nil, vm_alias: nil) - # Some parameter documentations has been truncated, see - # {Vers::Models::API::ClusterCreateRequest::NewClusterParams::Params} for more - # details. - # - # @param cluster_alias [String, nil] - # - # @param fs_size_cluster_mib [Integer, nil] The amount of total space to allocate to the cluster - # - # @param fs_size_vm_mib [Integer, nil] The size of the VM filesystem (if smaller than the base image + overhead, will c - # - # @param kernel_name [String, nil] - # - # @param mem_size_mib [Integer, nil] - # - # @param rootfs_name [String, nil] - # - # @param vcpu_count [Integer, nil] - # - # @param vm_alias [String, nil] - end - end - - class ClusterFromCommitParams < Vers::Internal::Type::BaseModel - # @!attribute cluster_type - # - # @return [Symbol, Vers::Models::API::ClusterCreateRequest::ClusterFromCommitParams::ClusterType] - required :cluster_type, - enum: -> { - Vers::API::ClusterCreateRequest::ClusterFromCommitParams::ClusterType - } - - # @!attribute params - # - # @return [Vers::Models::API::ClusterCreateRequest::ClusterFromCommitParams::Params] - required :params, -> { Vers::API::ClusterCreateRequest::ClusterFromCommitParams::Params } - - # @!method initialize(cluster_type:, params:) - # @param cluster_type [Symbol, Vers::Models::API::ClusterCreateRequest::ClusterFromCommitParams::ClusterType] - # @param params [Vers::Models::API::ClusterCreateRequest::ClusterFromCommitParams::Params] - - # @see Vers::Models::API::ClusterCreateRequest::ClusterFromCommitParams#cluster_type - module ClusterType - extend Vers::Internal::Type::Enum - - FROM_COMMIT = :from_commit - - # @!method self.values - # @return [Array] - end - - # @see Vers::Models::API::ClusterCreateRequest::ClusterFromCommitParams#params - class Params < Vers::Internal::Type::BaseModel - # @!attribute commit_key - # - # @return [String] - required :commit_key, String - - # @!attribute cluster_alias - # - # @return [String, nil] - optional :cluster_alias, String, nil?: true - - # @!attribute fs_size_cluster_mib - # - # @return [Integer, nil] - optional :fs_size_cluster_mib, Integer, nil?: true - - # @!attribute vm_alias - # - # @return [String, nil] - optional :vm_alias, String, nil?: true - - # @!method initialize(commit_key:, cluster_alias: nil, fs_size_cluster_mib: nil, vm_alias: nil) - # @param commit_key [String] - # @param cluster_alias [String, nil] - # @param fs_size_cluster_mib [Integer, nil] - # @param vm_alias [String, nil] - end - end - - # @!method self.variants - # @return [Array(Vers::Models::API::ClusterCreateRequest::NewClusterParams, Vers::Models::API::ClusterCreateRequest::ClusterFromCommitParams)] - end - end - end -end diff --git a/lib/vers/models/api/cluster_create_response.rb b/lib/vers/models/api/cluster_create_response.rb deleted file mode 100644 index 548348a..0000000 --- a/lib/vers/models/api/cluster_create_response.rb +++ /dev/null @@ -1,124 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Cluster#create - class ClusterCreateResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # - # @return [Vers::Models::API::ClusterCreateResponse::Data] - required :data, -> { Vers::Models::API::ClusterCreateResponse::Data } - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::ClusterCreateResponse::OperationCode] - required :operation_code, enum: -> { Vers::Models::API::ClusterCreateResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # @param data [Vers::Models::API::ClusterCreateResponse::Data] - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::ClusterCreateResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - # @see Vers::Models::API::ClusterCreateResponse#data - class Data < Vers::Internal::Type::BaseModel - # @!attribute id - # The cluster's ID. - # - # @return [String] - required :id, String - - # @!attribute fs_size_mib - # The size of the cluster's backing file - # - # @return [Integer] - required :fs_size_mib, Integer - - # @!attribute root_vm_id - # The ID of the cluster's root VM. - # - # @return [String] - required :root_vm_id, String - - # @!attribute vm_count - # How many VMs are currently running on this cluster. - # - # @return [Integer] - required :vm_count, Integer - - # @!attribute vms - # The VMs that are children of the cluster, including the root VM. - # - # @return [Array] - required :vms, -> { Vers::Internal::Type::ArrayOf[Vers::API::VmDto] } - - # @!attribute alias_ - # Human-readable name assigned to the cluster. - # - # @return [String, nil] - optional :alias_, String, api_name: :alias, nil?: true - - # @!method initialize(id:, fs_size_mib:, root_vm_id:, vm_count:, vms:, alias_: nil) - # @param id [String] The cluster's ID. - # - # @param fs_size_mib [Integer] The size of the cluster's backing file - # - # @param root_vm_id [String] The ID of the cluster's root VM. - # - # @param vm_count [Integer] How many VMs are currently running on this cluster. - # - # @param vms [Array] The VMs that are children of the cluster, including the root VM. - # - # @param alias_ [String, nil] Human-readable name assigned to the cluster. - end - - # @see Vers::Models::API::ClusterCreateResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/cluster_delete_params.rb b/lib/vers/models/api/cluster_delete_params.rb deleted file mode 100644 index 2e06428..0000000 --- a/lib/vers/models/api/cluster_delete_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Cluster#delete - class ClusterDeleteParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/cluster_delete_response.rb b/lib/vers/models/api/cluster_delete_response.rb deleted file mode 100644 index ff59603..0000000 --- a/lib/vers/models/api/cluster_delete_response.rb +++ /dev/null @@ -1,112 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - class ClusterDeleteResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # A struct containing information about an attempted cluster deletion request. - # Reports information in the event of a partial failure so billing can still be - # udpated appropriately. - # - # @return [Vers::Models::API::ClusterDeleteResponse::Data] - required :data, -> { Vers::API::ClusterDeleteResponse::Data } - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::ClusterDeleteResponse::OperationCode] - required :operation_code, enum: -> { Vers::API::ClusterDeleteResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # Some parameter documentations has been truncated, see - # {Vers::Models::API::ClusterDeleteResponse} for more details. - # - # @param data [Vers::Models::API::ClusterDeleteResponse::Data] A struct containing information about an attempted cluster deletion request. Rep - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::ClusterDeleteResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - # @see Vers::Models::API::ClusterDeleteResponse#data - class Data < Vers::Internal::Type::BaseModel - # @!attribute cluster_id - # - # @return [String] - required :cluster_id, String - - # @!attribute vms - # A struct containing information about an attempted VM deletion request. Reports - # information in the event of a partial failure so billing can still be udpated - # appropriately. - # - # @return [Vers::Models::API::VmDeleteResponse] - required :vms, -> { Vers::API::VmDeleteResponse } - - # @!attribute fs_error - # - # @return [String, nil] - optional :fs_error, String, nil?: true - - # @!method initialize(cluster_id:, vms:, fs_error: nil) - # Some parameter documentations has been truncated, see - # {Vers::Models::API::ClusterDeleteResponse::Data} for more details. - # - # A struct containing information about an attempted cluster deletion request. - # Reports information in the event of a partial failure so billing can still be - # udpated appropriately. - # - # @param cluster_id [String] - # - # @param vms [Vers::Models::API::VmDeleteResponse] A struct containing information about an attempted VM deletion request. Reports - # - # @param fs_error [String, nil] - end - - # @see Vers::Models::API::ClusterDeleteResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/cluster_dto.rb b/lib/vers/models/api/cluster_dto.rb deleted file mode 100644 index aa93db2..0000000 --- a/lib/vers/models/api/cluster_dto.rb +++ /dev/null @@ -1,58 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - class ClusterDto < Vers::Internal::Type::BaseModel - # @!attribute id - # The cluster's ID. - # - # @return [String] - required :id, String - - # @!attribute fs_size_mib - # The size of the cluster's backing file - # - # @return [Integer] - required :fs_size_mib, Integer - - # @!attribute root_vm_id - # The ID of the cluster's root VM. - # - # @return [String] - required :root_vm_id, String - - # @!attribute vm_count - # How many VMs are currently running on this cluster. - # - # @return [Integer] - required :vm_count, Integer - - # @!attribute vms - # The VMs that are children of the cluster, including the root VM. - # - # @return [Array] - required :vms, -> { Vers::Internal::Type::ArrayOf[Vers::API::VmDto] } - - # @!attribute alias_ - # Human-readable name assigned to the cluster. - # - # @return [String, nil] - optional :alias_, String, api_name: :alias, nil?: true - - # @!method initialize(id:, fs_size_mib:, root_vm_id:, vm_count:, vms:, alias_: nil) - # @param id [String] The cluster's ID. - # - # @param fs_size_mib [Integer] The size of the cluster's backing file - # - # @param root_vm_id [String] The ID of the cluster's root VM. - # - # @param vm_count [Integer] How many VMs are currently running on this cluster. - # - # @param vms [Array] The VMs that are children of the cluster, including the root VM. - # - # @param alias_ [String, nil] Human-readable name assigned to the cluster. - end - end - end -end diff --git a/lib/vers/models/api/cluster_get_ssh_key_params.rb b/lib/vers/models/api/cluster_get_ssh_key_params.rb deleted file mode 100644 index 5841482..0000000 --- a/lib/vers/models/api/cluster_get_ssh_key_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Cluster#get_ssh_key - class ClusterGetSSHKeyParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/cluster_get_ssh_key_response.rb b/lib/vers/models/api/cluster_get_ssh_key_response.rb deleted file mode 100644 index ae09ffc..0000000 --- a/lib/vers/models/api/cluster_get_ssh_key_response.rb +++ /dev/null @@ -1,72 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Cluster#get_ssh_key - class ClusterGetSSHKeyResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # - # @return [String] - required :data, String - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode] - required :operation_code, enum: -> { Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # @param data [String] - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - # @see Vers::Models::API::ClusterGetSSHKeyResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/cluster_list_params.rb b/lib/vers/models/api/cluster_list_params.rb deleted file mode 100644 index 0bf98d1..0000000 --- a/lib/vers/models/api/cluster_list_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Cluster#list - class ClusterListParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/cluster_list_response.rb b/lib/vers/models/api/cluster_list_response.rb deleted file mode 100644 index 1d93444..0000000 --- a/lib/vers/models/api/cluster_list_response.rb +++ /dev/null @@ -1,123 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Cluster#list - class ClusterListResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # - # @return [Array] - required :data, -> { Vers::Internal::Type::ArrayOf[Vers::Models::API::ClusterListResponse::Data] } - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::ClusterListResponse::OperationCode] - required :operation_code, enum: -> { Vers::Models::API::ClusterListResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # @param data [Array] - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::ClusterListResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - class Data < Vers::Internal::Type::BaseModel - # @!attribute id - # The cluster's ID. - # - # @return [String] - required :id, String - - # @!attribute fs_size_mib - # The size of the cluster's backing file - # - # @return [Integer] - required :fs_size_mib, Integer - - # @!attribute root_vm_id - # The ID of the cluster's root VM. - # - # @return [String] - required :root_vm_id, String - - # @!attribute vm_count - # How many VMs are currently running on this cluster. - # - # @return [Integer] - required :vm_count, Integer - - # @!attribute vms - # The VMs that are children of the cluster, including the root VM. - # - # @return [Array] - required :vms, -> { Vers::Internal::Type::ArrayOf[Vers::API::VmDto] } - - # @!attribute alias_ - # Human-readable name assigned to the cluster. - # - # @return [String, nil] - optional :alias_, String, api_name: :alias, nil?: true - - # @!method initialize(id:, fs_size_mib:, root_vm_id:, vm_count:, vms:, alias_: nil) - # @param id [String] The cluster's ID. - # - # @param fs_size_mib [Integer] The size of the cluster's backing file - # - # @param root_vm_id [String] The ID of the cluster's root VM. - # - # @param vm_count [Integer] How many VMs are currently running on this cluster. - # - # @param vms [Array] The VMs that are children of the cluster, including the root VM. - # - # @param alias_ [String, nil] Human-readable name assigned to the cluster. - end - - # @see Vers::Models::API::ClusterListResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/cluster_patch_request.rb b/lib/vers/models/api/cluster_patch_request.rb deleted file mode 100644 index 0b05bee..0000000 --- a/lib/vers/models/api/cluster_patch_request.rb +++ /dev/null @@ -1,17 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - class ClusterPatchRequest < Vers::Internal::Type::BaseModel - # @!attribute alias_ - # - # @return [String, nil] - optional :alias_, String, api_name: :alias, nil?: true - - # @!method initialize(alias_: nil) - # @param alias_ [String, nil] - end - end - end -end diff --git a/lib/vers/models/api/cluster_retrieve_params.rb b/lib/vers/models/api/cluster_retrieve_params.rb deleted file mode 100644 index bb9cc18..0000000 --- a/lib/vers/models/api/cluster_retrieve_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Cluster#retrieve - class ClusterRetrieveParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/cluster_retrieve_response.rb b/lib/vers/models/api/cluster_retrieve_response.rb deleted file mode 100644 index a3cd894..0000000 --- a/lib/vers/models/api/cluster_retrieve_response.rb +++ /dev/null @@ -1,124 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Cluster#retrieve - class ClusterRetrieveResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # - # @return [Vers::Models::API::ClusterRetrieveResponse::Data] - required :data, -> { Vers::Models::API::ClusterRetrieveResponse::Data } - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::ClusterRetrieveResponse::OperationCode] - required :operation_code, enum: -> { Vers::Models::API::ClusterRetrieveResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # @param data [Vers::Models::API::ClusterRetrieveResponse::Data] - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::ClusterRetrieveResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - # @see Vers::Models::API::ClusterRetrieveResponse#data - class Data < Vers::Internal::Type::BaseModel - # @!attribute id - # The cluster's ID. - # - # @return [String] - required :id, String - - # @!attribute fs_size_mib - # The size of the cluster's backing file - # - # @return [Integer] - required :fs_size_mib, Integer - - # @!attribute root_vm_id - # The ID of the cluster's root VM. - # - # @return [String] - required :root_vm_id, String - - # @!attribute vm_count - # How many VMs are currently running on this cluster. - # - # @return [Integer] - required :vm_count, Integer - - # @!attribute vms - # The VMs that are children of the cluster, including the root VM. - # - # @return [Array] - required :vms, -> { Vers::Internal::Type::ArrayOf[Vers::API::VmDto] } - - # @!attribute alias_ - # Human-readable name assigned to the cluster. - # - # @return [String, nil] - optional :alias_, String, api_name: :alias, nil?: true - - # @!method initialize(id:, fs_size_mib:, root_vm_id:, vm_count:, vms:, alias_: nil) - # @param id [String] The cluster's ID. - # - # @param fs_size_mib [Integer] The size of the cluster's backing file - # - # @param root_vm_id [String] The ID of the cluster's root VM. - # - # @param vm_count [Integer] How many VMs are currently running on this cluster. - # - # @param vms [Array] The VMs that are children of the cluster, including the root VM. - # - # @param alias_ [String, nil] Human-readable name assigned to the cluster. - end - - # @see Vers::Models::API::ClusterRetrieveResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/cluster_update_params.rb b/lib/vers/models/api/cluster_update_params.rb deleted file mode 100644 index 3ee9cca..0000000 --- a/lib/vers/models/api/cluster_update_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Cluster#update - class ClusterUpdateParams < Vers::Models::API::ClusterPatchRequest - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/cluster_update_response.rb b/lib/vers/models/api/cluster_update_response.rb deleted file mode 100644 index b80a98f..0000000 --- a/lib/vers/models/api/cluster_update_response.rb +++ /dev/null @@ -1,124 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Cluster#update - class ClusterUpdateResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # - # @return [Vers::Models::API::ClusterUpdateResponse::Data] - required :data, -> { Vers::Models::API::ClusterUpdateResponse::Data } - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::ClusterUpdateResponse::OperationCode] - required :operation_code, enum: -> { Vers::Models::API::ClusterUpdateResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # @param data [Vers::Models::API::ClusterUpdateResponse::Data] - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::ClusterUpdateResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - # @see Vers::Models::API::ClusterUpdateResponse#data - class Data < Vers::Internal::Type::BaseModel - # @!attribute id - # The cluster's ID. - # - # @return [String] - required :id, String - - # @!attribute fs_size_mib - # The size of the cluster's backing file - # - # @return [Integer] - required :fs_size_mib, Integer - - # @!attribute root_vm_id - # The ID of the cluster's root VM. - # - # @return [String] - required :root_vm_id, String - - # @!attribute vm_count - # How many VMs are currently running on this cluster. - # - # @return [Integer] - required :vm_count, Integer - - # @!attribute vms - # The VMs that are children of the cluster, including the root VM. - # - # @return [Array] - required :vms, -> { Vers::Internal::Type::ArrayOf[Vers::API::VmDto] } - - # @!attribute alias_ - # Human-readable name assigned to the cluster. - # - # @return [String, nil] - optional :alias_, String, api_name: :alias, nil?: true - - # @!method initialize(id:, fs_size_mib:, root_vm_id:, vm_count:, vms:, alias_: nil) - # @param id [String] The cluster's ID. - # - # @param fs_size_mib [Integer] The size of the cluster's backing file - # - # @param root_vm_id [String] The ID of the cluster's root VM. - # - # @param vm_count [Integer] How many VMs are currently running on this cluster. - # - # @param vms [Array] The VMs that are children of the cluster, including the root VM. - # - # @param alias_ [String, nil] Human-readable name assigned to the cluster. - end - - # @see Vers::Models::API::ClusterUpdateResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/health_check_params.rb b/lib/vers/models/api/health_check_params.rb deleted file mode 100644 index 8489186..0000000 --- a/lib/vers/models/api/health_check_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Health#check - class HealthCheckParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/health_check_response.rb b/lib/vers/models/api/health_check_response.rb deleted file mode 100644 index 94e5960..0000000 --- a/lib/vers/models/api/health_check_response.rb +++ /dev/null @@ -1,9 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - HealthCheckResponse = String - end - end -end diff --git a/lib/vers/models/api/rootf_delete_params.rb b/lib/vers/models/api/rootf_delete_params.rb deleted file mode 100644 index bf7cc7b..0000000 --- a/lib/vers/models/api/rootf_delete_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Rootfs#delete - class RootfDeleteParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/rootf_delete_response.rb b/lib/vers/models/api/rootf_delete_response.rb deleted file mode 100644 index c11c491..0000000 --- a/lib/vers/models/api/rootf_delete_response.rb +++ /dev/null @@ -1,83 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Rootfs#delete - class RootfDeleteResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # - # @return [Vers::Models::API::RootfDeleteResponse::Data] - required :data, -> { Vers::Models::API::RootfDeleteResponse::Data } - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::RootfDeleteResponse::OperationCode] - required :operation_code, enum: -> { Vers::Models::API::RootfDeleteResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # @param data [Vers::Models::API::RootfDeleteResponse::Data] - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::RootfDeleteResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - # @see Vers::Models::API::RootfDeleteResponse#data - class Data < Vers::Internal::Type::BaseModel - # @!attribute rootfs_name - # - # @return [String] - required :rootfs_name, String - - # @!method initialize(rootfs_name:) - # @param rootfs_name [String] - end - - # @see Vers::Models::API::RootfDeleteResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/rootf_list_params.rb b/lib/vers/models/api/rootf_list_params.rb deleted file mode 100644 index 65829e2..0000000 --- a/lib/vers/models/api/rootf_list_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Rootfs#list - class RootfListParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/rootf_list_response.rb b/lib/vers/models/api/rootf_list_response.rb deleted file mode 100644 index 4088d79..0000000 --- a/lib/vers/models/api/rootf_list_response.rb +++ /dev/null @@ -1,83 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Rootfs#list - class RootfListResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # - # @return [Vers::Models::API::RootfListResponse::Data] - required :data, -> { Vers::Models::API::RootfListResponse::Data } - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::RootfListResponse::OperationCode] - required :operation_code, enum: -> { Vers::Models::API::RootfListResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # @param data [Vers::Models::API::RootfListResponse::Data] - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::RootfListResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - # @see Vers::Models::API::RootfListResponse#data - class Data < Vers::Internal::Type::BaseModel - # @!attribute rootfs_names - # - # @return [Array] - required :rootfs_names, Vers::Internal::Type::ArrayOf[String] - - # @!method initialize(rootfs_names:) - # @param rootfs_names [Array] - end - - # @see Vers::Models::API::RootfListResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/rootf_upload_params.rb b/lib/vers/models/api/rootf_upload_params.rb deleted file mode 100644 index af7a6fc..0000000 --- a/lib/vers/models/api/rootf_upload_params.rb +++ /dev/null @@ -1,24 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Rootfs#upload - class RootfUploadParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!attribute dockerfile - # The path of the Dockerfile contained within the tar archive - # - # @return [String, nil] - optional :dockerfile, String - - # @!method initialize(dockerfile: nil, request_options: {}) - # @param dockerfile [String] The path of the Dockerfile contained within the tar archive - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/rootf_upload_response.rb b/lib/vers/models/api/rootf_upload_response.rb deleted file mode 100644 index 6e12f7a..0000000 --- a/lib/vers/models/api/rootf_upload_response.rb +++ /dev/null @@ -1,83 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Rootfs#upload - class RootfUploadResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # - # @return [Vers::Models::API::RootfUploadResponse::Data] - required :data, -> { Vers::Models::API::RootfUploadResponse::Data } - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::RootfUploadResponse::OperationCode] - required :operation_code, enum: -> { Vers::Models::API::RootfUploadResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # @param data [Vers::Models::API::RootfUploadResponse::Data] - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::RootfUploadResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - # @see Vers::Models::API::RootfUploadResponse#data - class Data < Vers::Internal::Type::BaseModel - # @!attribute rootfs_name - # - # @return [String] - required :rootfs_name, String - - # @!method initialize(rootfs_name:) - # @param rootfs_name [String] - end - - # @see Vers::Models::API::RootfUploadResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/rootfs_delete_response.rb b/lib/vers/models/api/rootfs_delete_response.rb deleted file mode 100644 index 61c98e3..0000000 --- a/lib/vers/models/api/rootfs_delete_response.rb +++ /dev/null @@ -1,17 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - class RootfsDeleteResponse < Vers::Internal::Type::BaseModel - # @!attribute rootfs_name - # - # @return [String] - required :rootfs_name, String - - # @!method initialize(rootfs_name:) - # @param rootfs_name [String] - end - end - end -end diff --git a/lib/vers/models/api/rootfs_list_response.rb b/lib/vers/models/api/rootfs_list_response.rb deleted file mode 100644 index b0cb579..0000000 --- a/lib/vers/models/api/rootfs_list_response.rb +++ /dev/null @@ -1,17 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - class RootfsListResponse < Vers::Internal::Type::BaseModel - # @!attribute rootfs_names - # - # @return [Array] - required :rootfs_names, Vers::Internal::Type::ArrayOf[String] - - # @!method initialize(rootfs_names:) - # @param rootfs_names [Array] - end - end - end -end diff --git a/lib/vers/models/api/rootfs_upload_response.rb b/lib/vers/models/api/rootfs_upload_response.rb deleted file mode 100644 index 6bf71bb..0000000 --- a/lib/vers/models/api/rootfs_upload_response.rb +++ /dev/null @@ -1,17 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - class RootfsUploadResponse < Vers::Internal::Type::BaseModel - # @!attribute rootfs_name - # - # @return [String] - required :rootfs_name, String - - # @!method initialize(rootfs_name:) - # @param rootfs_name [String] - end - end - end -end diff --git a/lib/vers/models/api/telemetry_dto.rb b/lib/vers/models/api/telemetry_dto.rb deleted file mode 100644 index b2bf8e1..0000000 --- a/lib/vers/models/api/telemetry_dto.rb +++ /dev/null @@ -1,66 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Telemetry#get_info - class TelemetryDto < Vers::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute fs_mib_current - # - # @return [Integer] - required :fs_mib_current, Integer - - # @!attribute fs_mib_max - # - # @return [Integer] - required :fs_mib_max, Integer - - # @!attribute mem_mib_current - # - # @return [Integer] - required :mem_mib_current, Integer - - # @!attribute mem_mib_max - # - # @return [Integer] - required :mem_mib_max, Integer - - # @!attribute vcpu_current - # - # @return [Integer] - required :vcpu_current, Integer - - # @!attribute vcpu_max - # - # @return [Integer] - required :vcpu_max, Integer - - # @!attribute vm_network_count_in_use - # - # @return [Integer] - required :vm_network_count_in_use, Integer - - # @!attribute vm_network_count_total - # - # @return [Integer] - required :vm_network_count_total, Integer - - # @!method initialize(id:, fs_mib_current:, fs_mib_max:, mem_mib_current:, mem_mib_max:, vcpu_current:, vcpu_max:, vm_network_count_in_use:, vm_network_count_total:) - # @param id [String] - # @param fs_mib_current [Integer] - # @param fs_mib_max [Integer] - # @param mem_mib_current [Integer] - # @param mem_mib_max [Integer] - # @param vcpu_current [Integer] - # @param vcpu_max [Integer] - # @param vm_network_count_in_use [Integer] - # @param vm_network_count_total [Integer] - end - end - end -end diff --git a/lib/vers/models/api/telemetry_get_info_params.rb b/lib/vers/models/api/telemetry_get_info_params.rb deleted file mode 100644 index e6949cd..0000000 --- a/lib/vers/models/api/telemetry_get_info_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Telemetry#get_info - class TelemetryGetInfoParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/vm_branch_params.rb b/lib/vers/models/api/vm_branch_params.rb deleted file mode 100644 index 79a42f5..0000000 --- a/lib/vers/models/api/vm_branch_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Vm#branch - class VmBranchParams < Vers::Models::API::VmBranchRequest - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/vm_branch_request.rb b/lib/vers/models/api/vm_branch_request.rb deleted file mode 100644 index 5ed249c..0000000 --- a/lib/vers/models/api/vm_branch_request.rb +++ /dev/null @@ -1,17 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - class VmBranchRequest < Vers::Internal::Type::BaseModel - # @!attribute alias_ - # - # @return [String, nil] - optional :alias_, String, api_name: :alias, nil?: true - - # @!method initialize(alias_: nil) - # @param alias_ [String, nil] - end - end - end -end diff --git a/lib/vers/models/api/vm_branch_response.rb b/lib/vers/models/api/vm_branch_response.rb deleted file mode 100644 index 806b3a7..0000000 --- a/lib/vers/models/api/vm_branch_response.rb +++ /dev/null @@ -1,221 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Vm#branch - class VmBranchResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # - # @return [Vers::Models::API::VmBranchResponse::Data] - required :data, -> { Vers::Models::API::VmBranchResponse::Data } - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::VmBranchResponse::OperationCode] - required :operation_code, enum: -> { Vers::Models::API::VmBranchResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # @param data [Vers::Models::API::VmBranchResponse::Data] - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::VmBranchResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - # @see Vers::Models::API::VmBranchResponse#data - class Data < Vers::Internal::Type::BaseModel - # @!attribute id - # The ID of the VM. - # - # @return [String] - required :id, String - - # @!attribute children - # The IDs of direct children branched from this VM. - # - # @return [Array] - required :children, Vers::Internal::Type::ArrayOf[String] - - # @!attribute cluster_id - # The VM's cluster ID - # - # @return [String] - required :cluster_id, String - - # @!attribute fs_size_mib - # What is the size of the "disk" allocated to this VM - # - # @return [Integer] - required :fs_size_mib, Integer - - # @!attribute ip_address - # The VM's local IP address on the VM subnet - # - # @return [String] - required :ip_address, String - - # @!attribute mem_size_mib - # How much RAM is allocated to this VM - # - # @return [Integer] - required :mem_size_mib, Integer - - # @!attribute network_info - # The VM's network configuration - # - # @return [Vers::Models::API::VmBranchResponse::Data::NetworkInfo] - required :network_info, -> { Vers::Models::API::VmBranchResponse::Data::NetworkInfo } - - # @!attribute state - # Whether the VM is running, paused, or not started. - # - # @return [Symbol, Vers::Models::API::VmBranchResponse::Data::State] - required :state, enum: -> { Vers::Models::API::VmBranchResponse::Data::State } - - # @!attribute vcpu_count - # How many vCPUs were allocated to this VM - # - # @return [Integer] - required :vcpu_count, Integer - - # @!attribute alias_ - # Human-readable name assigned to the VM. - # - # @return [String, nil] - optional :alias_, String, api_name: :alias, nil?: true - - # @!attribute parent_id - # The parent VM's ID, if present. If None, then this VM is a root VM. - # - # @return [String, nil] - optional :parent_id, String, nil?: true - - # @!method initialize(id:, children:, cluster_id:, fs_size_mib:, ip_address:, mem_size_mib:, network_info:, state:, vcpu_count:, alias_: nil, parent_id: nil) - # @param id [String] The ID of the VM. - # - # @param children [Array] The IDs of direct children branched from this VM. - # - # @param cluster_id [String] The VM's cluster ID - # - # @param fs_size_mib [Integer] What is the size of the "disk" allocated to this VM - # - # @param ip_address [String] The VM's local IP address on the VM subnet - # - # @param mem_size_mib [Integer] How much RAM is allocated to this VM - # - # @param network_info [Vers::Models::API::VmBranchResponse::Data::NetworkInfo] The VM's network configuration - # - # @param state [Symbol, Vers::Models::API::VmBranchResponse::Data::State] Whether the VM is running, paused, or not started. - # - # @param vcpu_count [Integer] How many vCPUs were allocated to this VM - # - # @param alias_ [String, nil] Human-readable name assigned to the VM. - # - # @param parent_id [String, nil] The parent VM's ID, if present. If None, then this VM is a root VM. - - # @see Vers::Models::API::VmBranchResponse::Data#network_info - class NetworkInfo < Vers::Internal::Type::BaseModel - # @!attribute guest_ip - # - # @return [String] - required :guest_ip, String - - # @!attribute guest_mac - # - # @return [String] - required :guest_mac, String - - # @!attribute ssh_port - # - # @return [Integer] - required :ssh_port, Integer - - # @!attribute tap0_ip - # - # @return [String] - required :tap0_ip, String - - # @!attribute tap0_name - # - # @return [String] - required :tap0_name, String - - # @!attribute vm_namespace - # - # @return [String] - required :vm_namespace, String - - # @!method initialize(guest_ip:, guest_mac:, ssh_port:, tap0_ip:, tap0_name:, vm_namespace:) - # The VM's network configuration - # - # @param guest_ip [String] - # @param guest_mac [String] - # @param ssh_port [Integer] - # @param tap0_ip [String] - # @param tap0_name [String] - # @param vm_namespace [String] - end - - # Whether the VM is running, paused, or not started. - # - # @see Vers::Models::API::VmBranchResponse::Data#state - module State - extend Vers::Internal::Type::Enum - - NOT_STARTED = :"Not started" - RUNNING = :Running - PAUSED = :Paused - - # @!method self.values - # @return [Array] - end - end - - # @see Vers::Models::API::VmBranchResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/vm_commit_params.rb b/lib/vers/models/api/vm_commit_params.rb deleted file mode 100644 index 1190fd5..0000000 --- a/lib/vers/models/api/vm_commit_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Vm#commit - class VmCommitParams < Vers::Models::API::VmCommitRequest - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/vm_commit_request.rb b/lib/vers/models/api/vm_commit_request.rb deleted file mode 100644 index ef00777..0000000 --- a/lib/vers/models/api/vm_commit_request.rb +++ /dev/null @@ -1,17 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - class VmCommitRequest < Vers::Internal::Type::BaseModel - # @!attribute tags - # - # @return [Array, nil] - optional :tags, Vers::Internal::Type::ArrayOf[String], nil?: true - - # @!method initialize(tags: nil) - # @param tags [Array, nil] - end - end - end -end diff --git a/lib/vers/models/api/vm_commit_response.rb b/lib/vers/models/api/vm_commit_response.rb deleted file mode 100644 index eb6644c..0000000 --- a/lib/vers/models/api/vm_commit_response.rb +++ /dev/null @@ -1,94 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - class VmCommitResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # - # @return [Vers::Models::API::VmCommitResponse::Data] - required :data, -> { Vers::API::VmCommitResponse::Data } - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::VmCommitResponse::OperationCode] - required :operation_code, enum: -> { Vers::API::VmCommitResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # @param data [Vers::Models::API::VmCommitResponse::Data] - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::VmCommitResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - # @see Vers::Models::API::VmCommitResponse#data - class Data < Vers::Internal::Type::BaseModel - # @!attribute cluster_id - # - # @return [String] - required :cluster_id, String - - # @!attribute commit_id - # - # @return [String] - required :commit_id, String - - # @!attribute host_architecture - # - # @return [String] - required :host_architecture, String - - # @!method initialize(cluster_id:, commit_id:, host_architecture:) - # @param cluster_id [String] - # @param commit_id [String] - # @param host_architecture [String] - end - - # @see Vers::Models::API::VmCommitResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/vm_delete_params.rb b/lib/vers/models/api/vm_delete_params.rb deleted file mode 100644 index 2f916dd..0000000 --- a/lib/vers/models/api/vm_delete_params.rb +++ /dev/null @@ -1,24 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Vm#delete - class VmDeleteParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!attribute recursive - # Delete children recursively - # - # @return [Boolean] - required :recursive, Vers::Internal::Type::Boolean - - # @!method initialize(recursive:, request_options: {}) - # @param recursive [Boolean] Delete children recursively - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/vm_delete_response.rb b/lib/vers/models/api/vm_delete_response.rb deleted file mode 100644 index 4a7f76f..0000000 --- a/lib/vers/models/api/vm_delete_response.rb +++ /dev/null @@ -1,116 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - class VmDeleteResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # A struct containing information about an attempted VM deletion request. Reports - # information in the event of a partial failure so billing can still be udpated - # appropriately. - # - # @return [Vers::Models::API::VmDeleteResponse::Data] - required :data, -> { Vers::API::VmDeleteResponse::Data } - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::VmDeleteResponse::OperationCode] - required :operation_code, enum: -> { Vers::API::VmDeleteResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # Some parameter documentations has been truncated, see - # {Vers::Models::API::VmDeleteResponse} for more details. - # - # @param data [Vers::Models::API::VmDeleteResponse::Data] A struct containing information about an attempted VM deletion request. Reports - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::VmDeleteResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - # @see Vers::Models::API::VmDeleteResponse#data - class Data < Vers::Internal::Type::BaseModel - # @!attribute deleted_ids - # - # @return [Array] - required :deleted_ids, Vers::Internal::Type::ArrayOf[String] - - # @!attribute errors - # - # @return [Array] - required :errors, -> { Vers::Internal::Type::ArrayOf[Vers::API::VmDeleteResponse::Data::Error] } - - # @!method initialize(deleted_ids:, errors:) - # A struct containing information about an attempted VM deletion request. Reports - # information in the event of a partial failure so billing can still be udpated - # appropriately. - # - # @param deleted_ids [Array] - # @param errors [Array] - - class Error < Vers::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute error - # - # @return [String] - required :error, String - - # @!method initialize(id:, error:) - # Contains a VM ID and the reason that it could not be deleted. - # - # @param id [String] - # @param error [String] - end - end - - # @see Vers::Models::API::VmDeleteResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/vm_dto.rb b/lib/vers/models/api/vm_dto.rb deleted file mode 100644 index 37e7888..0000000 --- a/lib/vers/models/api/vm_dto.rb +++ /dev/null @@ -1,155 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - class VmDto < Vers::Internal::Type::BaseModel - # @!attribute id - # The ID of the VM. - # - # @return [String] - required :id, String - - # @!attribute children - # The IDs of direct children branched from this VM. - # - # @return [Array] - required :children, Vers::Internal::Type::ArrayOf[String] - - # @!attribute cluster_id - # The VM's cluster ID - # - # @return [String] - required :cluster_id, String - - # @!attribute fs_size_mib - # What is the size of the "disk" allocated to this VM - # - # @return [Integer] - required :fs_size_mib, Integer - - # @!attribute ip_address - # The VM's local IP address on the VM subnet - # - # @return [String] - required :ip_address, String - - # @!attribute mem_size_mib - # How much RAM is allocated to this VM - # - # @return [Integer] - required :mem_size_mib, Integer - - # @!attribute network_info - # The VM's network configuration - # - # @return [Vers::Models::API::VmDto::NetworkInfo] - required :network_info, -> { Vers::API::VmDto::NetworkInfo } - - # @!attribute state - # Whether the VM is running, paused, or not started. - # - # @return [Symbol, Vers::Models::API::VmDto::State] - required :state, enum: -> { Vers::API::VmDto::State } - - # @!attribute vcpu_count - # How many vCPUs were allocated to this VM - # - # @return [Integer] - required :vcpu_count, Integer - - # @!attribute alias_ - # Human-readable name assigned to the VM. - # - # @return [String, nil] - optional :alias_, String, api_name: :alias, nil?: true - - # @!attribute parent_id - # The parent VM's ID, if present. If None, then this VM is a root VM. - # - # @return [String, nil] - optional :parent_id, String, nil?: true - - # @!method initialize(id:, children:, cluster_id:, fs_size_mib:, ip_address:, mem_size_mib:, network_info:, state:, vcpu_count:, alias_: nil, parent_id: nil) - # @param id [String] The ID of the VM. - # - # @param children [Array] The IDs of direct children branched from this VM. - # - # @param cluster_id [String] The VM's cluster ID - # - # @param fs_size_mib [Integer] What is the size of the "disk" allocated to this VM - # - # @param ip_address [String] The VM's local IP address on the VM subnet - # - # @param mem_size_mib [Integer] How much RAM is allocated to this VM - # - # @param network_info [Vers::Models::API::VmDto::NetworkInfo] The VM's network configuration - # - # @param state [Symbol, Vers::Models::API::VmDto::State] Whether the VM is running, paused, or not started. - # - # @param vcpu_count [Integer] How many vCPUs were allocated to this VM - # - # @param alias_ [String, nil] Human-readable name assigned to the VM. - # - # @param parent_id [String, nil] The parent VM's ID, if present. If None, then this VM is a root VM. - - # @see Vers::Models::API::VmDto#network_info - class NetworkInfo < Vers::Internal::Type::BaseModel - # @!attribute guest_ip - # - # @return [String] - required :guest_ip, String - - # @!attribute guest_mac - # - # @return [String] - required :guest_mac, String - - # @!attribute ssh_port - # - # @return [Integer] - required :ssh_port, Integer - - # @!attribute tap0_ip - # - # @return [String] - required :tap0_ip, String - - # @!attribute tap0_name - # - # @return [String] - required :tap0_name, String - - # @!attribute vm_namespace - # - # @return [String] - required :vm_namespace, String - - # @!method initialize(guest_ip:, guest_mac:, ssh_port:, tap0_ip:, tap0_name:, vm_namespace:) - # The VM's network configuration - # - # @param guest_ip [String] - # @param guest_mac [String] - # @param ssh_port [Integer] - # @param tap0_ip [String] - # @param tap0_name [String] - # @param vm_namespace [String] - end - - # Whether the VM is running, paused, or not started. - # - # @see Vers::Models::API::VmDto#state - module State - extend Vers::Internal::Type::Enum - - NOT_STARTED = :"Not started" - RUNNING = :Running - PAUSED = :Paused - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/vm_get_ssh_key_params.rb b/lib/vers/models/api/vm_get_ssh_key_params.rb deleted file mode 100644 index 061d058..0000000 --- a/lib/vers/models/api/vm_get_ssh_key_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Vm#get_ssh_key - class VmGetSSHKeyParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/vm_get_ssh_key_response.rb b/lib/vers/models/api/vm_get_ssh_key_response.rb deleted file mode 100644 index 7f6ef4a..0000000 --- a/lib/vers/models/api/vm_get_ssh_key_response.rb +++ /dev/null @@ -1,72 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Vm#get_ssh_key - class VmGetSSHKeyResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # - # @return [String] - required :data, String - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::VmGetSSHKeyResponse::OperationCode] - required :operation_code, enum: -> { Vers::Models::API::VmGetSSHKeyResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # @param data [String] - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::VmGetSSHKeyResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - # @see Vers::Models::API::VmGetSSHKeyResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/vm_list_params.rb b/lib/vers/models/api/vm_list_params.rb deleted file mode 100644 index 26dc0db..0000000 --- a/lib/vers/models/api/vm_list_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Vm#list - class VmListParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/vm_list_response.rb b/lib/vers/models/api/vm_list_response.rb deleted file mode 100644 index 062322b..0000000 --- a/lib/vers/models/api/vm_list_response.rb +++ /dev/null @@ -1,220 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Vm#list - class VmListResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # - # @return [Array] - required :data, -> { Vers::Internal::Type::ArrayOf[Vers::Models::API::VmListResponse::Data] } - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::VmListResponse::OperationCode] - required :operation_code, enum: -> { Vers::Models::API::VmListResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # @param data [Array] - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::VmListResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - class Data < Vers::Internal::Type::BaseModel - # @!attribute id - # The ID of the VM. - # - # @return [String] - required :id, String - - # @!attribute children - # The IDs of direct children branched from this VM. - # - # @return [Array] - required :children, Vers::Internal::Type::ArrayOf[String] - - # @!attribute cluster_id - # The VM's cluster ID - # - # @return [String] - required :cluster_id, String - - # @!attribute fs_size_mib - # What is the size of the "disk" allocated to this VM - # - # @return [Integer] - required :fs_size_mib, Integer - - # @!attribute ip_address - # The VM's local IP address on the VM subnet - # - # @return [String] - required :ip_address, String - - # @!attribute mem_size_mib - # How much RAM is allocated to this VM - # - # @return [Integer] - required :mem_size_mib, Integer - - # @!attribute network_info - # The VM's network configuration - # - # @return [Vers::Models::API::VmListResponse::Data::NetworkInfo] - required :network_info, -> { Vers::Models::API::VmListResponse::Data::NetworkInfo } - - # @!attribute state - # Whether the VM is running, paused, or not started. - # - # @return [Symbol, Vers::Models::API::VmListResponse::Data::State] - required :state, enum: -> { Vers::Models::API::VmListResponse::Data::State } - - # @!attribute vcpu_count - # How many vCPUs were allocated to this VM - # - # @return [Integer] - required :vcpu_count, Integer - - # @!attribute alias_ - # Human-readable name assigned to the VM. - # - # @return [String, nil] - optional :alias_, String, api_name: :alias, nil?: true - - # @!attribute parent_id - # The parent VM's ID, if present. If None, then this VM is a root VM. - # - # @return [String, nil] - optional :parent_id, String, nil?: true - - # @!method initialize(id:, children:, cluster_id:, fs_size_mib:, ip_address:, mem_size_mib:, network_info:, state:, vcpu_count:, alias_: nil, parent_id: nil) - # @param id [String] The ID of the VM. - # - # @param children [Array] The IDs of direct children branched from this VM. - # - # @param cluster_id [String] The VM's cluster ID - # - # @param fs_size_mib [Integer] What is the size of the "disk" allocated to this VM - # - # @param ip_address [String] The VM's local IP address on the VM subnet - # - # @param mem_size_mib [Integer] How much RAM is allocated to this VM - # - # @param network_info [Vers::Models::API::VmListResponse::Data::NetworkInfo] The VM's network configuration - # - # @param state [Symbol, Vers::Models::API::VmListResponse::Data::State] Whether the VM is running, paused, or not started. - # - # @param vcpu_count [Integer] How many vCPUs were allocated to this VM - # - # @param alias_ [String, nil] Human-readable name assigned to the VM. - # - # @param parent_id [String, nil] The parent VM's ID, if present. If None, then this VM is a root VM. - - # @see Vers::Models::API::VmListResponse::Data#network_info - class NetworkInfo < Vers::Internal::Type::BaseModel - # @!attribute guest_ip - # - # @return [String] - required :guest_ip, String - - # @!attribute guest_mac - # - # @return [String] - required :guest_mac, String - - # @!attribute ssh_port - # - # @return [Integer] - required :ssh_port, Integer - - # @!attribute tap0_ip - # - # @return [String] - required :tap0_ip, String - - # @!attribute tap0_name - # - # @return [String] - required :tap0_name, String - - # @!attribute vm_namespace - # - # @return [String] - required :vm_namespace, String - - # @!method initialize(guest_ip:, guest_mac:, ssh_port:, tap0_ip:, tap0_name:, vm_namespace:) - # The VM's network configuration - # - # @param guest_ip [String] - # @param guest_mac [String] - # @param ssh_port [Integer] - # @param tap0_ip [String] - # @param tap0_name [String] - # @param vm_namespace [String] - end - - # Whether the VM is running, paused, or not started. - # - # @see Vers::Models::API::VmListResponse::Data#state - module State - extend Vers::Internal::Type::Enum - - NOT_STARTED = :"Not started" - RUNNING = :Running - PAUSED = :Paused - - # @!method self.values - # @return [Array] - end - end - - # @see Vers::Models::API::VmListResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/vm_patch_request.rb b/lib/vers/models/api/vm_patch_request.rb deleted file mode 100644 index da88847..0000000 --- a/lib/vers/models/api/vm_patch_request.rb +++ /dev/null @@ -1,34 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - class VmPatchRequest < Vers::Internal::Type::BaseModel - # @!attribute alias_ - # - # @return [String, nil] - optional :alias_, String, api_name: :alias, nil?: true - - # @!attribute state - # - # @return [Symbol, Vers::Models::API::VmPatchRequest::State, nil] - optional :state, enum: -> { Vers::API::VmPatchRequest::State }, nil?: true - - # @!method initialize(alias_: nil, state: nil) - # @param alias_ [String, nil] - # @param state [Symbol, Vers::Models::API::VmPatchRequest::State, nil] - - # @see Vers::Models::API::VmPatchRequest#state - module State - extend Vers::Internal::Type::Enum - - RUNNING = :Running - PAUSED = :Paused - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/vm_retrieve_params.rb b/lib/vers/models/api/vm_retrieve_params.rb deleted file mode 100644 index 13e7f1e..0000000 --- a/lib/vers/models/api/vm_retrieve_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Vm#retrieve - class VmRetrieveParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/vm_retrieve_response.rb b/lib/vers/models/api/vm_retrieve_response.rb deleted file mode 100644 index 4a3ebea..0000000 --- a/lib/vers/models/api/vm_retrieve_response.rb +++ /dev/null @@ -1,221 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Vm#retrieve - class VmRetrieveResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # - # @return [Vers::Models::API::VmRetrieveResponse::Data] - required :data, -> { Vers::Models::API::VmRetrieveResponse::Data } - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::VmRetrieveResponse::OperationCode] - required :operation_code, enum: -> { Vers::Models::API::VmRetrieveResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # @param data [Vers::Models::API::VmRetrieveResponse::Data] - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::VmRetrieveResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - # @see Vers::Models::API::VmRetrieveResponse#data - class Data < Vers::Internal::Type::BaseModel - # @!attribute id - # The ID of the VM. - # - # @return [String] - required :id, String - - # @!attribute children - # The IDs of direct children branched from this VM. - # - # @return [Array] - required :children, Vers::Internal::Type::ArrayOf[String] - - # @!attribute cluster_id - # The VM's cluster ID - # - # @return [String] - required :cluster_id, String - - # @!attribute fs_size_mib - # What is the size of the "disk" allocated to this VM - # - # @return [Integer] - required :fs_size_mib, Integer - - # @!attribute ip_address - # The VM's local IP address on the VM subnet - # - # @return [String] - required :ip_address, String - - # @!attribute mem_size_mib - # How much RAM is allocated to this VM - # - # @return [Integer] - required :mem_size_mib, Integer - - # @!attribute network_info - # The VM's network configuration - # - # @return [Vers::Models::API::VmRetrieveResponse::Data::NetworkInfo] - required :network_info, -> { Vers::Models::API::VmRetrieveResponse::Data::NetworkInfo } - - # @!attribute state - # Whether the VM is running, paused, or not started. - # - # @return [Symbol, Vers::Models::API::VmRetrieveResponse::Data::State] - required :state, enum: -> { Vers::Models::API::VmRetrieveResponse::Data::State } - - # @!attribute vcpu_count - # How many vCPUs were allocated to this VM - # - # @return [Integer] - required :vcpu_count, Integer - - # @!attribute alias_ - # Human-readable name assigned to the VM. - # - # @return [String, nil] - optional :alias_, String, api_name: :alias, nil?: true - - # @!attribute parent_id - # The parent VM's ID, if present. If None, then this VM is a root VM. - # - # @return [String, nil] - optional :parent_id, String, nil?: true - - # @!method initialize(id:, children:, cluster_id:, fs_size_mib:, ip_address:, mem_size_mib:, network_info:, state:, vcpu_count:, alias_: nil, parent_id: nil) - # @param id [String] The ID of the VM. - # - # @param children [Array] The IDs of direct children branched from this VM. - # - # @param cluster_id [String] The VM's cluster ID - # - # @param fs_size_mib [Integer] What is the size of the "disk" allocated to this VM - # - # @param ip_address [String] The VM's local IP address on the VM subnet - # - # @param mem_size_mib [Integer] How much RAM is allocated to this VM - # - # @param network_info [Vers::Models::API::VmRetrieveResponse::Data::NetworkInfo] The VM's network configuration - # - # @param state [Symbol, Vers::Models::API::VmRetrieveResponse::Data::State] Whether the VM is running, paused, or not started. - # - # @param vcpu_count [Integer] How many vCPUs were allocated to this VM - # - # @param alias_ [String, nil] Human-readable name assigned to the VM. - # - # @param parent_id [String, nil] The parent VM's ID, if present. If None, then this VM is a root VM. - - # @see Vers::Models::API::VmRetrieveResponse::Data#network_info - class NetworkInfo < Vers::Internal::Type::BaseModel - # @!attribute guest_ip - # - # @return [String] - required :guest_ip, String - - # @!attribute guest_mac - # - # @return [String] - required :guest_mac, String - - # @!attribute ssh_port - # - # @return [Integer] - required :ssh_port, Integer - - # @!attribute tap0_ip - # - # @return [String] - required :tap0_ip, String - - # @!attribute tap0_name - # - # @return [String] - required :tap0_name, String - - # @!attribute vm_namespace - # - # @return [String] - required :vm_namespace, String - - # @!method initialize(guest_ip:, guest_mac:, ssh_port:, tap0_ip:, tap0_name:, vm_namespace:) - # The VM's network configuration - # - # @param guest_ip [String] - # @param guest_mac [String] - # @param ssh_port [Integer] - # @param tap0_ip [String] - # @param tap0_name [String] - # @param vm_namespace [String] - end - - # Whether the VM is running, paused, or not started. - # - # @see Vers::Models::API::VmRetrieveResponse::Data#state - module State - extend Vers::Internal::Type::Enum - - NOT_STARTED = :"Not started" - RUNNING = :Running - PAUSED = :Paused - - # @!method self.values - # @return [Array] - end - end - - # @see Vers::Models::API::VmRetrieveResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/api/vm_update_params.rb b/lib/vers/models/api/vm_update_params.rb deleted file mode 100644 index 301f630..0000000 --- a/lib/vers/models/api/vm_update_params.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Vm#update - class VmUpdateParams < Vers::Models::API::VmPatchRequest - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - # @!method initialize(request_options: {}) - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/vers/models/api/vm_update_response.rb b/lib/vers/models/api/vm_update_response.rb deleted file mode 100644 index af2be21..0000000 --- a/lib/vers/models/api/vm_update_response.rb +++ /dev/null @@ -1,221 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Models - module API - # @see Vers::Resources::API::Vm#update - class VmUpdateResponse < Vers::Internal::Type::BaseModel - # @!attribute data - # - # @return [Vers::Models::API::VmUpdateResponse::Data] - required :data, -> { Vers::Models::API::VmUpdateResponse::Data } - - # @!attribute duration_ns - # - # @return [Integer] - required :duration_ns, Integer - - # @!attribute operation_code - # - # @return [Symbol, Vers::Models::API::VmUpdateResponse::OperationCode] - required :operation_code, enum: -> { Vers::Models::API::VmUpdateResponse::OperationCode } - - # @!attribute operation_id - # - # @return [String] - required :operation_id, String - - # @!attribute time_start - # Unix epoch time (secs) - # - # @return [Integer] - required :time_start, Integer - - # @!method initialize(data:, duration_ns:, operation_code:, operation_id:, time_start:) - # @param data [Vers::Models::API::VmUpdateResponse::Data] - # - # @param duration_ns [Integer] - # - # @param operation_code [Symbol, Vers::Models::API::VmUpdateResponse::OperationCode] - # - # @param operation_id [String] - # - # @param time_start [Integer] Unix epoch time (secs) - - # @see Vers::Models::API::VmUpdateResponse#data - class Data < Vers::Internal::Type::BaseModel - # @!attribute id - # The ID of the VM. - # - # @return [String] - required :id, String - - # @!attribute children - # The IDs of direct children branched from this VM. - # - # @return [Array] - required :children, Vers::Internal::Type::ArrayOf[String] - - # @!attribute cluster_id - # The VM's cluster ID - # - # @return [String] - required :cluster_id, String - - # @!attribute fs_size_mib - # What is the size of the "disk" allocated to this VM - # - # @return [Integer] - required :fs_size_mib, Integer - - # @!attribute ip_address - # The VM's local IP address on the VM subnet - # - # @return [String] - required :ip_address, String - - # @!attribute mem_size_mib - # How much RAM is allocated to this VM - # - # @return [Integer] - required :mem_size_mib, Integer - - # @!attribute network_info - # The VM's network configuration - # - # @return [Vers::Models::API::VmUpdateResponse::Data::NetworkInfo] - required :network_info, -> { Vers::Models::API::VmUpdateResponse::Data::NetworkInfo } - - # @!attribute state - # Whether the VM is running, paused, or not started. - # - # @return [Symbol, Vers::Models::API::VmUpdateResponse::Data::State] - required :state, enum: -> { Vers::Models::API::VmUpdateResponse::Data::State } - - # @!attribute vcpu_count - # How many vCPUs were allocated to this VM - # - # @return [Integer] - required :vcpu_count, Integer - - # @!attribute alias_ - # Human-readable name assigned to the VM. - # - # @return [String, nil] - optional :alias_, String, api_name: :alias, nil?: true - - # @!attribute parent_id - # The parent VM's ID, if present. If None, then this VM is a root VM. - # - # @return [String, nil] - optional :parent_id, String, nil?: true - - # @!method initialize(id:, children:, cluster_id:, fs_size_mib:, ip_address:, mem_size_mib:, network_info:, state:, vcpu_count:, alias_: nil, parent_id: nil) - # @param id [String] The ID of the VM. - # - # @param children [Array] The IDs of direct children branched from this VM. - # - # @param cluster_id [String] The VM's cluster ID - # - # @param fs_size_mib [Integer] What is the size of the "disk" allocated to this VM - # - # @param ip_address [String] The VM's local IP address on the VM subnet - # - # @param mem_size_mib [Integer] How much RAM is allocated to this VM - # - # @param network_info [Vers::Models::API::VmUpdateResponse::Data::NetworkInfo] The VM's network configuration - # - # @param state [Symbol, Vers::Models::API::VmUpdateResponse::Data::State] Whether the VM is running, paused, or not started. - # - # @param vcpu_count [Integer] How many vCPUs were allocated to this VM - # - # @param alias_ [String, nil] Human-readable name assigned to the VM. - # - # @param parent_id [String, nil] The parent VM's ID, if present. If None, then this VM is a root VM. - - # @see Vers::Models::API::VmUpdateResponse::Data#network_info - class NetworkInfo < Vers::Internal::Type::BaseModel - # @!attribute guest_ip - # - # @return [String] - required :guest_ip, String - - # @!attribute guest_mac - # - # @return [String] - required :guest_mac, String - - # @!attribute ssh_port - # - # @return [Integer] - required :ssh_port, Integer - - # @!attribute tap0_ip - # - # @return [String] - required :tap0_ip, String - - # @!attribute tap0_name - # - # @return [String] - required :tap0_name, String - - # @!attribute vm_namespace - # - # @return [String] - required :vm_namespace, String - - # @!method initialize(guest_ip:, guest_mac:, ssh_port:, tap0_ip:, tap0_name:, vm_namespace:) - # The VM's network configuration - # - # @param guest_ip [String] - # @param guest_mac [String] - # @param ssh_port [Integer] - # @param tap0_ip [String] - # @param tap0_name [String] - # @param vm_namespace [String] - end - - # Whether the VM is running, paused, or not started. - # - # @see Vers::Models::API::VmUpdateResponse::Data#state - module State - extend Vers::Internal::Type::Enum - - NOT_STARTED = :"Not started" - RUNNING = :Running - PAUSED = :Paused - - # @!method self.values - # @return [Array] - end - end - - # @see Vers::Models::API::VmUpdateResponse#operation_code - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS = :list_clusters - GET_CLUSTER = :get_cluster - CREATE_CLUSTER = :create_cluster - DELETE_CLUSTER = :delete_cluster - UPDATE_CLUSTER = :update_cluster - GET_CLUSTER_SSH_KEY = :get_cluster_ssh_key - LIST_VMS = :list_vms - GET_VM = :get_vm - UPDATE_VM = :update_vm - BRANCH_VM = :branch_vm - COMMIT_VM = :commit_vm - DELETE_VM = :delete_vm - GET_VM_SSH_KEY = :get_vm_ssh_key - UPLOAD_ROOTFS = :upload_rootfs - DELETE_ROOTFS = :delete_rootfs - LIST_ROOTFS = :list_rootfs - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/vers/models/error_response.rb b/lib/vers/models/error_response.rb new file mode 100644 index 0000000..b0ebd8c --- /dev/null +++ b/lib/vers/models/error_response.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Vers + module Models + class ErrorResponse < Vers::Internal::Type::BaseModel + # @!attribute error + # Reason of error + # + # @return [String, nil] + optional :error, String + + # @!attribute success + # Is always: false + # + # @return [Boolean, nil] + optional :success, Vers::Internal::Type::Boolean + + # @!method initialize(error: nil, success: nil) + # @param error [String] Reason of error + # + # @param success [Boolean] Is always: false + end + end +end diff --git a/lib/vers/models/new_root_request.rb b/lib/vers/models/new_root_request.rb new file mode 100644 index 0000000..c076300 --- /dev/null +++ b/lib/vers/models/new_root_request.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +module Vers + module Models + class NewRootRequest < Vers::Internal::Type::BaseModel + # @!attribute vm_config + # Struct representing configuration options common to all VMs + # + # @return [Vers::Models::NewRootRequest::VmConfig] + required :vm_config, -> { Vers::NewRootRequest::VmConfig } + + # @!method initialize(vm_config:) + # @param vm_config [Vers::Models::NewRootRequest::VmConfig] Struct representing configuration options common to all VMs + + # @see Vers::Models::NewRootRequest#vm_config + class VmConfig < Vers::Internal::Type::BaseModel + # @!attribute fs_size_mib + # The disk size, in MiB. + # + # @return [Integer, nil] + optional :fs_size_mib, Integer, nil?: true + + # @!attribute image_name + # The filesystem base image name. Currently, must be 'default' + # + # @return [String, nil] + optional :image_name, String, nil?: true + + # @!attribute kernel_name + # The kernel name. Currently, must be 'default.bin' + # + # @return [String, nil] + optional :kernel_name, String, nil?: true + + # @!attribute mem_size_mib + # The RAM size, in MiB. + # + # @return [Integer, nil] + optional :mem_size_mib, Integer, nil?: true + + # @!attribute vcpu_count + # How many vCPUs to allocate to this VM (and its children) + # + # @return [Integer, nil] + optional :vcpu_count, Integer, nil?: true + + # @!method initialize(fs_size_mib: nil, image_name: nil, kernel_name: nil, mem_size_mib: nil, vcpu_count: nil) + # Struct representing configuration options common to all VMs + # + # @param fs_size_mib [Integer, nil] The disk size, in MiB. + # + # @param image_name [String, nil] The filesystem base image name. Currently, must be 'default' + # + # @param kernel_name [String, nil] The kernel name. Currently, must be 'default.bin' + # + # @param mem_size_mib [Integer, nil] The RAM size, in MiB. + # + # @param vcpu_count [Integer, nil] How many vCPUs to allocate to this VM (and its children) + end + end + end +end diff --git a/lib/vers/models/new_vm_response.rb b/lib/vers/models/new_vm_response.rb new file mode 100644 index 0000000..45b211a --- /dev/null +++ b/lib/vers/models/new_vm_response.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Vers + module Models + # @see Vers::Resources::Vm#branch + class NewVmResponse < Vers::Internal::Type::BaseModel + # @!attribute vm_id + # + # @return [String] + required :vm_id, String + + # @!method initialize(vm_id:) + # Response body for new VM requests (new_root, from_commit, branch) + # + # @param vm_id [String] + end + end +end diff --git a/lib/vers/models/vm.rb b/lib/vers/models/vm.rb new file mode 100644 index 0000000..bbc7040 --- /dev/null +++ b/lib/vers/models/vm.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +module Vers + module Models + class VmAPI < Vers::Internal::Type::BaseModel + # @!attribute created_at + # + # @return [Time] + required :created_at, Time + + # @!attribute owner_id + # + # @return [String] + required :owner_id, String + + # @!attribute state + # The state of a VM + # + # @return [Symbol, Vers::Models::VmAPI::State] + required :state, enum: -> { Vers::VmAPI::State } + + # @!attribute vm_id + # + # @return [String] + required :vm_id, String + + # @!method initialize(created_at:, owner_id:, state:, vm_id:) + # @param created_at [Time] + # + # @param owner_id [String] + # + # @param state [Symbol, Vers::Models::VmAPI::State] The state of a VM + # + # @param vm_id [String] + + # The state of a VM + # + # @see Vers::Models::VmAPI#state + module State + extend Vers::Internal::Type::Enum + + BOOTING = :booting + RUNNING = :running + PAUSED = :paused + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/vers/models/vm_branch_params.rb b/lib/vers/models/vm_branch_params.rb new file mode 100644 index 0000000..cfba905 --- /dev/null +++ b/lib/vers/models/vm_branch_params.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vers + module Models + # @see Vers::Resources::Vm#branch + class VmBranchParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + # @!method initialize(request_options: {}) + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] + end + end +end diff --git a/lib/vers/models/vm_commit_params.rb b/lib/vers/models/vm_commit_params.rb new file mode 100644 index 0000000..59dbfc6 --- /dev/null +++ b/lib/vers/models/vm_commit_params.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Vers + module Models + # @see Vers::Resources::Vm#commit + class VmCommitParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + # @!attribute keep_paused + # If true, keep VM paused after commit + # + # @return [Boolean, nil] + optional :keep_paused, Vers::Internal::Type::Boolean + + # @!attribute skip_wait_boot + # If true, return an error immediately if the VM is still booting. Default: false + # + # @return [Boolean, nil] + optional :skip_wait_boot, Vers::Internal::Type::Boolean + + # @!method initialize(keep_paused: nil, skip_wait_boot: nil, request_options: {}) + # @param keep_paused [Boolean] If true, keep VM paused after commit + # + # @param skip_wait_boot [Boolean] If true, return an error immediately if the VM is still booting. Default: false + # + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] + end + end +end diff --git a/lib/vers/models/vm_commit_response.rb b/lib/vers/models/vm_commit_response.rb new file mode 100644 index 0000000..feeb8a7 --- /dev/null +++ b/lib/vers/models/vm_commit_response.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Vers + module Models + # @see Vers::Resources::Vm#commit + class VmCommitResponse < Vers::Internal::Type::BaseModel + # @!attribute commit_id + # The UUID of the newly-created commit + # + # @return [String] + required :commit_id, String + + # @!method initialize(commit_id:) + # The response body for POST /api/vm/{vm_id}/commit + # + # @param commit_id [String] The UUID of the newly-created commit + end + end +end diff --git a/lib/vers/models/vm_create_root_params.rb b/lib/vers/models/vm_create_root_params.rb new file mode 100644 index 0000000..c28f67d --- /dev/null +++ b/lib/vers/models/vm_create_root_params.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Vers + module Models + # @see Vers::Resources::Vm#create_root + class VmCreateRootParams < Vers::Models::NewRootRequest + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + # @!attribute wait_boot + # If true, wait for the newly-created VM to finish booting before returning. + # Default: false. + # + # @return [Boolean, nil] + optional :wait_boot, Vers::Internal::Type::Boolean + + # @!method initialize(wait_boot: nil, request_options: {}) + # Some parameter documentations has been truncated, see + # {Vers::Models::VmCreateRootParams} for more details. + # + # @param wait_boot [Boolean] If true, wait for the newly-created VM to finish booting before returning. Defau + # + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] + end + end +end diff --git a/lib/vers/models/vm_delete_params.rb b/lib/vers/models/vm_delete_params.rb new file mode 100644 index 0000000..130115f --- /dev/null +++ b/lib/vers/models/vm_delete_params.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Vers + module Models + # @see Vers::Resources::Vm#delete + class VmDeleteParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + # @!attribute skip_wait_boot + # If true, return an error immediately if the VM is still booting. Default: false + # + # @return [Boolean, nil] + optional :skip_wait_boot, Vers::Internal::Type::Boolean + + # @!method initialize(skip_wait_boot: nil, request_options: {}) + # @param skip_wait_boot [Boolean] If true, return an error immediately if the VM is still booting. Default: false + # + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] + end + end +end diff --git a/lib/vers/models/vm_delete_response.rb b/lib/vers/models/vm_delete_response.rb new file mode 100644 index 0000000..2960a1c --- /dev/null +++ b/lib/vers/models/vm_delete_response.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Vers + module Models + # @see Vers::Resources::Vm#delete + class VmDeleteResponse < Vers::Internal::Type::BaseModel + # @!attribute vm_id + # + # @return [String] + required :vm_id, String + + # @!method initialize(vm_id:) + # Response body for DELETE /api/vm/{vm_id} + # + # @param vm_id [String] + end + end +end diff --git a/lib/vers/models/vm_from_commit_request.rb b/lib/vers/models/vm_from_commit_request.rb new file mode 100644 index 0000000..8b410f2 --- /dev/null +++ b/lib/vers/models/vm_from_commit_request.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Vers + module Models + class VmFromCommitRequest < Vers::Internal::Type::BaseModel + # @!attribute commit_id + # + # @return [String] + required :commit_id, String + + # @!method initialize(commit_id:) + # Request body for POST /api/vm/from_commit + # + # @param commit_id [String] + end + end +end diff --git a/lib/vers/models/vm_get_ssh_key_params.rb b/lib/vers/models/vm_get_ssh_key_params.rb new file mode 100644 index 0000000..5b51187 --- /dev/null +++ b/lib/vers/models/vm_get_ssh_key_params.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vers + module Models + # @see Vers::Resources::Vm#get_ssh_key + class VmGetSSHKeyParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + # @!method initialize(request_options: {}) + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] + end + end +end diff --git a/lib/vers/models/vm_list_params.rb b/lib/vers/models/vm_list_params.rb new file mode 100644 index 0000000..3bcfa5d --- /dev/null +++ b/lib/vers/models/vm_list_params.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vers + module Models + # @see Vers::Resources::Vm#list + class VmListParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + # @!method initialize(request_options: {}) + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] + end + end +end diff --git a/lib/vers/models/vm_list_response.rb b/lib/vers/models/vm_list_response.rb new file mode 100644 index 0000000..0b56e79 --- /dev/null +++ b/lib/vers/models/vm_list_response.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Vers + module Models + # @type [Vers::Internal::Type::Converter] + VmListResponse = Vers::Internal::Type::ArrayOf[-> { Vers::VmAPI }] + end +end diff --git a/lib/vers/models/vm_restore_from_commit_params.rb b/lib/vers/models/vm_restore_from_commit_params.rb new file mode 100644 index 0000000..96f9232 --- /dev/null +++ b/lib/vers/models/vm_restore_from_commit_params.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Vers + module Models + # @see Vers::Resources::Vm#restore_from_commit + class VmRestoreFromCommitParams < Vers::Models::VmFromCommitRequest + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + # @!method initialize(request_options: {}) + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] + end + end +end diff --git a/lib/vers/models/vm_ssh_key_response.rb b/lib/vers/models/vm_ssh_key_response.rb new file mode 100644 index 0000000..9be14fb --- /dev/null +++ b/lib/vers/models/vm_ssh_key_response.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Vers + module Models + # @see Vers::Resources::Vm#get_ssh_key + class VmSSHKeyResponse < Vers::Internal::Type::BaseModel + # @!attribute ssh_port + # The SSH port that will be DNAT'd to the VM's netns (and, in turn, to its TAP + # device) + # + # @return [Integer] + required :ssh_port, Integer + + # @!attribute ssh_private_key + # Private SSH key in stringified OpenSSH format + # + # @return [String] + required :ssh_private_key, String + + # @!method initialize(ssh_port:, ssh_private_key:) + # Some parameter documentations has been truncated, see + # {Vers::Models::VmSSHKeyResponse} for more details. + # + # Response body for GET /api/vm/{vm_id}/ssh_key + # + # @param ssh_port [Integer] The SSH port that will be DNAT'd to the VM's netns (and, in turn, to its TAP dev + # + # @param ssh_private_key [String] Private SSH key in stringified OpenSSH format + end + end +end diff --git a/lib/vers/models/vm_update_state_params.rb b/lib/vers/models/vm_update_state_params.rb new file mode 100644 index 0000000..11b0c39 --- /dev/null +++ b/lib/vers/models/vm_update_state_params.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Vers + module Models + # @see Vers::Resources::Vm#update_state + class VmUpdateStateParams < Vers::Models::VmUpdateStateRequest + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + # @!attribute skip_wait_boot + # If true, error immediately if the VM is not finished booting. Defaults to false + # + # @return [Boolean, nil] + optional :skip_wait_boot, Vers::Internal::Type::Boolean + + # @!method initialize(skip_wait_boot: nil, request_options: {}) + # @param skip_wait_boot [Boolean] If true, error immediately if the VM is not finished booting. Defaults to false + # + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}] + end + end +end diff --git a/lib/vers/models/vm_update_state_request.rb b/lib/vers/models/vm_update_state_request.rb new file mode 100644 index 0000000..a1af026 --- /dev/null +++ b/lib/vers/models/vm_update_state_request.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Vers + module Models + class VmUpdateStateRequest < Vers::Internal::Type::BaseModel + # @!attribute state + # The requested state for the VM + # + # @return [Symbol, Vers::Models::VmUpdateStateRequest::State] + required :state, enum: -> { Vers::VmUpdateStateRequest::State } + + # @!method initialize(state:) + # Request body for PATCH /api/vm/{vm_id}/state + # + # @param state [Symbol, Vers::Models::VmUpdateStateRequest::State] The requested state for the VM + + # The requested state for the VM + # + # @see Vers::Models::VmUpdateStateRequest#state + module State + extend Vers::Internal::Type::Enum + + PAUSED = :Paused + RUNNING = :Running + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/vers/resources/api.rb b/lib/vers/resources/api.rb deleted file mode 100644 index b059ea1..0000000 --- a/lib/vers/resources/api.rb +++ /dev/null @@ -1,34 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Resources - class API - # @return [Vers::Resources::API::Cluster] - attr_reader :cluster - - # @return [Vers::Resources::API::Vm] - attr_reader :vm - - # @return [Vers::Resources::API::Rootfs] - attr_reader :rootfs - - # @return [Vers::Resources::API::Health] - attr_reader :health - - # @return [Vers::Resources::API::Telemetry] - attr_reader :telemetry - - # @api private - # - # @param client [Vers::Client] - def initialize(client:) - @client = client - @cluster = Vers::Resources::API::Cluster.new(client: client) - @vm = Vers::Resources::API::Vm.new(client: client) - @rootfs = Vers::Resources::API::Rootfs.new(client: client) - @health = Vers::Resources::API::Health.new(client: client) - @telemetry = Vers::Resources::API::Telemetry.new(client: client) - end - end - end -end diff --git a/lib/vers/resources/api/cluster.rb b/lib/vers/resources/api/cluster.rb deleted file mode 100644 index 5ef047c..0000000 --- a/lib/vers/resources/api/cluster.rb +++ /dev/null @@ -1,144 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Resources - class API - class Cluster - # Create a new cluster. - # - # @overload create(cluster_create_request:, request_options: {}) - # - # @param cluster_create_request [Vers::API::ClusterCreateRequest] - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::ClusterCreateResponse] - # - # @see Vers::Models::API::ClusterCreateParams - def create(params) - parsed, options = Vers::API::ClusterCreateParams.dump_request(params) - case parsed - in {cluster_create_request: Hash => union, **rest} - parsed = {**rest, **union} - else - end - @client.request( - method: :post, - path: "api/cluster", - body: parsed, - model: Vers::Models::API::ClusterCreateResponse, - options: options - ) - end - - # Retrieve information on a particular cluster. - # - # @overload retrieve(cluster_id_or_alias, request_options: {}) - # - # @param cluster_id_or_alias [String] Unique cluster identifier - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::ClusterRetrieveResponse] - # - # @see Vers::Models::API::ClusterRetrieveParams - def retrieve(cluster_id_or_alias, params = {}) - @client.request( - method: :get, - path: ["api/cluster/%1$s", cluster_id_or_alias], - model: Vers::Models::API::ClusterRetrieveResponse, - options: params[:request_options] - ) - end - - # Update a cluster's configuration - # - # @overload update(cluster_id_or_alias, alias_: nil, request_options: {}) - # - # @param cluster_id_or_alias [String] Unique cluster identifier - # - # @param alias_ [String, nil] - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::ClusterUpdateResponse] - # - # @see Vers::Models::API::ClusterUpdateParams - def update(cluster_id_or_alias, params = {}) - parsed, options = Vers::API::ClusterUpdateParams.dump_request(params) - @client.request( - method: :patch, - path: ["api/cluster/%1$s", cluster_id_or_alias], - body: parsed, - model: Vers::Models::API::ClusterUpdateResponse, - options: options - ) - end - - # List all clusters. - # - # @overload list(request_options: {}) - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::ClusterListResponse] - # - # @see Vers::Models::API::ClusterListParams - def list(params = {}) - @client.request( - method: :get, - path: "api/cluster", - model: Vers::Models::API::ClusterListResponse, - options: params[:request_options] - ) - end - - # Delete a cluster. - # - # @overload delete(cluster_id_or_alias, request_options: {}) - # - # @param cluster_id_or_alias [String] Unique cluster identifier - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::ClusterDeleteResponse] - # - # @see Vers::Models::API::ClusterDeleteParams - def delete(cluster_id_or_alias, params = {}) - @client.request( - method: :delete, - path: ["api/cluster/%1$s", cluster_id_or_alias], - model: Vers::Models::API::ClusterDeleteResponse, - options: params[:request_options] - ) - end - - # Get the SSH private key for VM access - # - # @overload get_ssh_key(cluster_id_or_alias, request_options: {}) - # - # @param cluster_id_or_alias [String] Unique cluster identifier - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::ClusterGetSSHKeyResponse] - # - # @see Vers::Models::API::ClusterGetSSHKeyParams - def get_ssh_key(cluster_id_or_alias, params = {}) - @client.request( - method: :get, - path: ["api/cluster/%1$s/ssh_key", cluster_id_or_alias], - model: Vers::Models::API::ClusterGetSSHKeyResponse, - options: params[:request_options] - ) - end - - # @api private - # - # @param client [Vers::Client] - def initialize(client:) - @client = client - end - end - end - end -end diff --git a/lib/vers/resources/api/health.rb b/lib/vers/resources/api/health.rb deleted file mode 100644 index 0911d03..0000000 --- a/lib/vers/resources/api/health.rb +++ /dev/null @@ -1,35 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Resources - class API - class Health - # Get health of the API. - # - # @overload check(request_options: {}) - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [String] - # - # @see Vers::Models::API::HealthCheckParams - def check(params = {}) - @client.request( - method: :get, - path: "api/health", - headers: {"accept" => "text/plain"}, - model: String, - options: params[:request_options] - ) - end - - # @api private - # - # @param client [Vers::Client] - def initialize(client:) - @client = client - end - end - end - end -end diff --git a/lib/vers/resources/api/rootfs.rb b/lib/vers/resources/api/rootfs.rb deleted file mode 100644 index 054f3d2..0000000 --- a/lib/vers/resources/api/rootfs.rb +++ /dev/null @@ -1,79 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Resources - class API - class Rootfs - # List all available rootfs names on the server. - # - # @overload list(request_options: {}) - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::RootfListResponse] - # - # @see Vers::Models::API::RootfListParams - def list(params = {}) - @client.request( - method: :get, - path: "api/rootfs", - model: Vers::Models::API::RootfListResponse, - options: params[:request_options] - ) - end - - # Delete an existing rootfs from the server. - # - # @overload delete(rootfs_id, request_options: {}) - # - # @param rootfs_id [String] Identifier for the rootfs to delete - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::RootfDeleteResponse] - # - # @see Vers::Models::API::RootfDeleteParams - def delete(rootfs_id, params = {}) - @client.request( - method: :delete, - path: ["api/rootfs/%1$s", rootfs_id], - model: Vers::Models::API::RootfDeleteResponse, - options: params[:request_options] - ) - end - - # Upload a rootfs tar archive to the server. The archive should contain the - # Dockerfile and all necessary dependencies. - # - # @overload upload(rootfs_id, dockerfile: nil, request_options: {}) - # - # @param rootfs_id [String] Identifier for the rootfs to create or update - # - # @param dockerfile [String] The path of the Dockerfile contained within the tar archive - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::RootfUploadResponse] - # - # @see Vers::Models::API::RootfUploadParams - def upload(rootfs_id, params = {}) - parsed, options = Vers::API::RootfUploadParams.dump_request(params) - @client.request( - method: :put, - path: ["api/rootfs/%1$s", rootfs_id], - query: parsed, - model: Vers::Models::API::RootfUploadResponse, - options: options - ) - end - - # @api private - # - # @param client [Vers::Client] - def initialize(client:) - @client = client - end - end - end - end -end diff --git a/lib/vers/resources/api/telemetry.rb b/lib/vers/resources/api/telemetry.rb deleted file mode 100644 index 11a727a..0000000 --- a/lib/vers/resources/api/telemetry.rb +++ /dev/null @@ -1,34 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Resources - class API - class Telemetry - # Get telemetry information - # - # @overload get_info(request_options: {}) - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::TelemetryDto] - # - # @see Vers::Models::API::TelemetryGetInfoParams - def get_info(params = {}) - @client.request( - method: :get, - path: "api/telemetry", - model: Vers::API::TelemetryDto, - options: params[:request_options] - ) - end - - # @api private - # - # @param client [Vers::Client] - def initialize(client:) - @client = client - end - end - end - end -end diff --git a/lib/vers/resources/api/vm.rb b/lib/vers/resources/api/vm.rb deleted file mode 100644 index 6c201b5..0000000 --- a/lib/vers/resources/api/vm.rb +++ /dev/null @@ -1,172 +0,0 @@ -# frozen_string_literal: true - -module Vers - module Resources - class API - class Vm - # Retrieve information on a particular VM. - # - # @overload retrieve(vm_id_or_alias, request_options: {}) - # - # @param vm_id_or_alias [String] Unique VM identifier - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::VmRetrieveResponse] - # - # @see Vers::Models::API::VmRetrieveParams - def retrieve(vm_id_or_alias, params = {}) - @client.request( - method: :get, - path: ["api/vm/%1$s", vm_id_or_alias], - model: Vers::Models::API::VmRetrieveResponse, - options: params[:request_options] - ) - end - - # Update VM state. - # - # @overload update(vm_id_or_alias, alias_: nil, state: nil, request_options: {}) - # - # @param vm_id_or_alias [String] Unique VM identifier - # - # @param alias_ [String, nil] - # - # @param state [Symbol, Vers::Models::API::VmPatchRequest::State, nil] - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::VmUpdateResponse] - # - # @see Vers::Models::API::VmUpdateParams - def update(vm_id_or_alias, params = {}) - parsed, options = Vers::API::VmUpdateParams.dump_request(params) - @client.request( - method: :patch, - path: ["api/vm/%1$s", vm_id_or_alias], - body: parsed, - model: Vers::Models::API::VmUpdateResponse, - options: options - ) - end - - # List all VMs. - # - # @overload list(request_options: {}) - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::VmListResponse] - # - # @see Vers::Models::API::VmListParams - def list(params = {}) - @client.request( - method: :get, - path: "api/vm", - model: Vers::Models::API::VmListResponse, - options: params[:request_options] - ) - end - - # Delete a VM. - # - # @overload delete(vm_id_or_alias, recursive:, request_options: {}) - # - # @param vm_id_or_alias [String] Unique VM identifier - # - # @param recursive [Boolean] Delete children recursively - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::VmDeleteResponse] - # - # @see Vers::Models::API::VmDeleteParams - def delete(vm_id_or_alias, params) - parsed, options = Vers::API::VmDeleteParams.dump_request(params) - @client.request( - method: :delete, - path: ["api/vm/%1$s", vm_id_or_alias], - query: parsed, - model: Vers::Models::API::VmDeleteResponse, - options: options - ) - end - - # Branch a VM. - # - # @overload branch(vm_id_or_alias, alias_: nil, request_options: {}) - # - # @param vm_id_or_alias [String] Unique VM identifier - # - # @param alias_ [String, nil] - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::VmBranchResponse] - # - # @see Vers::Models::API::VmBranchParams - def branch(vm_id_or_alias, params = {}) - parsed, options = Vers::API::VmBranchParams.dump_request(params) - @client.request( - method: :post, - path: ["api/vm/%1$s/branch", vm_id_or_alias], - body: parsed, - model: Vers::Models::API::VmBranchResponse, - options: options - ) - end - - # Commit a VM. - # - # @overload commit(vm_id_or_alias, tags: nil, request_options: {}) - # - # @param vm_id_or_alias [String] Unique VM identifier - # - # @param tags [Array, nil] - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::VmCommitResponse] - # - # @see Vers::Models::API::VmCommitParams - def commit(vm_id_or_alias, params = {}) - parsed, options = Vers::API::VmCommitParams.dump_request(params) - @client.request( - method: :post, - path: ["api/vm/%1$s/commit", vm_id_or_alias], - body: parsed, - model: Vers::Models::API::VmCommitResponse, - options: options - ) - end - - # Get the SSH private key for VM access - # - # @overload get_ssh_key(vm_id_or_alias, request_options: {}) - # - # @param vm_id_or_alias [String] Unique VM identifier - # - # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Vers::Models::API::VmGetSSHKeyResponse] - # - # @see Vers::Models::API::VmGetSSHKeyParams - def get_ssh_key(vm_id_or_alias, params = {}) - @client.request( - method: :get, - path: ["api/vm/%1$s/ssh_key", vm_id_or_alias], - model: Vers::Models::API::VmGetSSHKeyResponse, - options: params[:request_options] - ) - end - - # @api private - # - # @param client [Vers::Client] - def initialize(client:) - @client = client - end - end - end - end -end diff --git a/lib/vers/resources/vm.rb b/lib/vers/resources/vm.rb new file mode 100644 index 0000000..e231c26 --- /dev/null +++ b/lib/vers/resources/vm.rb @@ -0,0 +1,187 @@ +# frozen_string_literal: true + +module Vers + module Resources + class Vm + # @overload list(request_options: {}) + # + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Array] + # + # @see Vers::Models::VmListParams + def list(params = {}) + @client.request( + method: :get, + path: "vms", + model: Vers::Internal::Type::ArrayOf[Vers::VmAPI], + options: params[:request_options] + ) + end + + # @overload delete(vm_id, skip_wait_boot: nil, request_options: {}) + # + # @param vm_id [String] VM ID to delete + # + # @param skip_wait_boot [Boolean] If true, return an error immediately if the VM is still booting. Default: false + # + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Vers::Models::VmDeleteResponse] + # + # @see Vers::Models::VmDeleteParams + def delete(vm_id, params = {}) + parsed, options = Vers::VmDeleteParams.dump_request(params) + @client.request( + method: :delete, + path: ["vm/%1$s", vm_id], + query: parsed, + model: Vers::VmDeleteResponse, + options: options + ) + end + + # @overload branch(vm_id, request_options: {}) + # + # @param vm_id [String] Parent VM ID + # + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Vers::Models::NewVmResponse] + # + # @see Vers::Models::VmBranchParams + def branch(vm_id, params = {}) + @client.request( + method: :post, + path: ["vm/%1$s/branch", vm_id], + model: Vers::NewVmResponse, + options: params[:request_options] + ) + end + + # @overload commit(vm_id, keep_paused: nil, skip_wait_boot: nil, request_options: {}) + # + # @param vm_id [String] VM ID to commit + # + # @param keep_paused [Boolean] If true, keep VM paused after commit + # + # @param skip_wait_boot [Boolean] If true, return an error immediately if the VM is still booting. Default: false + # + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Vers::Models::VmCommitResponse] + # + # @see Vers::Models::VmCommitParams + def commit(vm_id, params = {}) + parsed, options = Vers::VmCommitParams.dump_request(params) + @client.request( + method: :post, + path: ["vm/%1$s/commit", vm_id], + query: parsed, + model: Vers::VmCommitResponse, + options: options + ) + end + + # Some parameter documentations has been truncated, see + # {Vers::Models::VmCreateRootParams} for more details. + # + # @overload create_root(vm_config:, wait_boot: nil, request_options: {}) + # + # @param vm_config [Vers::Models::NewRootRequest::VmConfig] Body param: Struct representing configuration options common to all VMs + # + # @param wait_boot [Boolean] Query param: If true, wait for the newly-created VM to finish booting before ret + # + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Vers::Models::NewVmResponse] + # + # @see Vers::Models::VmCreateRootParams + def create_root(params) + parsed, options = Vers::VmCreateRootParams.dump_request(params) + query_params = [:wait_boot] + @client.request( + method: :post, + path: "vm/new_root", + query: parsed.slice(*query_params), + body: parsed.except(*query_params), + model: Vers::NewVmResponse, + options: options + ) + end + + # @overload get_ssh_key(vm_id, request_options: {}) + # + # @param vm_id [String] Node ID + # + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Vers::Models::VmSSHKeyResponse] + # + # @see Vers::Models::VmGetSSHKeyParams + def get_ssh_key(vm_id, params = {}) + @client.request( + method: :get, + path: ["vm/%1$s/ssh_key", vm_id], + model: Vers::VmSSHKeyResponse, + options: params[:request_options] + ) + end + + # @overload restore_from_commit(commit_id:, request_options: {}) + # + # @param commit_id [String] + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Vers::Models::NewVmResponse] + # + # @see Vers::Models::VmRestoreFromCommitParams + def restore_from_commit(params) + parsed, options = Vers::VmRestoreFromCommitParams.dump_request(params) + @client.request( + method: :post, + path: "vm/from_commit", + body: parsed, + model: Vers::NewVmResponse, + options: options + ) + end + + # Some parameter documentations has been truncated, see + # {Vers::Models::VmUpdateStateParams} for more details. + # + # @overload update_state(vm_id, state:, skip_wait_boot: nil, request_options: {}) + # + # @param vm_id [String] Path param: VM ID + # + # @param state [Symbol, Vers::Models::VmUpdateStateRequest::State] Body param: The requested state for the VM + # + # @param skip_wait_boot [Boolean] Query param: If true, error immediately if the VM is not finished booting. Defau + # + # @param request_options [Vers::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [nil] + # + # @see Vers::Models::VmUpdateStateParams + def update_state(vm_id, params) + parsed, options = Vers::VmUpdateStateParams.dump_request(params) + query_params = [:skip_wait_boot] + @client.request( + method: :patch, + path: ["vm/%1$s/state", vm_id], + query: parsed.slice(*query_params), + body: parsed.except(*query_params), + model: NilClass, + options: options + ) + end + + # @api private + # + # @param client [Vers::Client] + def initialize(client:) + @client = client + end + end + end +end diff --git a/lib/vers/version.rb b/lib/vers/version.rb index 48da648..e526eec 100644 --- a/lib/vers/version.rb +++ b/lib/vers/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Vers - VERSION = "0.1.0.pre.alpha.2" + VERSION = "0.1.0.pre.alpha.3" end diff --git a/manifest.yaml b/manifest.yaml index 556686f..a1fd74a 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -1,11 +1,13 @@ dependencies: - English + - base64 - cgi - date - erb - etc - json - net/http + - openssl - pathname - rbconfig - securerandom diff --git a/rbi/vers/client.rbi b/rbi/vers/client.rbi index 4b4339d..805966d 100644 --- a/rbi/vers/client.rbi +++ b/rbi/vers/client.rbi @@ -13,8 +13,8 @@ module Vers sig { returns(T.nilable(String)) } attr_reader :api_key - sig { returns(Vers::Resources::API) } - attr_reader :api + sig { returns(Vers::Resources::Vm) } + attr_reader :vm # @api private sig { override.returns(T::Hash[String, String]) } diff --git a/rbi/vers/errors.rbi b/rbi/vers/errors.rbi index ea0dcfb..7d778a7 100644 --- a/rbi/vers/errors.rbi +++ b/rbi/vers/errors.rbi @@ -33,6 +33,9 @@ module Vers sig { returns(T.nilable(Integer)) } attr_accessor :status + sig { returns(T.nilable(T::Hash[String, String])) } + attr_accessor :headers + sig { returns(T.nilable(T.anything)) } attr_accessor :body @@ -41,6 +44,7 @@ module Vers params( url: URI::Generic, status: T.nilable(Integer), + headers: T.nilable(T::Hash[String, String]), body: T.nilable(Object), request: NilClass, response: NilClass, @@ -50,6 +54,7 @@ module Vers def self.new( url:, status: nil, + headers: nil, body: nil, request: nil, response: nil, @@ -59,10 +64,10 @@ module Vers end class APIConnectionError < Vers::Errors::APIError - sig { void } + sig { returns(NilClass) } attr_accessor :status - sig { void } + sig { returns(NilClass) } attr_accessor :body # @api private @@ -70,6 +75,7 @@ module Vers params( url: URI::Generic, status: NilClass, + headers: T.nilable(T::Hash[String, String]), body: NilClass, request: NilClass, response: NilClass, @@ -79,6 +85,7 @@ module Vers def self.new( url:, status: nil, + headers: nil, body: nil, request: nil, response: nil, @@ -93,6 +100,7 @@ module Vers params( url: URI::Generic, status: NilClass, + headers: T.nilable(T::Hash[String, String]), body: NilClass, request: NilClass, response: NilClass, @@ -102,6 +110,7 @@ module Vers def self.new( url:, status: nil, + headers: nil, body: nil, request: nil, response: nil, @@ -116,13 +125,22 @@ module Vers params( url: URI::Generic, status: Integer, + headers: T.nilable(T::Hash[String, String]), body: T.nilable(Object), request: NilClass, response: NilClass, message: T.nilable(String) ).returns(T.attached_class) end - def self.for(url:, status:, body:, request:, response:, message: nil) + def self.for( + url:, + status:, + headers:, + body:, + request:, + response:, + message: nil + ) end sig { returns(Integer) } @@ -133,13 +151,22 @@ module Vers params( url: URI::Generic, status: Integer, + headers: T.nilable(T::Hash[String, String]), body: T.nilable(Object), request: NilClass, response: NilClass, message: T.nilable(String) ).returns(T.attached_class) end - def self.new(url:, status:, body:, request:, response:, message: nil) + def self.new( + url:, + status:, + headers:, + body:, + request:, + response:, + message: nil + ) end end diff --git a/rbi/vers/file_part.rbi b/rbi/vers/file_part.rbi index 6492bad..eedcb39 100644 --- a/rbi/vers/file_part.rbi +++ b/rbi/vers/file_part.rbi @@ -27,7 +27,7 @@ module Vers sig do params( content: T.any(Pathname, StringIO, IO, String), - filename: T.nilable(String), + filename: T.nilable(T.any(Pathname, String)), content_type: T.nilable(String) ).returns(T.attached_class) end diff --git a/rbi/vers/internal/transport/base_client.rbi b/rbi/vers/internal/transport/base_client.rbi index d22cfb6..4f6784a 100644 --- a/rbi/vers/internal/transport/base_client.rbi +++ b/rbi/vers/internal/transport/base_client.rbi @@ -84,10 +84,9 @@ module Vers # @api private sig do - params( - status: Integer, - headers: T.any(T::Hash[String, String], Net::HTTPHeader) - ).returns(T::Boolean) + params(status: Integer, headers: T::Hash[String, String]).returns( + T::Boolean + ) end def should_retry?(status, headers:) end @@ -97,7 +96,7 @@ module Vers params( request: Vers::Internal::Transport::BaseClient::RequestInput, status: Integer, - response_headers: T.any(T::Hash[String, String], Net::HTTPHeader) + response_headers: T::Hash[String, String] ).returns(Vers::Internal::Transport::BaseClient::RequestInput) end def follow_redirect(request, status:, response_headers:) @@ -177,6 +176,11 @@ module Vers private def auth_headers end + # @api private + sig { returns(String) } + private def user_agent + end + # @api private sig { returns(String) } private def generate_idempotency_key @@ -213,7 +217,7 @@ module Vers send_retry_header: T::Boolean ).returns([Integer, Net::HTTPResponse, T::Enumerable[String]]) end - private def send_request( + def send_request( request, redirect_count:, retry_count:, diff --git a/rbi/vers/internal/transport/pooled_net_requester.rbi b/rbi/vers/internal/transport/pooled_net_requester.rbi index 3e4126d..5ebf314 100644 --- a/rbi/vers/internal/transport/pooled_net_requester.rbi +++ b/rbi/vers/internal/transport/pooled_net_requester.rbi @@ -26,8 +26,12 @@ module Vers class << self # @api private - sig { params(url: URI::Generic).returns(Net::HTTP) } - def connect(url) + sig do + params(cert_store: OpenSSL::X509::Store, url: URI::Generic).returns( + Net::HTTP + ) + end + def connect(cert_store:, url:) end # @api private diff --git a/rbi/vers/internal/type/base_model.rbi b/rbi/vers/internal/type/base_model.rbi index b984b0e..bad5174 100644 --- a/rbi/vers/internal/type/base_model.rbi +++ b/rbi/vers/internal/type/base_model.rbi @@ -28,7 +28,7 @@ module Vers # # Assumes superclass fields are totally defined before fields are accessed / # defined on subclasses. - sig { params(child: T.self_type).void } + sig { params(child: Vers::Internal::Type::BaseModel).void } def inherited(child) end @@ -267,9 +267,13 @@ module Vers # Create a new instance of a model. sig do - params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns( - T.attached_class - ) + params( + data: + T.any( + T::Hash[Symbol, T.anything], + Vers::Internal::Type::BaseModel + ) + ).returns(T.attached_class) end def self.new(data = {}) end diff --git a/rbi/vers/internal/type/base_page.rbi b/rbi/vers/internal/type/base_page.rbi index eb29293..50a9c92 100644 --- a/rbi/vers/internal/type/base_page.rbi +++ b/rbi/vers/internal/type/base_page.rbi @@ -30,7 +30,7 @@ module Vers params( client: Vers::Internal::Transport::BaseClient, req: Vers::Internal::Transport::BaseClient::RequestComponents, - headers: T.any(T::Hash[String, String], Net::HTTPHeader), + headers: T::Hash[String, String], page_data: T.anything ).void end diff --git a/rbi/vers/internal/type/converter.rbi b/rbi/vers/internal/type/converter.rbi index 0e7ec64..7aa69d0 100644 --- a/rbi/vers/internal/type/converter.rbi +++ b/rbi/vers/internal/type/converter.rbi @@ -86,6 +86,52 @@ module Vers def self.type_info(spec) end + # @api private + sig do + params( + type_info: + T.any( + { + const: + T.nilable( + T.any(NilClass, T::Boolean, Integer, Float, Symbol) + ), + enum: + T.nilable( + T.proc.returns(Vers::Internal::Type::Converter::Input) + ), + union: + T.nilable( + T.proc.returns(Vers::Internal::Type::Converter::Input) + ) + }, + T.proc.returns(Vers::Internal::Type::Converter::Input), + Vers::Internal::Type::Converter::Input + ), + spec: + T.any( + { + const: + T.nilable( + T.any(NilClass, T::Boolean, Integer, Float, Symbol) + ), + enum: + T.nilable( + T.proc.returns(Vers::Internal::Type::Converter::Input) + ), + union: + T.nilable( + T.proc.returns(Vers::Internal::Type::Converter::Input) + ) + }, + T.proc.returns(Vers::Internal::Type::Converter::Input), + Vers::Internal::Type::Converter::Input + ) + ).returns(Vers::Internal::AnyHash) + end + def self.meta_info(type_info, spec) + end + # @api private sig do params(translate_names: T::Boolean).returns( diff --git a/rbi/vers/internal/type/union.rbi b/rbi/vers/internal/type/union.rbi index 903fb6f..2fc0f04 100644 --- a/rbi/vers/internal/type/union.rbi +++ b/rbi/vers/internal/type/union.rbi @@ -16,7 +16,8 @@ module Vers T::Array[ [ T.nilable(Symbol), - T.proc.returns(Vers::Internal::Type::Converter::Input) + T.proc.returns(Vers::Internal::Type::Converter::Input), + Vers::Internal::AnyHash ] ] ) @@ -25,7 +26,11 @@ module Vers end # @api private - sig { returns(T::Array[[T.nilable(Symbol), T.anything]]) } + sig do + returns( + T::Array[[T.nilable(Symbol), T.anything, Vers::Internal::AnyHash]] + ) + end protected def derefed_variants end diff --git a/rbi/vers/internal/util.rbi b/rbi/vers/internal/util.rbi index 0f77795..48f8b98 100644 --- a/rbi/vers/internal/util.rbi +++ b/rbi/vers/internal/util.rbi @@ -355,7 +355,7 @@ module Vers # Assumes each chunk in stream has `Encoding::BINARY`. sig do params( - headers: T.any(T::Hash[String, String], Net::HTTPHeader), + headers: T::Hash[String, String], stream: T::Enumerable[String], suppress_error: T::Boolean ).returns(T.anything) diff --git a/rbi/vers/models.rbi b/rbi/vers/models.rbi index c45c4d9..eed8fb5 100644 --- a/rbi/vers/models.rbi +++ b/rbi/vers/models.rbi @@ -1,5 +1,37 @@ # typed: strong module Vers - API = Vers::Models::API + ErrorResponse = Vers::Models::ErrorResponse + + NewRootRequest = Vers::Models::NewRootRequest + + NewVmResponse = Vers::Models::NewVmResponse + + VmAPI = Vers::Models::VmAPI + + VmBranchParams = Vers::Models::VmBranchParams + + VmCommitParams = Vers::Models::VmCommitParams + + VmCommitResponse = Vers::Models::VmCommitResponse + + VmCreateRootParams = Vers::Models::VmCreateRootParams + + VmDeleteParams = Vers::Models::VmDeleteParams + + VmDeleteResponse = Vers::Models::VmDeleteResponse + + VmFromCommitRequest = Vers::Models::VmFromCommitRequest + + VmGetSSHKeyParams = Vers::Models::VmGetSSHKeyParams + + VmListParams = Vers::Models::VmListParams + + VmRestoreFromCommitParams = Vers::Models::VmRestoreFromCommitParams + + VmSSHKeyResponse = Vers::Models::VmSSHKeyResponse + + VmUpdateStateParams = Vers::Models::VmUpdateStateParams + + VmUpdateStateRequest = Vers::Models::VmUpdateStateRequest end diff --git a/rbi/vers/models/api/cluster_create_params.rbi b/rbi/vers/models/api/cluster_create_params.rbi deleted file mode 100644 index a68b2fc..0000000 --- a/rbi/vers/models/api/cluster_create_params.rbi +++ /dev/null @@ -1,55 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class ClusterCreateParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::ClusterCreateParams, Vers::Internal::AnyHash) - end - - sig do - returns( - T.any( - Vers::API::ClusterCreateRequest::NewClusterParams, - Vers::API::ClusterCreateRequest::ClusterFromCommitParams - ) - ) - end - attr_accessor :cluster_create_request - - sig do - params( - cluster_create_request: - T.any( - Vers::API::ClusterCreateRequest::NewClusterParams::OrHash, - Vers::API::ClusterCreateRequest::ClusterFromCommitParams::OrHash - ), - request_options: Vers::RequestOptions::OrHash - ).returns(T.attached_class) - end - def self.new(cluster_create_request:, request_options: {}) - end - - sig do - override.returns( - { - cluster_create_request: - T.any( - Vers::API::ClusterCreateRequest::NewClusterParams, - Vers::API::ClusterCreateRequest::ClusterFromCommitParams - ), - request_options: Vers::RequestOptions - } - ) - end - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/cluster_create_request.rbi b/rbi/vers/models/api/cluster_create_request.rbi deleted file mode 100644 index 045fe48..0000000 --- a/rbi/vers/models/api/cluster_create_request.rbi +++ /dev/null @@ -1,325 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - module ClusterCreateRequest - extend Vers::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Vers::API::ClusterCreateRequest::NewClusterParams, - Vers::API::ClusterCreateRequest::ClusterFromCommitParams - ) - end - - class NewClusterParams < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::API::ClusterCreateRequest::NewClusterParams, - Vers::Internal::AnyHash - ) - end - - sig do - returns( - Vers::API::ClusterCreateRequest::NewClusterParams::ClusterType::OrSymbol - ) - end - attr_accessor :cluster_type - - sig do - returns(Vers::API::ClusterCreateRequest::NewClusterParams::Params) - end - attr_reader :params - - sig do - params( - params: - Vers::API::ClusterCreateRequest::NewClusterParams::Params::OrHash - ).void - end - attr_writer :params - - sig do - params( - cluster_type: - Vers::API::ClusterCreateRequest::NewClusterParams::ClusterType::OrSymbol, - params: - Vers::API::ClusterCreateRequest::NewClusterParams::Params::OrHash - ).returns(T.attached_class) - end - def self.new(cluster_type:, params:) - end - - sig do - override.returns( - { - cluster_type: - Vers::API::ClusterCreateRequest::NewClusterParams::ClusterType::OrSymbol, - params: - Vers::API::ClusterCreateRequest::NewClusterParams::Params - } - ) - end - def to_hash - end - - module ClusterType - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Vers::API::ClusterCreateRequest::NewClusterParams::ClusterType - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - NEW = - T.let( - :new, - Vers::API::ClusterCreateRequest::NewClusterParams::ClusterType::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::API::ClusterCreateRequest::NewClusterParams::ClusterType::TaggedSymbol - ] - ) - end - def self.values - end - end - - class Params < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::API::ClusterCreateRequest::NewClusterParams::Params, - Vers::Internal::AnyHash - ) - end - - sig { returns(T.nilable(String)) } - attr_accessor :cluster_alias - - # The amount of total space to allocate to the cluster - sig { returns(T.nilable(Integer)) } - attr_accessor :fs_size_cluster_mib - - # The size of the VM filesystem (if smaller than the base image + overhead, will - # cause an error) - sig { returns(T.nilable(Integer)) } - attr_accessor :fs_size_vm_mib - - sig { returns(T.nilable(String)) } - attr_accessor :kernel_name - - sig { returns(T.nilable(Integer)) } - attr_accessor :mem_size_mib - - sig { returns(T.nilable(String)) } - attr_accessor :rootfs_name - - sig { returns(T.nilable(Integer)) } - attr_accessor :vcpu_count - - sig { returns(T.nilable(String)) } - attr_accessor :vm_alias - - sig do - params( - cluster_alias: T.nilable(String), - fs_size_cluster_mib: T.nilable(Integer), - fs_size_vm_mib: T.nilable(Integer), - kernel_name: T.nilable(String), - mem_size_mib: T.nilable(Integer), - rootfs_name: T.nilable(String), - vcpu_count: T.nilable(Integer), - vm_alias: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - cluster_alias: nil, - # The amount of total space to allocate to the cluster - fs_size_cluster_mib: nil, - # The size of the VM filesystem (if smaller than the base image + overhead, will - # cause an error) - fs_size_vm_mib: nil, - kernel_name: nil, - mem_size_mib: nil, - rootfs_name: nil, - vcpu_count: nil, - vm_alias: nil - ) - end - - sig do - override.returns( - { - cluster_alias: T.nilable(String), - fs_size_cluster_mib: T.nilable(Integer), - fs_size_vm_mib: T.nilable(Integer), - kernel_name: T.nilable(String), - mem_size_mib: T.nilable(Integer), - rootfs_name: T.nilable(String), - vcpu_count: T.nilable(Integer), - vm_alias: T.nilable(String) - } - ) - end - def to_hash - end - end - end - - class ClusterFromCommitParams < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::API::ClusterCreateRequest::ClusterFromCommitParams, - Vers::Internal::AnyHash - ) - end - - sig do - returns( - Vers::API::ClusterCreateRequest::ClusterFromCommitParams::ClusterType::OrSymbol - ) - end - attr_accessor :cluster_type - - sig do - returns( - Vers::API::ClusterCreateRequest::ClusterFromCommitParams::Params - ) - end - attr_reader :params - - sig do - params( - params: - Vers::API::ClusterCreateRequest::ClusterFromCommitParams::Params::OrHash - ).void - end - attr_writer :params - - sig do - params( - cluster_type: - Vers::API::ClusterCreateRequest::ClusterFromCommitParams::ClusterType::OrSymbol, - params: - Vers::API::ClusterCreateRequest::ClusterFromCommitParams::Params::OrHash - ).returns(T.attached_class) - end - def self.new(cluster_type:, params:) - end - - sig do - override.returns( - { - cluster_type: - Vers::API::ClusterCreateRequest::ClusterFromCommitParams::ClusterType::OrSymbol, - params: - Vers::API::ClusterCreateRequest::ClusterFromCommitParams::Params - } - ) - end - def to_hash - end - - module ClusterType - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Vers::API::ClusterCreateRequest::ClusterFromCommitParams::ClusterType - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - FROM_COMMIT = - T.let( - :from_commit, - Vers::API::ClusterCreateRequest::ClusterFromCommitParams::ClusterType::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::API::ClusterCreateRequest::ClusterFromCommitParams::ClusterType::TaggedSymbol - ] - ) - end - def self.values - end - end - - class Params < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::API::ClusterCreateRequest::ClusterFromCommitParams::Params, - Vers::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :commit_key - - sig { returns(T.nilable(String)) } - attr_accessor :cluster_alias - - sig { returns(T.nilable(Integer)) } - attr_accessor :fs_size_cluster_mib - - sig { returns(T.nilable(String)) } - attr_accessor :vm_alias - - sig do - params( - commit_key: String, - cluster_alias: T.nilable(String), - fs_size_cluster_mib: T.nilable(Integer), - vm_alias: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - commit_key:, - cluster_alias: nil, - fs_size_cluster_mib: nil, - vm_alias: nil - ) - end - - sig do - override.returns( - { - commit_key: String, - cluster_alias: T.nilable(String), - fs_size_cluster_mib: T.nilable(Integer), - vm_alias: T.nilable(String) - } - ) - end - def to_hash - end - end - end - - sig do - override.returns(T::Array[Vers::API::ClusterCreateRequest::Variants]) - end - def self.variants - end - end - end - end -end diff --git a/rbi/vers/models/api/cluster_create_response.rbi b/rbi/vers/models/api/cluster_create_response.rbi deleted file mode 100644 index 4351794..0000000 --- a/rbi/vers/models/api/cluster_create_response.rbi +++ /dev/null @@ -1,258 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class ClusterCreateResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::ClusterCreateResponse, - Vers::Internal::AnyHash - ) - end - - sig { returns(Vers::Models::API::ClusterCreateResponse::Data) } - attr_reader :data - - sig do - params( - data: Vers::Models::API::ClusterCreateResponse::Data::OrHash - ).void - end - attr_writer :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns( - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: Vers::Models::API::ClusterCreateResponse::Data::OrHash, - duration_ns: Integer, - operation_code: - Vers::Models::API::ClusterCreateResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: Vers::Models::API::ClusterCreateResponse::Data, - duration_ns: Integer, - operation_code: - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - class Data < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::ClusterCreateResponse::Data, - Vers::Internal::AnyHash - ) - end - - # The cluster's ID. - sig { returns(String) } - attr_accessor :id - - # The size of the cluster's backing file - sig { returns(Integer) } - attr_accessor :fs_size_mib - - # The ID of the cluster's root VM. - sig { returns(String) } - attr_accessor :root_vm_id - - # How many VMs are currently running on this cluster. - sig { returns(Integer) } - attr_accessor :vm_count - - # The VMs that are children of the cluster, including the root VM. - sig { returns(T::Array[Vers::API::VmDto]) } - attr_accessor :vms - - # Human-readable name assigned to the cluster. - sig { returns(T.nilable(String)) } - attr_accessor :alias_ - - sig do - params( - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: T::Array[Vers::API::VmDto::OrHash], - alias_: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The cluster's ID. - id:, - # The size of the cluster's backing file - fs_size_mib:, - # The ID of the cluster's root VM. - root_vm_id:, - # How many VMs are currently running on this cluster. - vm_count:, - # The VMs that are children of the cluster, including the root VM. - vms:, - # Human-readable name assigned to the cluster. - alias_: nil - ) - end - - sig do - override.returns( - { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: T::Array[Vers::API::VmDto], - alias_: T.nilable(String) - } - ) - end - def to_hash - end - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Vers::Models::API::ClusterCreateResponse::OperationCode - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::ClusterCreateResponse::OperationCode::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/cluster_delete_params.rbi b/rbi/vers/models/api/cluster_delete_params.rbi deleted file mode 100644 index d16e34a..0000000 --- a/rbi/vers/models/api/cluster_delete_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class ClusterDeleteParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::ClusterDeleteParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/cluster_delete_response.rbi b/rbi/vers/models/api/cluster_delete_response.rbi deleted file mode 100644 index aedbace..0000000 --- a/rbi/vers/models/api/cluster_delete_response.rbi +++ /dev/null @@ -1,236 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class ClusterDeleteResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::API::ClusterDeleteResponse, Vers::Internal::AnyHash) - end - - # A struct containing information about an attempted cluster deletion request. - # Reports information in the event of a partial failure so billing can still be - # udpated appropriately. - sig { returns(Vers::API::ClusterDeleteResponse::Data) } - attr_reader :data - - sig do - params(data: Vers::API::ClusterDeleteResponse::Data::OrHash).void - end - attr_writer :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns(Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: Vers::API::ClusterDeleteResponse::Data::OrHash, - duration_ns: Integer, - operation_code: - Vers::API::ClusterDeleteResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - # A struct containing information about an attempted cluster deletion request. - # Reports information in the event of a partial failure so billing can still be - # udpated appropriately. - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: Vers::API::ClusterDeleteResponse::Data, - duration_ns: Integer, - operation_code: - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - class Data < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::API::ClusterDeleteResponse::Data, - Vers::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :cluster_id - - # A struct containing information about an attempted VM deletion request. Reports - # information in the event of a partial failure so billing can still be udpated - # appropriately. - sig { returns(Vers::API::VmDeleteResponse) } - attr_reader :vms - - sig { params(vms: Vers::API::VmDeleteResponse::OrHash).void } - attr_writer :vms - - sig { returns(T.nilable(String)) } - attr_accessor :fs_error - - # A struct containing information about an attempted cluster deletion request. - # Reports information in the event of a partial failure so billing can still be - # udpated appropriately. - sig do - params( - cluster_id: String, - vms: Vers::API::VmDeleteResponse::OrHash, - fs_error: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - cluster_id:, - # A struct containing information about an attempted VM deletion request. Reports - # information in the event of a partial failure so billing can still be udpated - # appropriately. - vms:, - fs_error: nil - ) - end - - sig do - override.returns( - { - cluster_id: String, - vms: Vers::API::VmDeleteResponse, - fs_error: T.nilable(String) - } - ) - end - def to_hash - end - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Vers::API::ClusterDeleteResponse::OperationCode) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::API::ClusterDeleteResponse::OperationCode::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/cluster_dto.rbi b/rbi/vers/models/api/cluster_dto.rbi deleted file mode 100644 index 9778ece..0000000 --- a/rbi/vers/models/api/cluster_dto.rbi +++ /dev/null @@ -1,77 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class ClusterDto < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias { T.any(Vers::API::ClusterDto, Vers::Internal::AnyHash) } - - # The cluster's ID. - sig { returns(String) } - attr_accessor :id - - # The size of the cluster's backing file - sig { returns(Integer) } - attr_accessor :fs_size_mib - - # The ID of the cluster's root VM. - sig { returns(String) } - attr_accessor :root_vm_id - - # How many VMs are currently running on this cluster. - sig { returns(Integer) } - attr_accessor :vm_count - - # The VMs that are children of the cluster, including the root VM. - sig { returns(T::Array[Vers::API::VmDto]) } - attr_accessor :vms - - # Human-readable name assigned to the cluster. - sig { returns(T.nilable(String)) } - attr_accessor :alias_ - - sig do - params( - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: T::Array[Vers::API::VmDto::OrHash], - alias_: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The cluster's ID. - id:, - # The size of the cluster's backing file - fs_size_mib:, - # The ID of the cluster's root VM. - root_vm_id:, - # How many VMs are currently running on this cluster. - vm_count:, - # The VMs that are children of the cluster, including the root VM. - vms:, - # Human-readable name assigned to the cluster. - alias_: nil - ) - end - - sig do - override.returns( - { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: T::Array[Vers::API::VmDto], - alias_: T.nilable(String) - } - ) - end - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/cluster_get_ssh_key_params.rbi b/rbi/vers/models/api/cluster_get_ssh_key_params.rbi deleted file mode 100644 index 89ece9a..0000000 --- a/rbi/vers/models/api/cluster_get_ssh_key_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class ClusterGetSSHKeyParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::ClusterGetSSHKeyParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/cluster_get_ssh_key_response.rbi b/rbi/vers/models/api/cluster_get_ssh_key_response.rbi deleted file mode 100644 index 98d172a..0000000 --- a/rbi/vers/models/api/cluster_get_ssh_key_response.rbi +++ /dev/null @@ -1,176 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class ClusterGetSSHKeyResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::ClusterGetSSHKeyResponse, - Vers::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns( - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: String, - duration_ns: Integer, - operation_code: - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: String, - duration_ns: Integer, - operation_code: - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/cluster_list_params.rbi b/rbi/vers/models/api/cluster_list_params.rbi deleted file mode 100644 index db1f6e5..0000000 --- a/rbi/vers/models/api/cluster_list_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class ClusterListParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::ClusterListParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/cluster_list_response.rbi b/rbi/vers/models/api/cluster_list_response.rbi deleted file mode 100644 index 080a70b..0000000 --- a/rbi/vers/models/api/cluster_list_response.rbi +++ /dev/null @@ -1,252 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class ClusterListResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::ClusterListResponse, - Vers::Internal::AnyHash - ) - end - - sig { returns(T::Array[Vers::Models::API::ClusterListResponse::Data]) } - attr_accessor :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns( - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: - T::Array[Vers::Models::API::ClusterListResponse::Data::OrHash], - duration_ns: Integer, - operation_code: - Vers::Models::API::ClusterListResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: T::Array[Vers::Models::API::ClusterListResponse::Data], - duration_ns: Integer, - operation_code: - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - class Data < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::ClusterListResponse::Data, - Vers::Internal::AnyHash - ) - end - - # The cluster's ID. - sig { returns(String) } - attr_accessor :id - - # The size of the cluster's backing file - sig { returns(Integer) } - attr_accessor :fs_size_mib - - # The ID of the cluster's root VM. - sig { returns(String) } - attr_accessor :root_vm_id - - # How many VMs are currently running on this cluster. - sig { returns(Integer) } - attr_accessor :vm_count - - # The VMs that are children of the cluster, including the root VM. - sig { returns(T::Array[Vers::API::VmDto]) } - attr_accessor :vms - - # Human-readable name assigned to the cluster. - sig { returns(T.nilable(String)) } - attr_accessor :alias_ - - sig do - params( - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: T::Array[Vers::API::VmDto::OrHash], - alias_: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The cluster's ID. - id:, - # The size of the cluster's backing file - fs_size_mib:, - # The ID of the cluster's root VM. - root_vm_id:, - # How many VMs are currently running on this cluster. - vm_count:, - # The VMs that are children of the cluster, including the root VM. - vms:, - # Human-readable name assigned to the cluster. - alias_: nil - ) - end - - sig do - override.returns( - { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: T::Array[Vers::API::VmDto], - alias_: T.nilable(String) - } - ) - end - def to_hash - end - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Vers::Models::API::ClusterListResponse::OperationCode - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::ClusterListResponse::OperationCode::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/cluster_patch_request.rbi b/rbi/vers/models/api/cluster_patch_request.rbi deleted file mode 100644 index c6267b8..0000000 --- a/rbi/vers/models/api/cluster_patch_request.rbi +++ /dev/null @@ -1,25 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class ClusterPatchRequest < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::API::ClusterPatchRequest, Vers::Internal::AnyHash) - end - - sig { returns(T.nilable(String)) } - attr_accessor :alias_ - - sig { params(alias_: T.nilable(String)).returns(T.attached_class) } - def self.new(alias_: nil) - end - - sig { override.returns({ alias_: T.nilable(String) }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/cluster_retrieve_params.rbi b/rbi/vers/models/api/cluster_retrieve_params.rbi deleted file mode 100644 index 4b315f7..0000000 --- a/rbi/vers/models/api/cluster_retrieve_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class ClusterRetrieveParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::ClusterRetrieveParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/cluster_retrieve_response.rbi b/rbi/vers/models/api/cluster_retrieve_response.rbi deleted file mode 100644 index aedc324..0000000 --- a/rbi/vers/models/api/cluster_retrieve_response.rbi +++ /dev/null @@ -1,258 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class ClusterRetrieveResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::ClusterRetrieveResponse, - Vers::Internal::AnyHash - ) - end - - sig { returns(Vers::Models::API::ClusterRetrieveResponse::Data) } - attr_reader :data - - sig do - params( - data: Vers::Models::API::ClusterRetrieveResponse::Data::OrHash - ).void - end - attr_writer :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns( - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: Vers::Models::API::ClusterRetrieveResponse::Data::OrHash, - duration_ns: Integer, - operation_code: - Vers::Models::API::ClusterRetrieveResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: Vers::Models::API::ClusterRetrieveResponse::Data, - duration_ns: Integer, - operation_code: - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - class Data < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::ClusterRetrieveResponse::Data, - Vers::Internal::AnyHash - ) - end - - # The cluster's ID. - sig { returns(String) } - attr_accessor :id - - # The size of the cluster's backing file - sig { returns(Integer) } - attr_accessor :fs_size_mib - - # The ID of the cluster's root VM. - sig { returns(String) } - attr_accessor :root_vm_id - - # How many VMs are currently running on this cluster. - sig { returns(Integer) } - attr_accessor :vm_count - - # The VMs that are children of the cluster, including the root VM. - sig { returns(T::Array[Vers::API::VmDto]) } - attr_accessor :vms - - # Human-readable name assigned to the cluster. - sig { returns(T.nilable(String)) } - attr_accessor :alias_ - - sig do - params( - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: T::Array[Vers::API::VmDto::OrHash], - alias_: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The cluster's ID. - id:, - # The size of the cluster's backing file - fs_size_mib:, - # The ID of the cluster's root VM. - root_vm_id:, - # How many VMs are currently running on this cluster. - vm_count:, - # The VMs that are children of the cluster, including the root VM. - vms:, - # Human-readable name assigned to the cluster. - alias_: nil - ) - end - - sig do - override.returns( - { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: T::Array[Vers::API::VmDto], - alias_: T.nilable(String) - } - ) - end - def to_hash - end - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Vers::Models::API::ClusterRetrieveResponse::OperationCode - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::ClusterRetrieveResponse::OperationCode::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/cluster_update_params.rbi b/rbi/vers/models/api/cluster_update_params.rbi deleted file mode 100644 index 4cdc09e..0000000 --- a/rbi/vers/models/api/cluster_update_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class ClusterUpdateParams < Vers::Models::API::ClusterPatchRequest - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::ClusterUpdateParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/cluster_update_response.rbi b/rbi/vers/models/api/cluster_update_response.rbi deleted file mode 100644 index 1c51e44..0000000 --- a/rbi/vers/models/api/cluster_update_response.rbi +++ /dev/null @@ -1,258 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class ClusterUpdateResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::ClusterUpdateResponse, - Vers::Internal::AnyHash - ) - end - - sig { returns(Vers::Models::API::ClusterUpdateResponse::Data) } - attr_reader :data - - sig do - params( - data: Vers::Models::API::ClusterUpdateResponse::Data::OrHash - ).void - end - attr_writer :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns( - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: Vers::Models::API::ClusterUpdateResponse::Data::OrHash, - duration_ns: Integer, - operation_code: - Vers::Models::API::ClusterUpdateResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: Vers::Models::API::ClusterUpdateResponse::Data, - duration_ns: Integer, - operation_code: - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - class Data < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::ClusterUpdateResponse::Data, - Vers::Internal::AnyHash - ) - end - - # The cluster's ID. - sig { returns(String) } - attr_accessor :id - - # The size of the cluster's backing file - sig { returns(Integer) } - attr_accessor :fs_size_mib - - # The ID of the cluster's root VM. - sig { returns(String) } - attr_accessor :root_vm_id - - # How many VMs are currently running on this cluster. - sig { returns(Integer) } - attr_accessor :vm_count - - # The VMs that are children of the cluster, including the root VM. - sig { returns(T::Array[Vers::API::VmDto]) } - attr_accessor :vms - - # Human-readable name assigned to the cluster. - sig { returns(T.nilable(String)) } - attr_accessor :alias_ - - sig do - params( - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: T::Array[Vers::API::VmDto::OrHash], - alias_: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The cluster's ID. - id:, - # The size of the cluster's backing file - fs_size_mib:, - # The ID of the cluster's root VM. - root_vm_id:, - # How many VMs are currently running on this cluster. - vm_count:, - # The VMs that are children of the cluster, including the root VM. - vms:, - # Human-readable name assigned to the cluster. - alias_: nil - ) - end - - sig do - override.returns( - { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: T::Array[Vers::API::VmDto], - alias_: T.nilable(String) - } - ) - end - def to_hash - end - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Vers::Models::API::ClusterUpdateResponse::OperationCode - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::ClusterUpdateResponse::OperationCode::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/health_check_params.rbi b/rbi/vers/models/api/health_check_params.rbi deleted file mode 100644 index 72e7eea..0000000 --- a/rbi/vers/models/api/health_check_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class HealthCheckParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::HealthCheckParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/health_check_response.rbi b/rbi/vers/models/api/health_check_response.rbi deleted file mode 100644 index 673ac32..0000000 --- a/rbi/vers/models/api/health_check_response.rbi +++ /dev/null @@ -1,9 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - HealthCheckResponse = String - end - end -end diff --git a/rbi/vers/models/api/rootf_delete_params.rbi b/rbi/vers/models/api/rootf_delete_params.rbi deleted file mode 100644 index aefcef5..0000000 --- a/rbi/vers/models/api/rootf_delete_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class RootfDeleteParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::RootfDeleteParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/rootf_delete_response.rbi b/rbi/vers/models/api/rootf_delete_response.rbi deleted file mode 100644 index 0f1241f..0000000 --- a/rbi/vers/models/api/rootf_delete_response.rbi +++ /dev/null @@ -1,204 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class RootfDeleteResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::RootfDeleteResponse, - Vers::Internal::AnyHash - ) - end - - sig { returns(Vers::Models::API::RootfDeleteResponse::Data) } - attr_reader :data - - sig do - params( - data: Vers::Models::API::RootfDeleteResponse::Data::OrHash - ).void - end - attr_writer :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns( - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: Vers::Models::API::RootfDeleteResponse::Data::OrHash, - duration_ns: Integer, - operation_code: - Vers::Models::API::RootfDeleteResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: Vers::Models::API::RootfDeleteResponse::Data, - duration_ns: Integer, - operation_code: - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - class Data < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::RootfDeleteResponse::Data, - Vers::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :rootfs_name - - sig { params(rootfs_name: String).returns(T.attached_class) } - def self.new(rootfs_name:) - end - - sig { override.returns({ rootfs_name: String }) } - def to_hash - end - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Vers::Models::API::RootfDeleteResponse::OperationCode - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::RootfDeleteResponse::OperationCode::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/rootf_list_params.rbi b/rbi/vers/models/api/rootf_list_params.rbi deleted file mode 100644 index e9691d3..0000000 --- a/rbi/vers/models/api/rootf_list_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class RootfListParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::RootfListParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/rootf_list_response.rbi b/rbi/vers/models/api/rootf_list_response.rbi deleted file mode 100644 index 0d1cfa7..0000000 --- a/rbi/vers/models/api/rootf_list_response.rbi +++ /dev/null @@ -1,198 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class RootfListResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::Models::API::RootfListResponse, Vers::Internal::AnyHash) - end - - sig { returns(Vers::Models::API::RootfListResponse::Data) } - attr_reader :data - - sig do - params(data: Vers::Models::API::RootfListResponse::Data::OrHash).void - end - attr_writer :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns( - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: Vers::Models::API::RootfListResponse::Data::OrHash, - duration_ns: Integer, - operation_code: - Vers::Models::API::RootfListResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: Vers::Models::API::RootfListResponse::Data, - duration_ns: Integer, - operation_code: - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - class Data < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::RootfListResponse::Data, - Vers::Internal::AnyHash - ) - end - - sig { returns(T::Array[String]) } - attr_accessor :rootfs_names - - sig do - params(rootfs_names: T::Array[String]).returns(T.attached_class) - end - def self.new(rootfs_names:) - end - - sig { override.returns({ rootfs_names: T::Array[String] }) } - def to_hash - end - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Vers::Models::API::RootfListResponse::OperationCode) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::RootfListResponse::OperationCode::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/rootf_upload_params.rbi b/rbi/vers/models/api/rootf_upload_params.rbi deleted file mode 100644 index f916634..0000000 --- a/rbi/vers/models/api/rootf_upload_params.rbi +++ /dev/null @@ -1,45 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class RootfUploadParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::RootfUploadParams, Vers::Internal::AnyHash) - end - - # The path of the Dockerfile contained within the tar archive - sig { returns(T.nilable(String)) } - attr_reader :dockerfile - - sig { params(dockerfile: String).void } - attr_writer :dockerfile - - sig do - params( - dockerfile: String, - request_options: Vers::RequestOptions::OrHash - ).returns(T.attached_class) - end - def self.new( - # The path of the Dockerfile contained within the tar archive - dockerfile: nil, - request_options: {} - ) - end - - sig do - override.returns( - { dockerfile: String, request_options: Vers::RequestOptions } - ) - end - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/rootf_upload_response.rbi b/rbi/vers/models/api/rootf_upload_response.rbi deleted file mode 100644 index 77c2db6..0000000 --- a/rbi/vers/models/api/rootf_upload_response.rbi +++ /dev/null @@ -1,204 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class RootfUploadResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::RootfUploadResponse, - Vers::Internal::AnyHash - ) - end - - sig { returns(Vers::Models::API::RootfUploadResponse::Data) } - attr_reader :data - - sig do - params( - data: Vers::Models::API::RootfUploadResponse::Data::OrHash - ).void - end - attr_writer :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns( - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: Vers::Models::API::RootfUploadResponse::Data::OrHash, - duration_ns: Integer, - operation_code: - Vers::Models::API::RootfUploadResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: Vers::Models::API::RootfUploadResponse::Data, - duration_ns: Integer, - operation_code: - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - class Data < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::RootfUploadResponse::Data, - Vers::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :rootfs_name - - sig { params(rootfs_name: String).returns(T.attached_class) } - def self.new(rootfs_name:) - end - - sig { override.returns({ rootfs_name: String }) } - def to_hash - end - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Vers::Models::API::RootfUploadResponse::OperationCode - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::RootfUploadResponse::OperationCode::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/rootfs_delete_response.rbi b/rbi/vers/models/api/rootfs_delete_response.rbi deleted file mode 100644 index c47fd63..0000000 --- a/rbi/vers/models/api/rootfs_delete_response.rbi +++ /dev/null @@ -1,25 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class RootfsDeleteResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::API::RootfsDeleteResponse, Vers::Internal::AnyHash) - end - - sig { returns(String) } - attr_accessor :rootfs_name - - sig { params(rootfs_name: String).returns(T.attached_class) } - def self.new(rootfs_name:) - end - - sig { override.returns({ rootfs_name: String }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/rootfs_list_response.rbi b/rbi/vers/models/api/rootfs_list_response.rbi deleted file mode 100644 index 3edd8bf..0000000 --- a/rbi/vers/models/api/rootfs_list_response.rbi +++ /dev/null @@ -1,25 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class RootfsListResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::API::RootfsListResponse, Vers::Internal::AnyHash) - end - - sig { returns(T::Array[String]) } - attr_accessor :rootfs_names - - sig { params(rootfs_names: T::Array[String]).returns(T.attached_class) } - def self.new(rootfs_names:) - end - - sig { override.returns({ rootfs_names: T::Array[String] }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/rootfs_upload_response.rbi b/rbi/vers/models/api/rootfs_upload_response.rbi deleted file mode 100644 index c82a8bd..0000000 --- a/rbi/vers/models/api/rootfs_upload_response.rbi +++ /dev/null @@ -1,25 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class RootfsUploadResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::API::RootfsUploadResponse, Vers::Internal::AnyHash) - end - - sig { returns(String) } - attr_accessor :rootfs_name - - sig { params(rootfs_name: String).returns(T.attached_class) } - def self.new(rootfs_name:) - end - - sig { override.returns({ rootfs_name: String }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/telemetry_dto.rbi b/rbi/vers/models/api/telemetry_dto.rbi deleted file mode 100644 index 02ae9d6..0000000 --- a/rbi/vers/models/api/telemetry_dto.rbi +++ /dev/null @@ -1,85 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class TelemetryDto < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::API::TelemetryDto, Vers::Internal::AnyHash) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Integer) } - attr_accessor :fs_mib_current - - sig { returns(Integer) } - attr_accessor :fs_mib_max - - sig { returns(Integer) } - attr_accessor :mem_mib_current - - sig { returns(Integer) } - attr_accessor :mem_mib_max - - sig { returns(Integer) } - attr_accessor :vcpu_current - - sig { returns(Integer) } - attr_accessor :vcpu_max - - sig { returns(Integer) } - attr_accessor :vm_network_count_in_use - - sig { returns(Integer) } - attr_accessor :vm_network_count_total - - sig do - params( - id: String, - fs_mib_current: Integer, - fs_mib_max: Integer, - mem_mib_current: Integer, - mem_mib_max: Integer, - vcpu_current: Integer, - vcpu_max: Integer, - vm_network_count_in_use: Integer, - vm_network_count_total: Integer - ).returns(T.attached_class) - end - def self.new( - id:, - fs_mib_current:, - fs_mib_max:, - mem_mib_current:, - mem_mib_max:, - vcpu_current:, - vcpu_max:, - vm_network_count_in_use:, - vm_network_count_total: - ) - end - - sig do - override.returns( - { - id: String, - fs_mib_current: Integer, - fs_mib_max: Integer, - mem_mib_current: Integer, - mem_mib_max: Integer, - vcpu_current: Integer, - vcpu_max: Integer, - vm_network_count_in_use: Integer, - vm_network_count_total: Integer - } - ) - end - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/telemetry_get_info_params.rbi b/rbi/vers/models/api/telemetry_get_info_params.rbi deleted file mode 100644 index 6b07e1a..0000000 --- a/rbi/vers/models/api/telemetry_get_info_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class TelemetryGetInfoParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::TelemetryGetInfoParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_branch_params.rbi b/rbi/vers/models/api/vm_branch_params.rbi deleted file mode 100644 index 32eb522..0000000 --- a/rbi/vers/models/api/vm_branch_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmBranchParams < Vers::Models::API::VmBranchRequest - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::VmBranchParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_branch_request.rbi b/rbi/vers/models/api/vm_branch_request.rbi deleted file mode 100644 index 4706adb..0000000 --- a/rbi/vers/models/api/vm_branch_request.rbi +++ /dev/null @@ -1,25 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmBranchRequest < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::API::VmBranchRequest, Vers::Internal::AnyHash) - end - - sig { returns(T.nilable(String)) } - attr_accessor :alias_ - - sig { params(alias_: T.nilable(String)).returns(T.attached_class) } - def self.new(alias_: nil) - end - - sig { override.returns({ alias_: T.nilable(String) }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_branch_response.rbi b/rbi/vers/models/api/vm_branch_response.rbi deleted file mode 100644 index 9b878b0..0000000 --- a/rbi/vers/models/api/vm_branch_response.rbi +++ /dev/null @@ -1,408 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmBranchResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::Models::API::VmBranchResponse, Vers::Internal::AnyHash) - end - - sig { returns(Vers::Models::API::VmBranchResponse::Data) } - attr_reader :data - - sig do - params(data: Vers::Models::API::VmBranchResponse::Data::OrHash).void - end - attr_writer :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns( - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: Vers::Models::API::VmBranchResponse::Data::OrHash, - duration_ns: Integer, - operation_code: - Vers::Models::API::VmBranchResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: Vers::Models::API::VmBranchResponse::Data, - duration_ns: Integer, - operation_code: - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - class Data < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::VmBranchResponse::Data, - Vers::Internal::AnyHash - ) - end - - # The ID of the VM. - sig { returns(String) } - attr_accessor :id - - # The IDs of direct children branched from this VM. - sig { returns(T::Array[String]) } - attr_accessor :children - - # The VM's cluster ID - sig { returns(String) } - attr_accessor :cluster_id - - # What is the size of the "disk" allocated to this VM - sig { returns(Integer) } - attr_accessor :fs_size_mib - - # The VM's local IP address on the VM subnet - sig { returns(String) } - attr_accessor :ip_address - - # How much RAM is allocated to this VM - sig { returns(Integer) } - attr_accessor :mem_size_mib - - # The VM's network configuration - sig do - returns(Vers::Models::API::VmBranchResponse::Data::NetworkInfo) - end - attr_reader :network_info - - sig do - params( - network_info: - Vers::Models::API::VmBranchResponse::Data::NetworkInfo::OrHash - ).void - end - attr_writer :network_info - - # Whether the VM is running, paused, or not started. - sig do - returns( - Vers::Models::API::VmBranchResponse::Data::State::TaggedSymbol - ) - end - attr_accessor :state - - # How many vCPUs were allocated to this VM - sig { returns(Integer) } - attr_accessor :vcpu_count - - # Human-readable name assigned to the VM. - sig { returns(T.nilable(String)) } - attr_accessor :alias_ - - # The parent VM's ID, if present. If None, then this VM is a root VM. - sig { returns(T.nilable(String)) } - attr_accessor :parent_id - - sig do - params( - id: String, - children: T::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: - Vers::Models::API::VmBranchResponse::Data::NetworkInfo::OrHash, - state: Vers::Models::API::VmBranchResponse::Data::State::OrSymbol, - vcpu_count: Integer, - alias_: T.nilable(String), - parent_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The ID of the VM. - id:, - # The IDs of direct children branched from this VM. - children:, - # The VM's cluster ID - cluster_id:, - # What is the size of the "disk" allocated to this VM - fs_size_mib:, - # The VM's local IP address on the VM subnet - ip_address:, - # How much RAM is allocated to this VM - mem_size_mib:, - # The VM's network configuration - network_info:, - # Whether the VM is running, paused, or not started. - state:, - # How many vCPUs were allocated to this VM - vcpu_count:, - # Human-readable name assigned to the VM. - alias_: nil, - # The parent VM's ID, if present. If None, then this VM is a root VM. - parent_id: nil - ) - end - - sig do - override.returns( - { - id: String, - children: T::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: - Vers::Models::API::VmBranchResponse::Data::NetworkInfo, - state: - Vers::Models::API::VmBranchResponse::Data::State::TaggedSymbol, - vcpu_count: Integer, - alias_: T.nilable(String), - parent_id: T.nilable(String) - } - ) - end - def to_hash - end - - class NetworkInfo < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::VmBranchResponse::Data::NetworkInfo, - Vers::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :guest_ip - - sig { returns(String) } - attr_accessor :guest_mac - - sig { returns(Integer) } - attr_accessor :ssh_port - - sig { returns(String) } - attr_accessor :tap0_ip - - sig { returns(String) } - attr_accessor :tap0_name - - sig { returns(String) } - attr_accessor :vm_namespace - - # The VM's network configuration - sig do - params( - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - ).returns(T.attached_class) - end - def self.new( - guest_ip:, - guest_mac:, - ssh_port:, - tap0_ip:, - tap0_name:, - vm_namespace: - ) - end - - sig do - override.returns( - { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - } - ) - end - def to_hash - end - end - - # Whether the VM is running, paused, or not started. - module State - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Vers::Models::API::VmBranchResponse::Data::State) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - NOT_STARTED = - T.let( - :"Not started", - Vers::Models::API::VmBranchResponse::Data::State::TaggedSymbol - ) - RUNNING = - T.let( - :Running, - Vers::Models::API::VmBranchResponse::Data::State::TaggedSymbol - ) - PAUSED = - T.let( - :Paused, - Vers::Models::API::VmBranchResponse::Data::State::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::VmBranchResponse::Data::State::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Vers::Models::API::VmBranchResponse::OperationCode) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::VmBranchResponse::OperationCode::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_commit_params.rbi b/rbi/vers/models/api/vm_commit_params.rbi deleted file mode 100644 index fc0873e..0000000 --- a/rbi/vers/models/api/vm_commit_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmCommitParams < Vers::Models::API::VmCommitRequest - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::VmCommitParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_commit_request.rbi b/rbi/vers/models/api/vm_commit_request.rbi deleted file mode 100644 index ab3a6a2..0000000 --- a/rbi/vers/models/api/vm_commit_request.rbi +++ /dev/null @@ -1,27 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmCommitRequest < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::API::VmCommitRequest, Vers::Internal::AnyHash) - end - - sig { returns(T.nilable(T::Array[String])) } - attr_accessor :tags - - sig do - params(tags: T.nilable(T::Array[String])).returns(T.attached_class) - end - def self.new(tags: nil) - end - - sig { override.returns({ tags: T.nilable(T::Array[String]) }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_commit_response.rbi b/rbi/vers/models/api/vm_commit_response.rbi deleted file mode 100644 index 7916e25..0000000 --- a/rbi/vers/models/api/vm_commit_response.rbi +++ /dev/null @@ -1,207 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmCommitResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::API::VmCommitResponse, Vers::Internal::AnyHash) - end - - sig { returns(Vers::API::VmCommitResponse::Data) } - attr_reader :data - - sig { params(data: Vers::API::VmCommitResponse::Data::OrHash).void } - attr_writer :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns(Vers::API::VmCommitResponse::OperationCode::TaggedSymbol) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: Vers::API::VmCommitResponse::Data::OrHash, - duration_ns: Integer, - operation_code: - Vers::API::VmCommitResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: Vers::API::VmCommitResponse::Data, - duration_ns: Integer, - operation_code: - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - class Data < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::API::VmCommitResponse::Data, Vers::Internal::AnyHash) - end - - sig { returns(String) } - attr_accessor :cluster_id - - sig { returns(String) } - attr_accessor :commit_id - - sig { returns(String) } - attr_accessor :host_architecture - - sig do - params( - cluster_id: String, - commit_id: String, - host_architecture: String - ).returns(T.attached_class) - end - def self.new(cluster_id:, commit_id:, host_architecture:) - end - - sig do - override.returns( - { - cluster_id: String, - commit_id: String, - host_architecture: String - } - ) - end - def to_hash - end - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Vers::API::VmCommitResponse::OperationCode) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::API::VmCommitResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[Vers::API::VmCommitResponse::OperationCode::TaggedSymbol] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_delete_params.rbi b/rbi/vers/models/api/vm_delete_params.rbi deleted file mode 100644 index 89ad18c..0000000 --- a/rbi/vers/models/api/vm_delete_params.rbi +++ /dev/null @@ -1,42 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmDeleteParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::VmDeleteParams, Vers::Internal::AnyHash) - end - - # Delete children recursively - sig { returns(T::Boolean) } - attr_accessor :recursive - - sig do - params( - recursive: T::Boolean, - request_options: Vers::RequestOptions::OrHash - ).returns(T.attached_class) - end - def self.new( - # Delete children recursively - recursive:, - request_options: {} - ) - end - - sig do - override.returns( - { recursive: T::Boolean, request_options: Vers::RequestOptions } - ) - end - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_delete_response.rbi b/rbi/vers/models/api/vm_delete_response.rbi deleted file mode 100644 index 77b642f..0000000 --- a/rbi/vers/models/api/vm_delete_response.rbi +++ /dev/null @@ -1,236 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmDeleteResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::API::VmDeleteResponse, Vers::Internal::AnyHash) - end - - # A struct containing information about an attempted VM deletion request. Reports - # information in the event of a partial failure so billing can still be udpated - # appropriately. - sig { returns(Vers::API::VmDeleteResponse::Data) } - attr_reader :data - - sig { params(data: Vers::API::VmDeleteResponse::Data::OrHash).void } - attr_writer :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns(Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: Vers::API::VmDeleteResponse::Data::OrHash, - duration_ns: Integer, - operation_code: - Vers::API::VmDeleteResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - # A struct containing information about an attempted VM deletion request. Reports - # information in the event of a partial failure so billing can still be udpated - # appropriately. - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: Vers::API::VmDeleteResponse::Data, - duration_ns: Integer, - operation_code: - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - class Data < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::API::VmDeleteResponse::Data, Vers::Internal::AnyHash) - end - - sig { returns(T::Array[String]) } - attr_accessor :deleted_ids - - sig { returns(T::Array[Vers::API::VmDeleteResponse::Data::Error]) } - attr_accessor :errors - - # A struct containing information about an attempted VM deletion request. Reports - # information in the event of a partial failure so billing can still be udpated - # appropriately. - sig do - params( - deleted_ids: T::Array[String], - errors: T::Array[Vers::API::VmDeleteResponse::Data::Error::OrHash] - ).returns(T.attached_class) - end - def self.new(deleted_ids:, errors:) - end - - sig do - override.returns( - { - deleted_ids: T::Array[String], - errors: T::Array[Vers::API::VmDeleteResponse::Data::Error] - } - ) - end - def to_hash - end - - class Error < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::API::VmDeleteResponse::Data::Error, - Vers::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(String) } - attr_accessor :error - - # Contains a VM ID and the reason that it could not be deleted. - sig { params(id: String, error: String).returns(T.attached_class) } - def self.new(id:, error:) - end - - sig { override.returns({ id: String, error: String }) } - def to_hash - end - end - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Vers::API::VmDeleteResponse::OperationCode) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[Vers::API::VmDeleteResponse::OperationCode::TaggedSymbol] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_dto.rbi b/rbi/vers/models/api/vm_dto.rbi deleted file mode 100644 index 1fb27b2..0000000 --- a/rbi/vers/models/api/vm_dto.rbi +++ /dev/null @@ -1,200 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmDto < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias { T.any(Vers::API::VmDto, Vers::Internal::AnyHash) } - - # The ID of the VM. - sig { returns(String) } - attr_accessor :id - - # The IDs of direct children branched from this VM. - sig { returns(T::Array[String]) } - attr_accessor :children - - # The VM's cluster ID - sig { returns(String) } - attr_accessor :cluster_id - - # What is the size of the "disk" allocated to this VM - sig { returns(Integer) } - attr_accessor :fs_size_mib - - # The VM's local IP address on the VM subnet - sig { returns(String) } - attr_accessor :ip_address - - # How much RAM is allocated to this VM - sig { returns(Integer) } - attr_accessor :mem_size_mib - - # The VM's network configuration - sig { returns(Vers::API::VmDto::NetworkInfo) } - attr_reader :network_info - - sig { params(network_info: Vers::API::VmDto::NetworkInfo::OrHash).void } - attr_writer :network_info - - # Whether the VM is running, paused, or not started. - sig { returns(Vers::API::VmDto::State::TaggedSymbol) } - attr_accessor :state - - # How many vCPUs were allocated to this VM - sig { returns(Integer) } - attr_accessor :vcpu_count - - # Human-readable name assigned to the VM. - sig { returns(T.nilable(String)) } - attr_accessor :alias_ - - # The parent VM's ID, if present. If None, then this VM is a root VM. - sig { returns(T.nilable(String)) } - attr_accessor :parent_id - - sig do - params( - id: String, - children: T::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::API::VmDto::NetworkInfo::OrHash, - state: Vers::API::VmDto::State::OrSymbol, - vcpu_count: Integer, - alias_: T.nilable(String), - parent_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The ID of the VM. - id:, - # The IDs of direct children branched from this VM. - children:, - # The VM's cluster ID - cluster_id:, - # What is the size of the "disk" allocated to this VM - fs_size_mib:, - # The VM's local IP address on the VM subnet - ip_address:, - # How much RAM is allocated to this VM - mem_size_mib:, - # The VM's network configuration - network_info:, - # Whether the VM is running, paused, or not started. - state:, - # How many vCPUs were allocated to this VM - vcpu_count:, - # Human-readable name assigned to the VM. - alias_: nil, - # The parent VM's ID, if present. If None, then this VM is a root VM. - parent_id: nil - ) - end - - sig do - override.returns( - { - id: String, - children: T::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::API::VmDto::NetworkInfo, - state: Vers::API::VmDto::State::TaggedSymbol, - vcpu_count: Integer, - alias_: T.nilable(String), - parent_id: T.nilable(String) - } - ) - end - def to_hash - end - - class NetworkInfo < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::API::VmDto::NetworkInfo, Vers::Internal::AnyHash) - end - - sig { returns(String) } - attr_accessor :guest_ip - - sig { returns(String) } - attr_accessor :guest_mac - - sig { returns(Integer) } - attr_accessor :ssh_port - - sig { returns(String) } - attr_accessor :tap0_ip - - sig { returns(String) } - attr_accessor :tap0_name - - sig { returns(String) } - attr_accessor :vm_namespace - - # The VM's network configuration - sig do - params( - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - ).returns(T.attached_class) - end - def self.new( - guest_ip:, - guest_mac:, - ssh_port:, - tap0_ip:, - tap0_name:, - vm_namespace: - ) - end - - sig do - override.returns( - { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - } - ) - end - def to_hash - end - end - - # Whether the VM is running, paused, or not started. - module State - extend Vers::Internal::Type::Enum - - TaggedSymbol = T.type_alias { T.all(Symbol, Vers::API::VmDto::State) } - OrSymbol = T.type_alias { T.any(Symbol, String) } - - NOT_STARTED = - T.let(:"Not started", Vers::API::VmDto::State::TaggedSymbol) - RUNNING = T.let(:Running, Vers::API::VmDto::State::TaggedSymbol) - PAUSED = T.let(:Paused, Vers::API::VmDto::State::TaggedSymbol) - - sig do - override.returns(T::Array[Vers::API::VmDto::State::TaggedSymbol]) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_get_ssh_key_params.rbi b/rbi/vers/models/api/vm_get_ssh_key_params.rbi deleted file mode 100644 index c55b533..0000000 --- a/rbi/vers/models/api/vm_get_ssh_key_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmGetSSHKeyParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::VmGetSSHKeyParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_get_ssh_key_response.rbi b/rbi/vers/models/api/vm_get_ssh_key_response.rbi deleted file mode 100644 index cadca99..0000000 --- a/rbi/vers/models/api/vm_get_ssh_key_response.rbi +++ /dev/null @@ -1,176 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmGetSSHKeyResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::VmGetSSHKeyResponse, - Vers::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns( - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: String, - duration_ns: Integer, - operation_code: - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: String, - duration_ns: Integer, - operation_code: - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::VmGetSSHKeyResponse::OperationCode::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_list_params.rbi b/rbi/vers/models/api/vm_list_params.rbi deleted file mode 100644 index 2e654b4..0000000 --- a/rbi/vers/models/api/vm_list_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmListParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::VmListParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_list_response.rbi b/rbi/vers/models/api/vm_list_response.rbi deleted file mode 100644 index d95a056..0000000 --- a/rbi/vers/models/api/vm_list_response.rbi +++ /dev/null @@ -1,401 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmListResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::Models::API::VmListResponse, Vers::Internal::AnyHash) - end - - sig { returns(T::Array[Vers::Models::API::VmListResponse::Data]) } - attr_accessor :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns( - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: T::Array[Vers::Models::API::VmListResponse::Data::OrHash], - duration_ns: Integer, - operation_code: - Vers::Models::API::VmListResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: T::Array[Vers::Models::API::VmListResponse::Data], - duration_ns: Integer, - operation_code: - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - class Data < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::VmListResponse::Data, - Vers::Internal::AnyHash - ) - end - - # The ID of the VM. - sig { returns(String) } - attr_accessor :id - - # The IDs of direct children branched from this VM. - sig { returns(T::Array[String]) } - attr_accessor :children - - # The VM's cluster ID - sig { returns(String) } - attr_accessor :cluster_id - - # What is the size of the "disk" allocated to this VM - sig { returns(Integer) } - attr_accessor :fs_size_mib - - # The VM's local IP address on the VM subnet - sig { returns(String) } - attr_accessor :ip_address - - # How much RAM is allocated to this VM - sig { returns(Integer) } - attr_accessor :mem_size_mib - - # The VM's network configuration - sig { returns(Vers::Models::API::VmListResponse::Data::NetworkInfo) } - attr_reader :network_info - - sig do - params( - network_info: - Vers::Models::API::VmListResponse::Data::NetworkInfo::OrHash - ).void - end - attr_writer :network_info - - # Whether the VM is running, paused, or not started. - sig do - returns( - Vers::Models::API::VmListResponse::Data::State::TaggedSymbol - ) - end - attr_accessor :state - - # How many vCPUs were allocated to this VM - sig { returns(Integer) } - attr_accessor :vcpu_count - - # Human-readable name assigned to the VM. - sig { returns(T.nilable(String)) } - attr_accessor :alias_ - - # The parent VM's ID, if present. If None, then this VM is a root VM. - sig { returns(T.nilable(String)) } - attr_accessor :parent_id - - sig do - params( - id: String, - children: T::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: - Vers::Models::API::VmListResponse::Data::NetworkInfo::OrHash, - state: Vers::Models::API::VmListResponse::Data::State::OrSymbol, - vcpu_count: Integer, - alias_: T.nilable(String), - parent_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The ID of the VM. - id:, - # The IDs of direct children branched from this VM. - children:, - # The VM's cluster ID - cluster_id:, - # What is the size of the "disk" allocated to this VM - fs_size_mib:, - # The VM's local IP address on the VM subnet - ip_address:, - # How much RAM is allocated to this VM - mem_size_mib:, - # The VM's network configuration - network_info:, - # Whether the VM is running, paused, or not started. - state:, - # How many vCPUs were allocated to this VM - vcpu_count:, - # Human-readable name assigned to the VM. - alias_: nil, - # The parent VM's ID, if present. If None, then this VM is a root VM. - parent_id: nil - ) - end - - sig do - override.returns( - { - id: String, - children: T::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: - Vers::Models::API::VmListResponse::Data::NetworkInfo, - state: - Vers::Models::API::VmListResponse::Data::State::TaggedSymbol, - vcpu_count: Integer, - alias_: T.nilable(String), - parent_id: T.nilable(String) - } - ) - end - def to_hash - end - - class NetworkInfo < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::VmListResponse::Data::NetworkInfo, - Vers::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :guest_ip - - sig { returns(String) } - attr_accessor :guest_mac - - sig { returns(Integer) } - attr_accessor :ssh_port - - sig { returns(String) } - attr_accessor :tap0_ip - - sig { returns(String) } - attr_accessor :tap0_name - - sig { returns(String) } - attr_accessor :vm_namespace - - # The VM's network configuration - sig do - params( - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - ).returns(T.attached_class) - end - def self.new( - guest_ip:, - guest_mac:, - ssh_port:, - tap0_ip:, - tap0_name:, - vm_namespace: - ) - end - - sig do - override.returns( - { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - } - ) - end - def to_hash - end - end - - # Whether the VM is running, paused, or not started. - module State - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Vers::Models::API::VmListResponse::Data::State) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - NOT_STARTED = - T.let( - :"Not started", - Vers::Models::API::VmListResponse::Data::State::TaggedSymbol - ) - RUNNING = - T.let( - :Running, - Vers::Models::API::VmListResponse::Data::State::TaggedSymbol - ) - PAUSED = - T.let( - :Paused, - Vers::Models::API::VmListResponse::Data::State::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::VmListResponse::Data::State::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Vers::Models::API::VmListResponse::OperationCode) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::VmListResponse::OperationCode::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_patch_request.rbi b/rbi/vers/models/api/vm_patch_request.rbi deleted file mode 100644 index 0c6f878..0000000 --- a/rbi/vers/models/api/vm_patch_request.rbi +++ /dev/null @@ -1,61 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmPatchRequest < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::API::VmPatchRequest, Vers::Internal::AnyHash) - end - - sig { returns(T.nilable(String)) } - attr_accessor :alias_ - - sig { returns(T.nilable(Vers::API::VmPatchRequest::State::OrSymbol)) } - attr_accessor :state - - sig do - params( - alias_: T.nilable(String), - state: T.nilable(Vers::API::VmPatchRequest::State::OrSymbol) - ).returns(T.attached_class) - end - def self.new(alias_: nil, state: nil) - end - - sig do - override.returns( - { - alias_: T.nilable(String), - state: T.nilable(Vers::API::VmPatchRequest::State::OrSymbol) - } - ) - end - def to_hash - end - - module State - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias { T.all(Symbol, Vers::API::VmPatchRequest::State) } - OrSymbol = T.type_alias { T.any(Symbol, String) } - - RUNNING = - T.let(:Running, Vers::API::VmPatchRequest::State::TaggedSymbol) - PAUSED = - T.let(:Paused, Vers::API::VmPatchRequest::State::TaggedSymbol) - - sig do - override.returns( - T::Array[Vers::API::VmPatchRequest::State::TaggedSymbol] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_retrieve_params.rbi b/rbi/vers/models/api/vm_retrieve_params.rbi deleted file mode 100644 index 259809c..0000000 --- a/rbi/vers/models/api/vm_retrieve_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmRetrieveParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::VmRetrieveParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_retrieve_response.rbi b/rbi/vers/models/api/vm_retrieve_response.rbi deleted file mode 100644 index 08c7012..0000000 --- a/rbi/vers/models/api/vm_retrieve_response.rbi +++ /dev/null @@ -1,418 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmRetrieveResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::VmRetrieveResponse, - Vers::Internal::AnyHash - ) - end - - sig { returns(Vers::Models::API::VmRetrieveResponse::Data) } - attr_reader :data - - sig do - params(data: Vers::Models::API::VmRetrieveResponse::Data::OrHash).void - end - attr_writer :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns( - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: Vers::Models::API::VmRetrieveResponse::Data::OrHash, - duration_ns: Integer, - operation_code: - Vers::Models::API::VmRetrieveResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: Vers::Models::API::VmRetrieveResponse::Data, - duration_ns: Integer, - operation_code: - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - class Data < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::VmRetrieveResponse::Data, - Vers::Internal::AnyHash - ) - end - - # The ID of the VM. - sig { returns(String) } - attr_accessor :id - - # The IDs of direct children branched from this VM. - sig { returns(T::Array[String]) } - attr_accessor :children - - # The VM's cluster ID - sig { returns(String) } - attr_accessor :cluster_id - - # What is the size of the "disk" allocated to this VM - sig { returns(Integer) } - attr_accessor :fs_size_mib - - # The VM's local IP address on the VM subnet - sig { returns(String) } - attr_accessor :ip_address - - # How much RAM is allocated to this VM - sig { returns(Integer) } - attr_accessor :mem_size_mib - - # The VM's network configuration - sig do - returns(Vers::Models::API::VmRetrieveResponse::Data::NetworkInfo) - end - attr_reader :network_info - - sig do - params( - network_info: - Vers::Models::API::VmRetrieveResponse::Data::NetworkInfo::OrHash - ).void - end - attr_writer :network_info - - # Whether the VM is running, paused, or not started. - sig do - returns( - Vers::Models::API::VmRetrieveResponse::Data::State::TaggedSymbol - ) - end - attr_accessor :state - - # How many vCPUs were allocated to this VM - sig { returns(Integer) } - attr_accessor :vcpu_count - - # Human-readable name assigned to the VM. - sig { returns(T.nilable(String)) } - attr_accessor :alias_ - - # The parent VM's ID, if present. If None, then this VM is a root VM. - sig { returns(T.nilable(String)) } - attr_accessor :parent_id - - sig do - params( - id: String, - children: T::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: - Vers::Models::API::VmRetrieveResponse::Data::NetworkInfo::OrHash, - state: - Vers::Models::API::VmRetrieveResponse::Data::State::OrSymbol, - vcpu_count: Integer, - alias_: T.nilable(String), - parent_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The ID of the VM. - id:, - # The IDs of direct children branched from this VM. - children:, - # The VM's cluster ID - cluster_id:, - # What is the size of the "disk" allocated to this VM - fs_size_mib:, - # The VM's local IP address on the VM subnet - ip_address:, - # How much RAM is allocated to this VM - mem_size_mib:, - # The VM's network configuration - network_info:, - # Whether the VM is running, paused, or not started. - state:, - # How many vCPUs were allocated to this VM - vcpu_count:, - # Human-readable name assigned to the VM. - alias_: nil, - # The parent VM's ID, if present. If None, then this VM is a root VM. - parent_id: nil - ) - end - - sig do - override.returns( - { - id: String, - children: T::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: - Vers::Models::API::VmRetrieveResponse::Data::NetworkInfo, - state: - Vers::Models::API::VmRetrieveResponse::Data::State::TaggedSymbol, - vcpu_count: Integer, - alias_: T.nilable(String), - parent_id: T.nilable(String) - } - ) - end - def to_hash - end - - class NetworkInfo < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::VmRetrieveResponse::Data::NetworkInfo, - Vers::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :guest_ip - - sig { returns(String) } - attr_accessor :guest_mac - - sig { returns(Integer) } - attr_accessor :ssh_port - - sig { returns(String) } - attr_accessor :tap0_ip - - sig { returns(String) } - attr_accessor :tap0_name - - sig { returns(String) } - attr_accessor :vm_namespace - - # The VM's network configuration - sig do - params( - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - ).returns(T.attached_class) - end - def self.new( - guest_ip:, - guest_mac:, - ssh_port:, - tap0_ip:, - tap0_name:, - vm_namespace: - ) - end - - sig do - override.returns( - { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - } - ) - end - def to_hash - end - end - - # Whether the VM is running, paused, or not started. - module State - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Vers::Models::API::VmRetrieveResponse::Data::State - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - NOT_STARTED = - T.let( - :"Not started", - Vers::Models::API::VmRetrieveResponse::Data::State::TaggedSymbol - ) - RUNNING = - T.let( - :Running, - Vers::Models::API::VmRetrieveResponse::Data::State::TaggedSymbol - ) - PAUSED = - T.let( - :Paused, - Vers::Models::API::VmRetrieveResponse::Data::State::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::VmRetrieveResponse::Data::State::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Vers::Models::API::VmRetrieveResponse::OperationCode - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::VmRetrieveResponse::OperationCode::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_update_params.rbi b/rbi/vers/models/api/vm_update_params.rbi deleted file mode 100644 index 29ace06..0000000 --- a/rbi/vers/models/api/vm_update_params.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmUpdateParams < Vers::Models::API::VmPatchRequest - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Vers::API::VmUpdateParams, Vers::Internal::AnyHash) - end - - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - T.attached_class - ) - end - def self.new(request_options: {}) - end - - sig { override.returns({ request_options: Vers::RequestOptions }) } - def to_hash - end - end - end - end -end diff --git a/rbi/vers/models/api/vm_update_response.rbi b/rbi/vers/models/api/vm_update_response.rbi deleted file mode 100644 index 28e0be7..0000000 --- a/rbi/vers/models/api/vm_update_response.rbi +++ /dev/null @@ -1,408 +0,0 @@ -# typed: strong - -module Vers - module Models - module API - class VmUpdateResponse < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Vers::Models::API::VmUpdateResponse, Vers::Internal::AnyHash) - end - - sig { returns(Vers::Models::API::VmUpdateResponse::Data) } - attr_reader :data - - sig do - params(data: Vers::Models::API::VmUpdateResponse::Data::OrHash).void - end - attr_writer :data - - sig { returns(Integer) } - attr_accessor :duration_ns - - sig do - returns( - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - end - attr_accessor :operation_code - - sig { returns(String) } - attr_accessor :operation_id - - # Unix epoch time (secs) - sig { returns(Integer) } - attr_accessor :time_start - - sig do - params( - data: Vers::Models::API::VmUpdateResponse::Data::OrHash, - duration_ns: Integer, - operation_code: - Vers::Models::API::VmUpdateResponse::OperationCode::OrSymbol, - operation_id: String, - time_start: Integer - ).returns(T.attached_class) - end - def self.new( - data:, - duration_ns:, - operation_code:, - operation_id:, - # Unix epoch time (secs) - time_start: - ) - end - - sig do - override.returns( - { - data: Vers::Models::API::VmUpdateResponse::Data, - duration_ns: Integer, - operation_code: - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol, - operation_id: String, - time_start: Integer - } - ) - end - def to_hash - end - - class Data < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::VmUpdateResponse::Data, - Vers::Internal::AnyHash - ) - end - - # The ID of the VM. - sig { returns(String) } - attr_accessor :id - - # The IDs of direct children branched from this VM. - sig { returns(T::Array[String]) } - attr_accessor :children - - # The VM's cluster ID - sig { returns(String) } - attr_accessor :cluster_id - - # What is the size of the "disk" allocated to this VM - sig { returns(Integer) } - attr_accessor :fs_size_mib - - # The VM's local IP address on the VM subnet - sig { returns(String) } - attr_accessor :ip_address - - # How much RAM is allocated to this VM - sig { returns(Integer) } - attr_accessor :mem_size_mib - - # The VM's network configuration - sig do - returns(Vers::Models::API::VmUpdateResponse::Data::NetworkInfo) - end - attr_reader :network_info - - sig do - params( - network_info: - Vers::Models::API::VmUpdateResponse::Data::NetworkInfo::OrHash - ).void - end - attr_writer :network_info - - # Whether the VM is running, paused, or not started. - sig do - returns( - Vers::Models::API::VmUpdateResponse::Data::State::TaggedSymbol - ) - end - attr_accessor :state - - # How many vCPUs were allocated to this VM - sig { returns(Integer) } - attr_accessor :vcpu_count - - # Human-readable name assigned to the VM. - sig { returns(T.nilable(String)) } - attr_accessor :alias_ - - # The parent VM's ID, if present. If None, then this VM is a root VM. - sig { returns(T.nilable(String)) } - attr_accessor :parent_id - - sig do - params( - id: String, - children: T::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: - Vers::Models::API::VmUpdateResponse::Data::NetworkInfo::OrHash, - state: Vers::Models::API::VmUpdateResponse::Data::State::OrSymbol, - vcpu_count: Integer, - alias_: T.nilable(String), - parent_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The ID of the VM. - id:, - # The IDs of direct children branched from this VM. - children:, - # The VM's cluster ID - cluster_id:, - # What is the size of the "disk" allocated to this VM - fs_size_mib:, - # The VM's local IP address on the VM subnet - ip_address:, - # How much RAM is allocated to this VM - mem_size_mib:, - # The VM's network configuration - network_info:, - # Whether the VM is running, paused, or not started. - state:, - # How many vCPUs were allocated to this VM - vcpu_count:, - # Human-readable name assigned to the VM. - alias_: nil, - # The parent VM's ID, if present. If None, then this VM is a root VM. - parent_id: nil - ) - end - - sig do - override.returns( - { - id: String, - children: T::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: - Vers::Models::API::VmUpdateResponse::Data::NetworkInfo, - state: - Vers::Models::API::VmUpdateResponse::Data::State::TaggedSymbol, - vcpu_count: Integer, - alias_: T.nilable(String), - parent_id: T.nilable(String) - } - ) - end - def to_hash - end - - class NetworkInfo < Vers::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Vers::Models::API::VmUpdateResponse::Data::NetworkInfo, - Vers::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :guest_ip - - sig { returns(String) } - attr_accessor :guest_mac - - sig { returns(Integer) } - attr_accessor :ssh_port - - sig { returns(String) } - attr_accessor :tap0_ip - - sig { returns(String) } - attr_accessor :tap0_name - - sig { returns(String) } - attr_accessor :vm_namespace - - # The VM's network configuration - sig do - params( - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - ).returns(T.attached_class) - end - def self.new( - guest_ip:, - guest_mac:, - ssh_port:, - tap0_ip:, - tap0_name:, - vm_namespace: - ) - end - - sig do - override.returns( - { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - } - ) - end - def to_hash - end - end - - # Whether the VM is running, paused, or not started. - module State - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Vers::Models::API::VmUpdateResponse::Data::State) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - NOT_STARTED = - T.let( - :"Not started", - Vers::Models::API::VmUpdateResponse::Data::State::TaggedSymbol - ) - RUNNING = - T.let( - :Running, - Vers::Models::API::VmUpdateResponse::Data::State::TaggedSymbol - ) - PAUSED = - T.let( - :Paused, - Vers::Models::API::VmUpdateResponse::Data::State::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::VmUpdateResponse::Data::State::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - module OperationCode - extend Vers::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Vers::Models::API::VmUpdateResponse::OperationCode) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIST_CLUSTERS = - T.let( - :list_clusters, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER = - T.let( - :get_cluster, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - CREATE_CLUSTER = - T.let( - :create_cluster, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - DELETE_CLUSTER = - T.let( - :delete_cluster, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - UPDATE_CLUSTER = - T.let( - :update_cluster, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - GET_CLUSTER_SSH_KEY = - T.let( - :get_cluster_ssh_key, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - LIST_VMS = - T.let( - :list_vms, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - GET_VM = - T.let( - :get_vm, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - UPDATE_VM = - T.let( - :update_vm, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - BRANCH_VM = - T.let( - :branch_vm, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - COMMIT_VM = - T.let( - :commit_vm, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - DELETE_VM = - T.let( - :delete_vm, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - GET_VM_SSH_KEY = - T.let( - :get_vm_ssh_key, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - UPLOAD_ROOTFS = - T.let( - :upload_rootfs, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - DELETE_ROOTFS = - T.let( - :delete_rootfs, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - LIST_ROOTFS = - T.let( - :list_rootfs, - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Vers::Models::API::VmUpdateResponse::OperationCode::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/vers/models/error_response.rbi b/rbi/vers/models/error_response.rbi new file mode 100644 index 0000000..39d5ef9 --- /dev/null +++ b/rbi/vers/models/error_response.rbi @@ -0,0 +1,39 @@ +# typed: strong + +module Vers + module Models + class ErrorResponse < Vers::Internal::Type::BaseModel + OrHash = + T.type_alias { T.any(Vers::ErrorResponse, Vers::Internal::AnyHash) } + + # Reason of error + sig { returns(T.nilable(String)) } + attr_reader :error + + sig { params(error: String).void } + attr_writer :error + + # Is always: false + sig { returns(T.nilable(T::Boolean)) } + attr_reader :success + + sig { params(success: T::Boolean).void } + attr_writer :success + + sig do + params(error: String, success: T::Boolean).returns(T.attached_class) + end + def self.new( + # Reason of error + error: nil, + # Is always: false + success: nil + ) + end + + sig { override.returns({ error: String, success: T::Boolean }) } + def to_hash + end + end + end +end diff --git a/rbi/vers/models/new_root_request.rbi b/rbi/vers/models/new_root_request.rbi new file mode 100644 index 0000000..38ed095 --- /dev/null +++ b/rbi/vers/models/new_root_request.rbi @@ -0,0 +1,97 @@ +# typed: strong + +module Vers + module Models + class NewRootRequest < Vers::Internal::Type::BaseModel + OrHash = + T.type_alias { T.any(Vers::NewRootRequest, Vers::Internal::AnyHash) } + + # Struct representing configuration options common to all VMs + sig { returns(Vers::NewRootRequest::VmConfig) } + attr_reader :vm_config + + sig { params(vm_config: Vers::NewRootRequest::VmConfig::OrHash).void } + attr_writer :vm_config + + sig do + params(vm_config: Vers::NewRootRequest::VmConfig::OrHash).returns( + T.attached_class + ) + end + def self.new( + # Struct representing configuration options common to all VMs + vm_config: + ) + end + + sig { override.returns({ vm_config: Vers::NewRootRequest::VmConfig }) } + def to_hash + end + + class VmConfig < Vers::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Vers::NewRootRequest::VmConfig, Vers::Internal::AnyHash) + end + + # The disk size, in MiB. + sig { returns(T.nilable(Integer)) } + attr_accessor :fs_size_mib + + # The filesystem base image name. Currently, must be 'default' + sig { returns(T.nilable(String)) } + attr_accessor :image_name + + # The kernel name. Currently, must be 'default.bin' + sig { returns(T.nilable(String)) } + attr_accessor :kernel_name + + # The RAM size, in MiB. + sig { returns(T.nilable(Integer)) } + attr_accessor :mem_size_mib + + # How many vCPUs to allocate to this VM (and its children) + sig { returns(T.nilable(Integer)) } + attr_accessor :vcpu_count + + # Struct representing configuration options common to all VMs + sig do + params( + fs_size_mib: T.nilable(Integer), + image_name: T.nilable(String), + kernel_name: T.nilable(String), + mem_size_mib: T.nilable(Integer), + vcpu_count: T.nilable(Integer) + ).returns(T.attached_class) + end + def self.new( + # The disk size, in MiB. + fs_size_mib: nil, + # The filesystem base image name. Currently, must be 'default' + image_name: nil, + # The kernel name. Currently, must be 'default.bin' + kernel_name: nil, + # The RAM size, in MiB. + mem_size_mib: nil, + # How many vCPUs to allocate to this VM (and its children) + vcpu_count: nil + ) + end + + sig do + override.returns( + { + fs_size_mib: T.nilable(Integer), + image_name: T.nilable(String), + kernel_name: T.nilable(String), + mem_size_mib: T.nilable(Integer), + vcpu_count: T.nilable(Integer) + } + ) + end + def to_hash + end + end + end + end +end diff --git a/rbi/vers/models/new_vm_response.rbi b/rbi/vers/models/new_vm_response.rbi new file mode 100644 index 0000000..293a69e --- /dev/null +++ b/rbi/vers/models/new_vm_response.rbi @@ -0,0 +1,22 @@ +# typed: strong + +module Vers + module Models + class NewVmResponse < Vers::Internal::Type::BaseModel + OrHash = + T.type_alias { T.any(Vers::NewVmResponse, Vers::Internal::AnyHash) } + + sig { returns(String) } + attr_accessor :vm_id + + # Response body for new VM requests (new_root, from_commit, branch) + sig { params(vm_id: String).returns(T.attached_class) } + def self.new(vm_id:) + end + + sig { override.returns({ vm_id: String }) } + def to_hash + end + end + end +end diff --git a/rbi/vers/models/vm.rbi b/rbi/vers/models/vm.rbi new file mode 100644 index 0000000..27206e4 --- /dev/null +++ b/rbi/vers/models/vm.rbi @@ -0,0 +1,68 @@ +# typed: strong + +module Vers + module Models + class VmAPI < Vers::Internal::Type::BaseModel + OrHash = T.type_alias { T.any(Vers::VmAPI, Vers::Internal::AnyHash) } + + sig { returns(Time) } + attr_accessor :created_at + + sig { returns(String) } + attr_accessor :owner_id + + # The state of a VM + sig { returns(Vers::VmAPI::State::TaggedSymbol) } + attr_accessor :state + + sig { returns(String) } + attr_accessor :vm_id + + sig do + params( + created_at: Time, + owner_id: String, + state: Vers::VmAPI::State::OrSymbol, + vm_id: String + ).returns(T.attached_class) + end + def self.new( + created_at:, + owner_id:, + # The state of a VM + state:, + vm_id: + ) + end + + sig do + override.returns( + { + created_at: Time, + owner_id: String, + state: Vers::VmAPI::State::TaggedSymbol, + vm_id: String + } + ) + end + def to_hash + end + + # The state of a VM + module State + extend Vers::Internal::Type::Enum + + TaggedSymbol = T.type_alias { T.all(Symbol, Vers::VmAPI::State) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + BOOTING = T.let(:booting, Vers::VmAPI::State::TaggedSymbol) + RUNNING = T.let(:running, Vers::VmAPI::State::TaggedSymbol) + PAUSED = T.let(:paused, Vers::VmAPI::State::TaggedSymbol) + + sig { override.returns(T::Array[Vers::VmAPI::State::TaggedSymbol]) } + def self.values + end + end + end + end +end diff --git a/rbi/vers/models/vm_branch_params.rbi b/rbi/vers/models/vm_branch_params.rbi new file mode 100644 index 0000000..aa9189e --- /dev/null +++ b/rbi/vers/models/vm_branch_params.rbi @@ -0,0 +1,25 @@ +# typed: strong + +module Vers + module Models + class VmBranchParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + OrHash = + T.type_alias { T.any(Vers::VmBranchParams, Vers::Internal::AnyHash) } + + sig do + params(request_options: Vers::RequestOptions::OrHash).returns( + T.attached_class + ) + end + def self.new(request_options: {}) + end + + sig { override.returns({ request_options: Vers::RequestOptions }) } + def to_hash + end + end + end +end diff --git a/rbi/vers/models/vm_commit_params.rbi b/rbi/vers/models/vm_commit_params.rbi new file mode 100644 index 0000000..2f3a26f --- /dev/null +++ b/rbi/vers/models/vm_commit_params.rbi @@ -0,0 +1,55 @@ +# typed: strong + +module Vers + module Models + class VmCommitParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + OrHash = + T.type_alias { T.any(Vers::VmCommitParams, Vers::Internal::AnyHash) } + + # If true, keep VM paused after commit + sig { returns(T.nilable(T::Boolean)) } + attr_reader :keep_paused + + sig { params(keep_paused: T::Boolean).void } + attr_writer :keep_paused + + # If true, return an error immediately if the VM is still booting. Default: false + sig { returns(T.nilable(T::Boolean)) } + attr_reader :skip_wait_boot + + sig { params(skip_wait_boot: T::Boolean).void } + attr_writer :skip_wait_boot + + sig do + params( + keep_paused: T::Boolean, + skip_wait_boot: T::Boolean, + request_options: Vers::RequestOptions::OrHash + ).returns(T.attached_class) + end + def self.new( + # If true, keep VM paused after commit + keep_paused: nil, + # If true, return an error immediately if the VM is still booting. Default: false + skip_wait_boot: nil, + request_options: {} + ) + end + + sig do + override.returns( + { + keep_paused: T::Boolean, + skip_wait_boot: T::Boolean, + request_options: Vers::RequestOptions + } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/vers/models/vm_commit_response.rbi b/rbi/vers/models/vm_commit_response.rbi new file mode 100644 index 0000000..c396a2e --- /dev/null +++ b/rbi/vers/models/vm_commit_response.rbi @@ -0,0 +1,26 @@ +# typed: strong + +module Vers + module Models + class VmCommitResponse < Vers::Internal::Type::BaseModel + OrHash = + T.type_alias { T.any(Vers::VmCommitResponse, Vers::Internal::AnyHash) } + + # The UUID of the newly-created commit + sig { returns(String) } + attr_accessor :commit_id + + # The response body for POST /api/vm/{vm_id}/commit + sig { params(commit_id: String).returns(T.attached_class) } + def self.new( + # The UUID of the newly-created commit + commit_id: + ) + end + + sig { override.returns({ commit_id: String }) } + def to_hash + end + end + end +end diff --git a/rbi/vers/models/vm_create_root_params.rbi b/rbi/vers/models/vm_create_root_params.rbi new file mode 100644 index 0000000..280af41 --- /dev/null +++ b/rbi/vers/models/vm_create_root_params.rbi @@ -0,0 +1,45 @@ +# typed: strong + +module Vers + module Models + class VmCreateRootParams < Vers::Models::NewRootRequest + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + OrHash = + T.type_alias do + T.any(Vers::VmCreateRootParams, Vers::Internal::AnyHash) + end + + # If true, wait for the newly-created VM to finish booting before returning. + # Default: false. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :wait_boot + + sig { params(wait_boot: T::Boolean).void } + attr_writer :wait_boot + + sig do + params( + wait_boot: T::Boolean, + request_options: Vers::RequestOptions::OrHash + ).returns(T.attached_class) + end + def self.new( + # If true, wait for the newly-created VM to finish booting before returning. + # Default: false. + wait_boot: nil, + request_options: {} + ) + end + + sig do + override.returns( + { wait_boot: T::Boolean, request_options: Vers::RequestOptions } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/vers/models/vm_delete_params.rbi b/rbi/vers/models/vm_delete_params.rbi new file mode 100644 index 0000000..1969845 --- /dev/null +++ b/rbi/vers/models/vm_delete_params.rbi @@ -0,0 +1,41 @@ +# typed: strong + +module Vers + module Models + class VmDeleteParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + OrHash = + T.type_alias { T.any(Vers::VmDeleteParams, Vers::Internal::AnyHash) } + + # If true, return an error immediately if the VM is still booting. Default: false + sig { returns(T.nilable(T::Boolean)) } + attr_reader :skip_wait_boot + + sig { params(skip_wait_boot: T::Boolean).void } + attr_writer :skip_wait_boot + + sig do + params( + skip_wait_boot: T::Boolean, + request_options: Vers::RequestOptions::OrHash + ).returns(T.attached_class) + end + def self.new( + # If true, return an error immediately if the VM is still booting. Default: false + skip_wait_boot: nil, + request_options: {} + ) + end + + sig do + override.returns( + { skip_wait_boot: T::Boolean, request_options: Vers::RequestOptions } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/vers/models/vm_delete_response.rbi b/rbi/vers/models/vm_delete_response.rbi new file mode 100644 index 0000000..a58c25a --- /dev/null +++ b/rbi/vers/models/vm_delete_response.rbi @@ -0,0 +1,22 @@ +# typed: strong + +module Vers + module Models + class VmDeleteResponse < Vers::Internal::Type::BaseModel + OrHash = + T.type_alias { T.any(Vers::VmDeleteResponse, Vers::Internal::AnyHash) } + + sig { returns(String) } + attr_accessor :vm_id + + # Response body for DELETE /api/vm/{vm_id} + sig { params(vm_id: String).returns(T.attached_class) } + def self.new(vm_id:) + end + + sig { override.returns({ vm_id: String }) } + def to_hash + end + end + end +end diff --git a/rbi/vers/models/vm_from_commit_request.rbi b/rbi/vers/models/vm_from_commit_request.rbi new file mode 100644 index 0000000..e7c2584 --- /dev/null +++ b/rbi/vers/models/vm_from_commit_request.rbi @@ -0,0 +1,24 @@ +# typed: strong + +module Vers + module Models + class VmFromCommitRequest < Vers::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Vers::VmFromCommitRequest, Vers::Internal::AnyHash) + end + + sig { returns(String) } + attr_accessor :commit_id + + # Request body for POST /api/vm/from_commit + sig { params(commit_id: String).returns(T.attached_class) } + def self.new(commit_id:) + end + + sig { override.returns({ commit_id: String }) } + def to_hash + end + end + end +end diff --git a/rbi/vers/models/vm_get_ssh_key_params.rbi b/rbi/vers/models/vm_get_ssh_key_params.rbi new file mode 100644 index 0000000..3d52ddf --- /dev/null +++ b/rbi/vers/models/vm_get_ssh_key_params.rbi @@ -0,0 +1,25 @@ +# typed: strong + +module Vers + module Models + class VmGetSSHKeyParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + OrHash = + T.type_alias { T.any(Vers::VmGetSSHKeyParams, Vers::Internal::AnyHash) } + + sig do + params(request_options: Vers::RequestOptions::OrHash).returns( + T.attached_class + ) + end + def self.new(request_options: {}) + end + + sig { override.returns({ request_options: Vers::RequestOptions }) } + def to_hash + end + end + end +end diff --git a/rbi/vers/models/vm_list_params.rbi b/rbi/vers/models/vm_list_params.rbi new file mode 100644 index 0000000..58f09c9 --- /dev/null +++ b/rbi/vers/models/vm_list_params.rbi @@ -0,0 +1,25 @@ +# typed: strong + +module Vers + module Models + class VmListParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + OrHash = + T.type_alias { T.any(Vers::VmListParams, Vers::Internal::AnyHash) } + + sig do + params(request_options: Vers::RequestOptions::OrHash).returns( + T.attached_class + ) + end + def self.new(request_options: {}) + end + + sig { override.returns({ request_options: Vers::RequestOptions }) } + def to_hash + end + end + end +end diff --git a/rbi/vers/models/vm_list_response.rbi b/rbi/vers/models/vm_list_response.rbi new file mode 100644 index 0000000..53c0a71 --- /dev/null +++ b/rbi/vers/models/vm_list_response.rbi @@ -0,0 +1,11 @@ +# typed: strong + +module Vers + module Models + VmListResponse = + T.let( + Vers::Internal::Type::ArrayOf[Vers::VmAPI], + Vers::Internal::Type::Converter + ) + end +end diff --git a/rbi/vers/models/vm_restore_from_commit_params.rbi b/rbi/vers/models/vm_restore_from_commit_params.rbi new file mode 100644 index 0000000..ef543dd --- /dev/null +++ b/rbi/vers/models/vm_restore_from_commit_params.rbi @@ -0,0 +1,27 @@ +# typed: strong + +module Vers + module Models + class VmRestoreFromCommitParams < Vers::Models::VmFromCommitRequest + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + OrHash = + T.type_alias do + T.any(Vers::VmRestoreFromCommitParams, Vers::Internal::AnyHash) + end + + sig do + params(request_options: Vers::RequestOptions::OrHash).returns( + T.attached_class + ) + end + def self.new(request_options: {}) + end + + sig { override.returns({ request_options: Vers::RequestOptions }) } + def to_hash + end + end + end +end diff --git a/rbi/vers/models/vm_ssh_key_response.rbi b/rbi/vers/models/vm_ssh_key_response.rbi new file mode 100644 index 0000000..6061670 --- /dev/null +++ b/rbi/vers/models/vm_ssh_key_response.rbi @@ -0,0 +1,38 @@ +# typed: strong + +module Vers + module Models + class VmSSHKeyResponse < Vers::Internal::Type::BaseModel + OrHash = + T.type_alias { T.any(Vers::VmSSHKeyResponse, Vers::Internal::AnyHash) } + + # The SSH port that will be DNAT'd to the VM's netns (and, in turn, to its TAP + # device) + sig { returns(Integer) } + attr_accessor :ssh_port + + # Private SSH key in stringified OpenSSH format + sig { returns(String) } + attr_accessor :ssh_private_key + + # Response body for GET /api/vm/{vm_id}/ssh_key + sig do + params(ssh_port: Integer, ssh_private_key: String).returns( + T.attached_class + ) + end + def self.new( + # The SSH port that will be DNAT'd to the VM's netns (and, in turn, to its TAP + # device) + ssh_port:, + # Private SSH key in stringified OpenSSH format + ssh_private_key: + ) + end + + sig { override.returns({ ssh_port: Integer, ssh_private_key: String }) } + def to_hash + end + end + end +end diff --git a/rbi/vers/models/vm_update_state_params.rbi b/rbi/vers/models/vm_update_state_params.rbi new file mode 100644 index 0000000..a4affee --- /dev/null +++ b/rbi/vers/models/vm_update_state_params.rbi @@ -0,0 +1,43 @@ +# typed: strong + +module Vers + module Models + class VmUpdateStateParams < Vers::Models::VmUpdateStateRequest + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + OrHash = + T.type_alias do + T.any(Vers::VmUpdateStateParams, Vers::Internal::AnyHash) + end + + # If true, error immediately if the VM is not finished booting. Defaults to false + sig { returns(T.nilable(T::Boolean)) } + attr_reader :skip_wait_boot + + sig { params(skip_wait_boot: T::Boolean).void } + attr_writer :skip_wait_boot + + sig do + params( + skip_wait_boot: T::Boolean, + request_options: Vers::RequestOptions::OrHash + ).returns(T.attached_class) + end + def self.new( + # If true, error immediately if the VM is not finished booting. Defaults to false + skip_wait_boot: nil, + request_options: {} + ) + end + + sig do + override.returns( + { skip_wait_boot: T::Boolean, request_options: Vers::RequestOptions } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/vers/models/vm_update_state_request.rbi b/rbi/vers/models/vm_update_state_request.rbi new file mode 100644 index 0000000..73ccf79 --- /dev/null +++ b/rbi/vers/models/vm_update_state_request.rbi @@ -0,0 +1,55 @@ +# typed: strong + +module Vers + module Models + class VmUpdateStateRequest < Vers::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Vers::VmUpdateStateRequest, Vers::Internal::AnyHash) + end + + # The requested state for the VM + sig { returns(Vers::VmUpdateStateRequest::State::OrSymbol) } + attr_accessor :state + + # Request body for PATCH /api/vm/{vm_id}/state + sig do + params(state: Vers::VmUpdateStateRequest::State::OrSymbol).returns( + T.attached_class + ) + end + def self.new( + # The requested state for the VM + state: + ) + end + + sig do + override.returns({ state: Vers::VmUpdateStateRequest::State::OrSymbol }) + end + def to_hash + end + + # The requested state for the VM + module State + extend Vers::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Vers::VmUpdateStateRequest::State) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PAUSED = T.let(:Paused, Vers::VmUpdateStateRequest::State::TaggedSymbol) + RUNNING = + T.let(:Running, Vers::VmUpdateStateRequest::State::TaggedSymbol) + + sig do + override.returns( + T::Array[Vers::VmUpdateStateRequest::State::TaggedSymbol] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/vers/resources/api.rbi b/rbi/vers/resources/api.rbi deleted file mode 100644 index a137d65..0000000 --- a/rbi/vers/resources/api.rbi +++ /dev/null @@ -1,27 +0,0 @@ -# typed: strong - -module Vers - module Resources - class API - sig { returns(Vers::Resources::API::Cluster) } - attr_reader :cluster - - sig { returns(Vers::Resources::API::Vm) } - attr_reader :vm - - sig { returns(Vers::Resources::API::Rootfs) } - attr_reader :rootfs - - sig { returns(Vers::Resources::API::Health) } - attr_reader :health - - sig { returns(Vers::Resources::API::Telemetry) } - attr_reader :telemetry - - # @api private - sig { params(client: Vers::Client).returns(T.attached_class) } - def self.new(client:) - end - end - end -end diff --git a/rbi/vers/resources/api/cluster.rbi b/rbi/vers/resources/api/cluster.rbi deleted file mode 100644 index 442f236..0000000 --- a/rbi/vers/resources/api/cluster.rbi +++ /dev/null @@ -1,91 +0,0 @@ -# typed: strong - -module Vers - module Resources - class API - class Cluster - # Create a new cluster. - sig do - params( - cluster_create_request: Vers::API::ClusterCreateRequest, - request_options: Vers::RequestOptions::OrHash - ).returns(Vers::Models::API::ClusterCreateResponse) - end - def create(cluster_create_request:, request_options: {}) - end - - # Retrieve information on a particular cluster. - sig do - params( - cluster_id_or_alias: String, - request_options: Vers::RequestOptions::OrHash - ).returns(Vers::Models::API::ClusterRetrieveResponse) - end - def retrieve( - # Unique cluster identifier - cluster_id_or_alias, - request_options: {} - ) - end - - # Update a cluster's configuration - sig do - params( - cluster_id_or_alias: String, - alias_: T.nilable(String), - request_options: Vers::RequestOptions::OrHash - ).returns(Vers::Models::API::ClusterUpdateResponse) - end - def update( - # Unique cluster identifier - cluster_id_or_alias, - alias_: nil, - request_options: {} - ) - end - - # List all clusters. - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - Vers::Models::API::ClusterListResponse - ) - end - def list(request_options: {}) - end - - # Delete a cluster. - sig do - params( - cluster_id_or_alias: String, - request_options: Vers::RequestOptions::OrHash - ).returns(Vers::Models::API::ClusterDeleteResponse) - end - def delete( - # Unique cluster identifier - cluster_id_or_alias, - request_options: {} - ) - end - - # Get the SSH private key for VM access - sig do - params( - cluster_id_or_alias: String, - request_options: Vers::RequestOptions::OrHash - ).returns(Vers::Models::API::ClusterGetSSHKeyResponse) - end - def get_ssh_key( - # Unique cluster identifier - cluster_id_or_alias, - request_options: {} - ) - end - - # @api private - sig { params(client: Vers::Client).returns(T.attached_class) } - def self.new(client:) - end - end - end - end -end diff --git a/rbi/vers/resources/api/health.rbi b/rbi/vers/resources/api/health.rbi deleted file mode 100644 index 1151d6c..0000000 --- a/rbi/vers/resources/api/health.rbi +++ /dev/null @@ -1,21 +0,0 @@ -# typed: strong - -module Vers - module Resources - class API - class Health - # Get health of the API. - sig do - params(request_options: Vers::RequestOptions::OrHash).returns(String) - end - def check(request_options: {}) - end - - # @api private - sig { params(client: Vers::Client).returns(T.attached_class) } - def self.new(client:) - end - end - end - end -end diff --git a/rbi/vers/resources/api/rootfs.rbi b/rbi/vers/resources/api/rootfs.rbi deleted file mode 100644 index 171ced8..0000000 --- a/rbi/vers/resources/api/rootfs.rbi +++ /dev/null @@ -1,55 +0,0 @@ -# typed: strong - -module Vers - module Resources - class API - class Rootfs - # List all available rootfs names on the server. - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - Vers::Models::API::RootfListResponse - ) - end - def list(request_options: {}) - end - - # Delete an existing rootfs from the server. - sig do - params( - rootfs_id: String, - request_options: Vers::RequestOptions::OrHash - ).returns(Vers::Models::API::RootfDeleteResponse) - end - def delete( - # Identifier for the rootfs to delete - rootfs_id, - request_options: {} - ) - end - - # Upload a rootfs tar archive to the server. The archive should contain the - # Dockerfile and all necessary dependencies. - sig do - params( - rootfs_id: String, - dockerfile: String, - request_options: Vers::RequestOptions::OrHash - ).returns(Vers::Models::API::RootfUploadResponse) - end - def upload( - # Identifier for the rootfs to create or update - rootfs_id, - # The path of the Dockerfile contained within the tar archive - dockerfile: nil, - request_options: {} - ) - end - - # @api private - sig { params(client: Vers::Client).returns(T.attached_class) } - def self.new(client:) - end - end - end - end -end diff --git a/rbi/vers/resources/api/telemetry.rbi b/rbi/vers/resources/api/telemetry.rbi deleted file mode 100644 index 76ec2ad..0000000 --- a/rbi/vers/resources/api/telemetry.rbi +++ /dev/null @@ -1,23 +0,0 @@ -# typed: strong - -module Vers - module Resources - class API - class Telemetry - # Get telemetry information - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - Vers::API::TelemetryDto - ) - end - def get_info(request_options: {}) - end - - # @api private - sig { params(client: Vers::Client).returns(T.attached_class) } - def self.new(client:) - end - end - end - end -end diff --git a/rbi/vers/resources/api/vm.rbi b/rbi/vers/resources/api/vm.rbi deleted file mode 100644 index e249af3..0000000 --- a/rbi/vers/resources/api/vm.rbi +++ /dev/null @@ -1,118 +0,0 @@ -# typed: strong - -module Vers - module Resources - class API - class Vm - # Retrieve information on a particular VM. - sig do - params( - vm_id_or_alias: String, - request_options: Vers::RequestOptions::OrHash - ).returns(Vers::Models::API::VmRetrieveResponse) - end - def retrieve( - # Unique VM identifier - vm_id_or_alias, - request_options: {} - ) - end - - # Update VM state. - sig do - params( - vm_id_or_alias: String, - alias_: T.nilable(String), - state: T.nilable(Vers::API::VmPatchRequest::State::OrSymbol), - request_options: Vers::RequestOptions::OrHash - ).returns(Vers::Models::API::VmUpdateResponse) - end - def update( - # Unique VM identifier - vm_id_or_alias, - alias_: nil, - state: nil, - request_options: {} - ) - end - - # List all VMs. - sig do - params(request_options: Vers::RequestOptions::OrHash).returns( - Vers::Models::API::VmListResponse - ) - end - def list(request_options: {}) - end - - # Delete a VM. - sig do - params( - vm_id_or_alias: String, - recursive: T::Boolean, - request_options: Vers::RequestOptions::OrHash - ).returns(Vers::Models::API::VmDeleteResponse) - end - def delete( - # Unique VM identifier - vm_id_or_alias, - # Delete children recursively - recursive:, - request_options: {} - ) - end - - # Branch a VM. - sig do - params( - vm_id_or_alias: String, - alias_: T.nilable(String), - request_options: Vers::RequestOptions::OrHash - ).returns(Vers::Models::API::VmBranchResponse) - end - def branch( - # Unique VM identifier - vm_id_or_alias, - alias_: nil, - request_options: {} - ) - end - - # Commit a VM. - sig do - params( - vm_id_or_alias: String, - tags: T.nilable(T::Array[String]), - request_options: Vers::RequestOptions::OrHash - ).returns(Vers::Models::API::VmCommitResponse) - end - def commit( - # Unique VM identifier - vm_id_or_alias, - tags: nil, - request_options: {} - ) - end - - # Get the SSH private key for VM access - sig do - params( - vm_id_or_alias: String, - request_options: Vers::RequestOptions::OrHash - ).returns(Vers::Models::API::VmGetSSHKeyResponse) - end - def get_ssh_key( - # Unique VM identifier - vm_id_or_alias, - request_options: {} - ) - end - - # @api private - sig { params(client: Vers::Client).returns(T.attached_class) } - def self.new(client:) - end - end - end - end -end diff --git a/rbi/vers/resources/vm.rbi b/rbi/vers/resources/vm.rbi new file mode 100644 index 0000000..780cec8 --- /dev/null +++ b/rbi/vers/resources/vm.rbi @@ -0,0 +1,127 @@ +# typed: strong + +module Vers + module Resources + class Vm + sig do + params(request_options: Vers::RequestOptions::OrHash).returns( + T::Array[Vers::VmAPI] + ) + end + def list(request_options: {}) + end + + sig do + params( + vm_id: String, + skip_wait_boot: T::Boolean, + request_options: Vers::RequestOptions::OrHash + ).returns(Vers::VmDeleteResponse) + end + def delete( + # VM ID to delete + vm_id, + # If true, return an error immediately if the VM is still booting. Default: false + skip_wait_boot: nil, + request_options: {} + ) + end + + sig do + params( + vm_id: String, + request_options: Vers::RequestOptions::OrHash + ).returns(Vers::NewVmResponse) + end + def branch( + # Parent VM ID + vm_id, + request_options: {} + ) + end + + sig do + params( + vm_id: String, + keep_paused: T::Boolean, + skip_wait_boot: T::Boolean, + request_options: Vers::RequestOptions::OrHash + ).returns(Vers::VmCommitResponse) + end + def commit( + # VM ID to commit + vm_id, + # If true, keep VM paused after commit + keep_paused: nil, + # If true, return an error immediately if the VM is still booting. Default: false + skip_wait_boot: nil, + request_options: {} + ) + end + + sig do + params( + vm_config: Vers::NewRootRequest::VmConfig::OrHash, + wait_boot: T::Boolean, + request_options: Vers::RequestOptions::OrHash + ).returns(Vers::NewVmResponse) + end + def create_root( + # Body param: Struct representing configuration options common to all VMs + vm_config:, + # Query param: If true, wait for the newly-created VM to finish booting before + # returning. Default: false. + wait_boot: nil, + request_options: {} + ) + end + + sig do + params( + vm_id: String, + request_options: Vers::RequestOptions::OrHash + ).returns(Vers::VmSSHKeyResponse) + end + def get_ssh_key( + # Node ID + vm_id, + request_options: {} + ) + end + + sig do + params( + commit_id: String, + request_options: Vers::RequestOptions::OrHash + ).returns(Vers::NewVmResponse) + end + def restore_from_commit(commit_id:, request_options: {}) + end + + sig do + params( + vm_id: String, + state: Vers::VmUpdateStateRequest::State::OrSymbol, + skip_wait_boot: T::Boolean, + request_options: Vers::RequestOptions::OrHash + ).void + end + def update_state( + # Path param: VM ID + vm_id, + # Body param: The requested state for the VM + state:, + # Query param: If true, error immediately if the VM is not finished booting. + # Defaults to false + skip_wait_boot: nil, + request_options: {} + ) + end + + # @api private + sig { params(client: Vers::Client).returns(T.attached_class) } + def self.new(client:) + end + end + end +end diff --git a/scripts/bootstrap b/scripts/bootstrap index cc31aa8..3487864 100755 --- a/scripts/bootstrap +++ b/scripts/bootstrap @@ -4,10 +4,18 @@ set -e cd -- "$(dirname -- "$0")/.." -if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "$SKIP_BREW" != "1" ]; then +if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "$SKIP_BREW" != "1" ] && [ -t 0 ]; then brew bundle check >/dev/null 2>&1 || { - echo "==> Installing Homebrew dependencies…" - brew bundle + echo -n "==> Install Homebrew dependencies? (y/N): " + read -r response + case "$response" in + [yY][eE][sS]|[yY]) + brew bundle + ;; + *) + ;; + esac + echo } fi diff --git a/scripts/fast-format b/scripts/fast-format new file mode 100755 index 0000000..6d5973f --- /dev/null +++ b/scripts/fast-format @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +set -euo pipefail + +echo "Script started with $# arguments" +echo "Arguments: $*" +echo "Script location: $(dirname "$0")" + +cd -- "$(dirname "$0")/.." +echo "Changed to directory: $PWD" + +if [ $# -eq 0 ]; then + echo "Usage: $0 [additional-formatter-args...]" + echo "The file should contain one file path per line" + exit 1 +fi + +exec -- bundle exec rake format FORMAT_FILE="$1" diff --git a/scripts/mock b/scripts/mock index d2814ae..0b28f6e 100755 --- a/scripts/mock +++ b/scripts/mock @@ -21,7 +21,7 @@ echo "==> Starting mock server with URL ${URL}" # Run prism mock on the given spec if [ "$1" == "--daemon" ]; then - npm exec --package=@stainless-api/prism-cli@5.8.5 -- prism mock "$URL" &> .prism.log & + npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" &> .prism.log & # Wait for server to come online echo -n "Waiting for server" @@ -37,5 +37,5 @@ if [ "$1" == "--daemon" ]; then echo else - npm exec --package=@stainless-api/prism-cli@5.8.5 -- prism mock "$URL" + npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" fi diff --git a/scripts/test b/scripts/test index 8e5d35c..e0dc137 100755 --- a/scripts/test +++ b/scripts/test @@ -43,7 +43,7 @@ elif ! prism_is_running ; then echo -e "To run the server, pass in the path or url of your OpenAPI" echo -e "spec to the prism command:" echo - echo -e " \$ ${YELLOW}npm exec --package=@stoplight/prism-cli@~5.3.2 -- prism mock path/to/your.openapi.yml${NC}" + echo -e " \$ ${YELLOW}npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock path/to/your.openapi.yml${NC}" echo exit 1 diff --git a/sig/vers/client.rbs b/sig/vers/client.rbs index 98f540a..f06d4c4 100644 --- a/sig/vers/client.rbs +++ b/sig/vers/client.rbs @@ -10,7 +10,7 @@ module Vers attr_reader api_key: String? - attr_reader api: Vers::Resources::API + attr_reader vm: Vers::Resources::Vm private def auth_headers: -> ::Hash[String, String] diff --git a/sig/vers/errors.rbs b/sig/vers/errors.rbs index f414861..dbc6f01 100644 --- a/sig/vers/errors.rbs +++ b/sig/vers/errors.rbs @@ -21,11 +21,14 @@ module Vers attr_accessor status: Integer? + attr_accessor headers: ::Hash[String, String]? + attr_accessor body: top? def initialize: ( url: URI::Generic, ?status: Integer?, + ?headers: ::Hash[String, String]?, ?body: Object?, ?request: nil, ?response: nil, @@ -37,6 +40,7 @@ module Vers def initialize: ( url: URI::Generic, ?status: nil, + ?headers: ::Hash[String, String]?, ?body: nil, ?request: nil, ?response: nil, @@ -48,6 +52,7 @@ module Vers def initialize: ( url: URI::Generic, ?status: nil, + ?headers: ::Hash[String, String]?, ?body: nil, ?request: nil, ?response: nil, @@ -59,6 +64,7 @@ module Vers def self.for: ( url: URI::Generic, status: Integer, + headers: ::Hash[String, String]?, body: Object?, request: nil, response: nil, @@ -68,6 +74,7 @@ module Vers def initialize: ( url: URI::Generic, status: Integer, + headers: ::Hash[String, String]?, body: Object?, request: nil, response: nil, diff --git a/sig/vers/file_part.rbs b/sig/vers/file_part.rbs index dc1f656..8ffd8cd 100644 --- a/sig/vers/file_part.rbs +++ b/sig/vers/file_part.rbs @@ -14,7 +14,7 @@ module Vers def initialize: ( Pathname | StringIO | IO | String content, - ?filename: String?, + ?filename: (Pathname | String)?, ?content_type: String? ) -> void end diff --git a/sig/vers/internal/transport/base_client.rbs b/sig/vers/internal/transport/base_client.rbs index 56c986e..5da3d8b 100644 --- a/sig/vers/internal/transport/base_client.rbs +++ b/sig/vers/internal/transport/base_client.rbs @@ -87,6 +87,8 @@ module Vers private def auth_headers: -> ::Hash[String, String] + private def user_agent: -> String + private def generate_idempotency_key: -> String private def build_request: ( @@ -99,7 +101,7 @@ module Vers retry_count: Integer ) -> Float - private def send_request: ( + def send_request: ( Vers::Internal::Transport::BaseClient::request_input request, redirect_count: Integer, retry_count: Integer, diff --git a/sig/vers/internal/transport/pooled_net_requester.rbs b/sig/vers/internal/transport/pooled_net_requester.rbs index ac5083b..2314ac9 100644 --- a/sig/vers/internal/transport/pooled_net_requester.rbs +++ b/sig/vers/internal/transport/pooled_net_requester.rbs @@ -17,7 +17,10 @@ module Vers DEFAULT_MAX_CONNECTIONS: Integer - def self.connect: (URI::Generic url) -> top + def self.connect: ( + cert_store: OpenSSL::X509::Store, + url: URI::Generic + ) -> top def self.calibrate_socket_timeout: (top conn, Float deadline) -> void diff --git a/sig/vers/internal/type/converter.rbs b/sig/vers/internal/type/converter.rbs index 59dc4a8..58f43c9 100644 --- a/sig/vers/internal/type/converter.rbs +++ b/sig/vers/internal/type/converter.rbs @@ -39,6 +39,23 @@ module Vers | Vers::Internal::Type::Converter::input spec ) -> (^-> top) + def self.meta_info: ( + { + const: (nil | bool | Integer | Float | Symbol)?, + enum: ^-> Vers::Internal::Type::Converter::input?, + union: ^-> Vers::Internal::Type::Converter::input? + } + | ^-> Vers::Internal::Type::Converter::input + | Vers::Internal::Type::Converter::input type_info, + { + const: (nil | bool | Integer | Float | Symbol)?, + enum: ^-> Vers::Internal::Type::Converter::input?, + union: ^-> Vers::Internal::Type::Converter::input? + } + | ^-> Vers::Internal::Type::Converter::input + | Vers::Internal::Type::Converter::input spec + ) -> ::Hash[Symbol, top] + def self.new_coerce_state: ( ?translate_names: bool ) -> Vers::Internal::Type::Converter::coerce_state diff --git a/sig/vers/internal/type/union.rbs b/sig/vers/internal/type/union.rbs index b392ab3..28521c3 100644 --- a/sig/vers/internal/type/union.rbs +++ b/sig/vers/internal/type/union.rbs @@ -5,9 +5,9 @@ module Vers include Vers::Internal::Type::Converter include Vers::Internal::Util::SorbetRuntimeSupport - private def self.known_variants: -> ::Array[[Symbol?, (^-> Vers::Internal::Type::Converter::input)]] + private def self.known_variants: -> ::Array[[Symbol?, (^-> Vers::Internal::Type::Converter::input), ::Hash[Symbol, top]]] - def self.derefed_variants: -> ::Array[[Symbol?, top]] + def self.derefed_variants: -> ::Array[[Symbol?, top, ::Hash[Symbol, top]]] def self.variants: -> ::Array[top] diff --git a/sig/vers/models.rbs b/sig/vers/models.rbs index e70fef2..5e455b8 100644 --- a/sig/vers/models.rbs +++ b/sig/vers/models.rbs @@ -1,3 +1,35 @@ module Vers - module API = Vers::Models::API + class ErrorResponse = Vers::Models::ErrorResponse + + class NewRootRequest = Vers::Models::NewRootRequest + + class NewVmResponse = Vers::Models::NewVmResponse + + class VmAPI = Vers::Models::VmAPI + + class VmBranchParams = Vers::Models::VmBranchParams + + class VmCommitParams = Vers::Models::VmCommitParams + + class VmCommitResponse = Vers::Models::VmCommitResponse + + class VmCreateRootParams = Vers::Models::VmCreateRootParams + + class VmDeleteParams = Vers::Models::VmDeleteParams + + class VmDeleteResponse = Vers::Models::VmDeleteResponse + + class VmFromCommitRequest = Vers::Models::VmFromCommitRequest + + class VmGetSSHKeyParams = Vers::Models::VmGetSSHKeyParams + + class VmListParams = Vers::Models::VmListParams + + class VmRestoreFromCommitParams = Vers::Models::VmRestoreFromCommitParams + + class VmSSHKeyResponse = Vers::Models::VmSSHKeyResponse + + class VmUpdateStateParams = Vers::Models::VmUpdateStateParams + + class VmUpdateStateRequest = Vers::Models::VmUpdateStateRequest end diff --git a/sig/vers/models/api/cluster_create_params.rbs b/sig/vers/models/api/cluster_create_params.rbs deleted file mode 100644 index fa175a8..0000000 --- a/sig/vers/models/api/cluster_create_params.rbs +++ /dev/null @@ -1,30 +0,0 @@ -module Vers - module Models - module API - type cluster_create_params = - { cluster_create_request: Vers::Models::API::cluster_create_request } - & Vers::Internal::Type::request_parameters - - class ClusterCreateParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def cluster_create_request: -> Vers::Models::API::cluster_create_request - - def cluster_create_request=: ( - Vers::Models::API::cluster_create_request _ - ) -> Vers::Models::API::cluster_create_request - - def initialize: ( - cluster_create_request: Vers::Models::API::cluster_create_request, - ?request_options: Vers::request_opts - ) -> void - - def to_hash: -> { - cluster_create_request: Vers::Models::API::cluster_create_request, - request_options: Vers::RequestOptions - } - end - end - end -end diff --git a/sig/vers/models/api/cluster_create_request.rbs b/sig/vers/models/api/cluster_create_request.rbs deleted file mode 100644 index 97dcf5f..0000000 --- a/sig/vers/models/api/cluster_create_request.rbs +++ /dev/null @@ -1,163 +0,0 @@ -module Vers - module Models - module API - type cluster_create_request = - Vers::API::ClusterCreateRequest::NewClusterParams - | Vers::API::ClusterCreateRequest::ClusterFromCommitParams - - module ClusterCreateRequest - extend Vers::Internal::Type::Union - - type new_cluster_params = - { - cluster_type: Vers::Models::API::ClusterCreateRequest::NewClusterParams::cluster_type, - params: Vers::API::ClusterCreateRequest::NewClusterParams::Params - } - - class NewClusterParams < Vers::Internal::Type::BaseModel - attr_accessor cluster_type: Vers::Models::API::ClusterCreateRequest::NewClusterParams::cluster_type - - attr_accessor params: Vers::API::ClusterCreateRequest::NewClusterParams::Params - - def initialize: ( - cluster_type: Vers::Models::API::ClusterCreateRequest::NewClusterParams::cluster_type, - params: Vers::API::ClusterCreateRequest::NewClusterParams::Params - ) -> void - - def to_hash: -> { - cluster_type: Vers::Models::API::ClusterCreateRequest::NewClusterParams::cluster_type, - params: Vers::API::ClusterCreateRequest::NewClusterParams::Params - } - - type cluster_type = :new - - module ClusterType - extend Vers::Internal::Type::Enum - - NEW: :new - - def self?.values: -> ::Array[Vers::Models::API::ClusterCreateRequest::NewClusterParams::cluster_type] - end - - type params = - { - cluster_alias: String?, - fs_size_cluster_mib: Integer?, - fs_size_vm_mib: Integer?, - kernel_name: String?, - mem_size_mib: Integer?, - rootfs_name: String?, - vcpu_count: Integer?, - vm_alias: String? - } - - class Params < Vers::Internal::Type::BaseModel - attr_accessor cluster_alias: String? - - attr_accessor fs_size_cluster_mib: Integer? - - attr_accessor fs_size_vm_mib: Integer? - - attr_accessor kernel_name: String? - - attr_accessor mem_size_mib: Integer? - - attr_accessor rootfs_name: String? - - attr_accessor vcpu_count: Integer? - - attr_accessor vm_alias: String? - - def initialize: ( - ?cluster_alias: String?, - ?fs_size_cluster_mib: Integer?, - ?fs_size_vm_mib: Integer?, - ?kernel_name: String?, - ?mem_size_mib: Integer?, - ?rootfs_name: String?, - ?vcpu_count: Integer?, - ?vm_alias: String? - ) -> void - - def to_hash: -> { - cluster_alias: String?, - fs_size_cluster_mib: Integer?, - fs_size_vm_mib: Integer?, - kernel_name: String?, - mem_size_mib: Integer?, - rootfs_name: String?, - vcpu_count: Integer?, - vm_alias: String? - } - end - end - - type cluster_from_commit_params = - { - cluster_type: Vers::Models::API::ClusterCreateRequest::ClusterFromCommitParams::cluster_type, - params: Vers::API::ClusterCreateRequest::ClusterFromCommitParams::Params - } - - class ClusterFromCommitParams < Vers::Internal::Type::BaseModel - attr_accessor cluster_type: Vers::Models::API::ClusterCreateRequest::ClusterFromCommitParams::cluster_type - - attr_accessor params: Vers::API::ClusterCreateRequest::ClusterFromCommitParams::Params - - def initialize: ( - cluster_type: Vers::Models::API::ClusterCreateRequest::ClusterFromCommitParams::cluster_type, - params: Vers::API::ClusterCreateRequest::ClusterFromCommitParams::Params - ) -> void - - def to_hash: -> { - cluster_type: Vers::Models::API::ClusterCreateRequest::ClusterFromCommitParams::cluster_type, - params: Vers::API::ClusterCreateRequest::ClusterFromCommitParams::Params - } - - type cluster_type = :from_commit - - module ClusterType - extend Vers::Internal::Type::Enum - - FROM_COMMIT: :from_commit - - def self?.values: -> ::Array[Vers::Models::API::ClusterCreateRequest::ClusterFromCommitParams::cluster_type] - end - - type params = - { - commit_key: String, - cluster_alias: String?, - fs_size_cluster_mib: Integer?, - vm_alias: String? - } - - class Params < Vers::Internal::Type::BaseModel - attr_accessor commit_key: String - - attr_accessor cluster_alias: String? - - attr_accessor fs_size_cluster_mib: Integer? - - attr_accessor vm_alias: String? - - def initialize: ( - commit_key: String, - ?cluster_alias: String?, - ?fs_size_cluster_mib: Integer?, - ?vm_alias: String? - ) -> void - - def to_hash: -> { - commit_key: String, - cluster_alias: String?, - fs_size_cluster_mib: Integer?, - vm_alias: String? - } - end - end - - def self?.variants: -> ::Array[Vers::Models::API::cluster_create_request] - end - end - end -end diff --git a/sig/vers/models/api/cluster_create_response.rbs b/sig/vers/models/api/cluster_create_response.rbs deleted file mode 100644 index 4ac6f96..0000000 --- a/sig/vers/models/api/cluster_create_response.rbs +++ /dev/null @@ -1,125 +0,0 @@ -module Vers - module Models - module API - type cluster_create_response = - { - data: Vers::Models::API::ClusterCreateResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterCreateResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class ClusterCreateResponse < Vers::Internal::Type::BaseModel - attr_accessor data: Vers::Models::API::ClusterCreateResponse::Data - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::ClusterCreateResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: Vers::Models::API::ClusterCreateResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterCreateResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: Vers::Models::API::ClusterCreateResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterCreateResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type data = - { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - alias_: String? - } - - class Data < Vers::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor fs_size_mib: Integer - - attr_accessor root_vm_id: String - - attr_accessor vm_count: Integer - - attr_accessor vms: ::Array[Vers::API::VmDto] - - attr_accessor alias_: String? - - def initialize: ( - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - ?alias_: String? - ) -> void - - def to_hash: -> { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - alias_: String? - } - end - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::ClusterCreateResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/cluster_delete_params.rbs b/sig/vers/models/api/cluster_delete_params.rbs deleted file mode 100644 index f083ac5..0000000 --- a/sig/vers/models/api/cluster_delete_params.rbs +++ /dev/null @@ -1,17 +0,0 @@ -module Vers - module Models - module API - type cluster_delete_params = - { } & Vers::Internal::Type::request_parameters - - class ClusterDeleteParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/cluster_delete_response.rbs b/sig/vers/models/api/cluster_delete_response.rbs deleted file mode 100644 index 57a52b6..0000000 --- a/sig/vers/models/api/cluster_delete_response.rbs +++ /dev/null @@ -1,110 +0,0 @@ -module Vers - module Models - module API - type cluster_delete_response = - { - data: Vers::API::ClusterDeleteResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterDeleteResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class ClusterDeleteResponse < Vers::Internal::Type::BaseModel - attr_accessor data: Vers::API::ClusterDeleteResponse::Data - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::ClusterDeleteResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: Vers::API::ClusterDeleteResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterDeleteResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: Vers::API::ClusterDeleteResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterDeleteResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type data = - { - cluster_id: String, - vms: Vers::API::VmDeleteResponse, - fs_error: String? - } - - class Data < Vers::Internal::Type::BaseModel - attr_accessor cluster_id: String - - attr_accessor vms: Vers::API::VmDeleteResponse - - attr_accessor fs_error: String? - - def initialize: ( - cluster_id: String, - vms: Vers::API::VmDeleteResponse, - ?fs_error: String? - ) -> void - - def to_hash: -> { - cluster_id: String, - vms: Vers::API::VmDeleteResponse, - fs_error: String? - } - end - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::ClusterDeleteResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/cluster_dto.rbs b/sig/vers/models/api/cluster_dto.rbs deleted file mode 100644 index 134a4b3..0000000 --- a/sig/vers/models/api/cluster_dto.rbs +++ /dev/null @@ -1,47 +0,0 @@ -module Vers - module Models - module API - type cluster_dto = - { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - alias_: String? - } - - class ClusterDto < Vers::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor fs_size_mib: Integer - - attr_accessor root_vm_id: String - - attr_accessor vm_count: Integer - - attr_accessor vms: ::Array[Vers::API::VmDto] - - attr_accessor alias_: String? - - def initialize: ( - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - ?alias_: String? - ) -> void - - def to_hash: -> { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - alias_: String? - } - end - end - end -end diff --git a/sig/vers/models/api/cluster_get_ssh_key_params.rbs b/sig/vers/models/api/cluster_get_ssh_key_params.rbs deleted file mode 100644 index 445fc35..0000000 --- a/sig/vers/models/api/cluster_get_ssh_key_params.rbs +++ /dev/null @@ -1,17 +0,0 @@ -module Vers - module Models - module API - type cluster_get_ssh_key_params = - { } & Vers::Internal::Type::request_parameters - - class ClusterGetSSHKeyParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/cluster_get_ssh_key_response.rbs b/sig/vers/models/api/cluster_get_ssh_key_response.rbs deleted file mode 100644 index e841135..0000000 --- a/sig/vers/models/api/cluster_get_ssh_key_response.rbs +++ /dev/null @@ -1,83 +0,0 @@ -module Vers - module Models - module API - type cluster_get_ssh_key_response = - { - data: String, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterGetSSHKeyResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class ClusterGetSSHKeyResponse < Vers::Internal::Type::BaseModel - attr_accessor data: String - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::ClusterGetSSHKeyResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: String, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterGetSSHKeyResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: String, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterGetSSHKeyResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::ClusterGetSSHKeyResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/cluster_list_params.rbs b/sig/vers/models/api/cluster_list_params.rbs deleted file mode 100644 index f239847..0000000 --- a/sig/vers/models/api/cluster_list_params.rbs +++ /dev/null @@ -1,16 +0,0 @@ -module Vers - module Models - module API - type cluster_list_params = { } & Vers::Internal::Type::request_parameters - - class ClusterListParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/cluster_list_response.rbs b/sig/vers/models/api/cluster_list_response.rbs deleted file mode 100644 index 10e48c7..0000000 --- a/sig/vers/models/api/cluster_list_response.rbs +++ /dev/null @@ -1,125 +0,0 @@ -module Vers - module Models - module API - type cluster_list_response = - { - data: ::Array[Vers::Models::API::ClusterListResponse::Data], - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterListResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class ClusterListResponse < Vers::Internal::Type::BaseModel - attr_accessor data: ::Array[Vers::Models::API::ClusterListResponse::Data] - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::ClusterListResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: ::Array[Vers::Models::API::ClusterListResponse::Data], - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterListResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: ::Array[Vers::Models::API::ClusterListResponse::Data], - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterListResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type data = - { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - alias_: String? - } - - class Data < Vers::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor fs_size_mib: Integer - - attr_accessor root_vm_id: String - - attr_accessor vm_count: Integer - - attr_accessor vms: ::Array[Vers::API::VmDto] - - attr_accessor alias_: String? - - def initialize: ( - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - ?alias_: String? - ) -> void - - def to_hash: -> { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - alias_: String? - } - end - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::ClusterListResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/cluster_patch_request.rbs b/sig/vers/models/api/cluster_patch_request.rbs deleted file mode 100644 index 363a926..0000000 --- a/sig/vers/models/api/cluster_patch_request.rbs +++ /dev/null @@ -1,15 +0,0 @@ -module Vers - module Models - module API - type cluster_patch_request = { alias_: String? } - - class ClusterPatchRequest < Vers::Internal::Type::BaseModel - attr_accessor alias_: String? - - def initialize: (?alias_: String?) -> void - - def to_hash: -> { alias_: String? } - end - end - end -end diff --git a/sig/vers/models/api/cluster_retrieve_params.rbs b/sig/vers/models/api/cluster_retrieve_params.rbs deleted file mode 100644 index 46ebbee..0000000 --- a/sig/vers/models/api/cluster_retrieve_params.rbs +++ /dev/null @@ -1,17 +0,0 @@ -module Vers - module Models - module API - type cluster_retrieve_params = - { } & Vers::Internal::Type::request_parameters - - class ClusterRetrieveParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/cluster_retrieve_response.rbs b/sig/vers/models/api/cluster_retrieve_response.rbs deleted file mode 100644 index 4148ba6..0000000 --- a/sig/vers/models/api/cluster_retrieve_response.rbs +++ /dev/null @@ -1,125 +0,0 @@ -module Vers - module Models - module API - type cluster_retrieve_response = - { - data: Vers::Models::API::ClusterRetrieveResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterRetrieveResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class ClusterRetrieveResponse < Vers::Internal::Type::BaseModel - attr_accessor data: Vers::Models::API::ClusterRetrieveResponse::Data - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::ClusterRetrieveResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: Vers::Models::API::ClusterRetrieveResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterRetrieveResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: Vers::Models::API::ClusterRetrieveResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterRetrieveResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type data = - { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - alias_: String? - } - - class Data < Vers::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor fs_size_mib: Integer - - attr_accessor root_vm_id: String - - attr_accessor vm_count: Integer - - attr_accessor vms: ::Array[Vers::API::VmDto] - - attr_accessor alias_: String? - - def initialize: ( - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - ?alias_: String? - ) -> void - - def to_hash: -> { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - alias_: String? - } - end - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::ClusterRetrieveResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/cluster_update_params.rbs b/sig/vers/models/api/cluster_update_params.rbs deleted file mode 100644 index ce9c737..0000000 --- a/sig/vers/models/api/cluster_update_params.rbs +++ /dev/null @@ -1,17 +0,0 @@ -module Vers - module Models - module API - type cluster_update_params = - { } & Vers::Internal::Type::request_parameters - - class ClusterUpdateParams < Vers::Models::API::ClusterPatchRequest - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/cluster_update_response.rbs b/sig/vers/models/api/cluster_update_response.rbs deleted file mode 100644 index e258f0a..0000000 --- a/sig/vers/models/api/cluster_update_response.rbs +++ /dev/null @@ -1,125 +0,0 @@ -module Vers - module Models - module API - type cluster_update_response = - { - data: Vers::Models::API::ClusterUpdateResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterUpdateResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class ClusterUpdateResponse < Vers::Internal::Type::BaseModel - attr_accessor data: Vers::Models::API::ClusterUpdateResponse::Data - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::ClusterUpdateResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: Vers::Models::API::ClusterUpdateResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterUpdateResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: Vers::Models::API::ClusterUpdateResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterUpdateResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type data = - { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - alias_: String? - } - - class Data < Vers::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor fs_size_mib: Integer - - attr_accessor root_vm_id: String - - attr_accessor vm_count: Integer - - attr_accessor vms: ::Array[Vers::API::VmDto] - - attr_accessor alias_: String? - - def initialize: ( - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - ?alias_: String? - ) -> void - - def to_hash: -> { - id: String, - fs_size_mib: Integer, - root_vm_id: String, - vm_count: Integer, - vms: ::Array[Vers::API::VmDto], - alias_: String? - } - end - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::ClusterUpdateResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/health_check_params.rbs b/sig/vers/models/api/health_check_params.rbs deleted file mode 100644 index 99e32a3..0000000 --- a/sig/vers/models/api/health_check_params.rbs +++ /dev/null @@ -1,16 +0,0 @@ -module Vers - module Models - module API - type health_check_params = { } & Vers::Internal::Type::request_parameters - - class HealthCheckParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/health_check_response.rbs b/sig/vers/models/api/health_check_response.rbs deleted file mode 100644 index ff43ed6..0000000 --- a/sig/vers/models/api/health_check_response.rbs +++ /dev/null @@ -1,7 +0,0 @@ -module Vers - module Models - module API - class HealthCheckResponse = String - end - end -end diff --git a/sig/vers/models/api/rootf_delete_params.rbs b/sig/vers/models/api/rootf_delete_params.rbs deleted file mode 100644 index 760c5e4..0000000 --- a/sig/vers/models/api/rootf_delete_params.rbs +++ /dev/null @@ -1,16 +0,0 @@ -module Vers - module Models - module API - type rootf_delete_params = { } & Vers::Internal::Type::request_parameters - - class RootfDeleteParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/rootf_delete_response.rbs b/sig/vers/models/api/rootf_delete_response.rbs deleted file mode 100644 index 0982d52..0000000 --- a/sig/vers/models/api/rootf_delete_response.rbs +++ /dev/null @@ -1,93 +0,0 @@ -module Vers - module Models - module API - type rootf_delete_response = - { - data: Vers::Models::API::RootfDeleteResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::RootfDeleteResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class RootfDeleteResponse < Vers::Internal::Type::BaseModel - attr_accessor data: Vers::Models::API::RootfDeleteResponse::Data - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::RootfDeleteResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: Vers::Models::API::RootfDeleteResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::RootfDeleteResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: Vers::Models::API::RootfDeleteResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::RootfDeleteResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type data = { rootfs_name: String } - - class Data < Vers::Internal::Type::BaseModel - attr_accessor rootfs_name: String - - def initialize: (rootfs_name: String) -> void - - def to_hash: -> { rootfs_name: String } - end - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::RootfDeleteResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/rootf_list_params.rbs b/sig/vers/models/api/rootf_list_params.rbs deleted file mode 100644 index 7fc60ca..0000000 --- a/sig/vers/models/api/rootf_list_params.rbs +++ /dev/null @@ -1,16 +0,0 @@ -module Vers - module Models - module API - type rootf_list_params = { } & Vers::Internal::Type::request_parameters - - class RootfListParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/rootf_list_response.rbs b/sig/vers/models/api/rootf_list_response.rbs deleted file mode 100644 index 6821eb2..0000000 --- a/sig/vers/models/api/rootf_list_response.rbs +++ /dev/null @@ -1,93 +0,0 @@ -module Vers - module Models - module API - type rootf_list_response = - { - data: Vers::Models::API::RootfListResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::RootfListResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class RootfListResponse < Vers::Internal::Type::BaseModel - attr_accessor data: Vers::Models::API::RootfListResponse::Data - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::RootfListResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: Vers::Models::API::RootfListResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::RootfListResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: Vers::Models::API::RootfListResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::RootfListResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type data = { rootfs_names: ::Array[String] } - - class Data < Vers::Internal::Type::BaseModel - attr_accessor rootfs_names: ::Array[String] - - def initialize: (rootfs_names: ::Array[String]) -> void - - def to_hash: -> { rootfs_names: ::Array[String] } - end - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::RootfListResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/rootf_upload_params.rbs b/sig/vers/models/api/rootf_upload_params.rbs deleted file mode 100644 index 5ce1392..0000000 --- a/sig/vers/models/api/rootf_upload_params.rbs +++ /dev/null @@ -1,27 +0,0 @@ -module Vers - module Models - module API - type rootf_upload_params = - { dockerfile: String } & Vers::Internal::Type::request_parameters - - class RootfUploadParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - attr_reader dockerfile: String? - - def dockerfile=: (String) -> String - - def initialize: ( - ?dockerfile: String, - ?request_options: Vers::request_opts - ) -> void - - def to_hash: -> { - dockerfile: String, - request_options: Vers::RequestOptions - } - end - end - end -end diff --git a/sig/vers/models/api/rootf_upload_response.rbs b/sig/vers/models/api/rootf_upload_response.rbs deleted file mode 100644 index cd74adc..0000000 --- a/sig/vers/models/api/rootf_upload_response.rbs +++ /dev/null @@ -1,93 +0,0 @@ -module Vers - module Models - module API - type rootf_upload_response = - { - data: Vers::Models::API::RootfUploadResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::RootfUploadResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class RootfUploadResponse < Vers::Internal::Type::BaseModel - attr_accessor data: Vers::Models::API::RootfUploadResponse::Data - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::RootfUploadResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: Vers::Models::API::RootfUploadResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::RootfUploadResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: Vers::Models::API::RootfUploadResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::RootfUploadResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type data = { rootfs_name: String } - - class Data < Vers::Internal::Type::BaseModel - attr_accessor rootfs_name: String - - def initialize: (rootfs_name: String) -> void - - def to_hash: -> { rootfs_name: String } - end - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::RootfUploadResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/rootfs_delete_response.rbs b/sig/vers/models/api/rootfs_delete_response.rbs deleted file mode 100644 index a381190..0000000 --- a/sig/vers/models/api/rootfs_delete_response.rbs +++ /dev/null @@ -1,15 +0,0 @@ -module Vers - module Models - module API - type rootfs_delete_response = { rootfs_name: String } - - class RootfsDeleteResponse < Vers::Internal::Type::BaseModel - attr_accessor rootfs_name: String - - def initialize: (rootfs_name: String) -> void - - def to_hash: -> { rootfs_name: String } - end - end - end -end diff --git a/sig/vers/models/api/rootfs_list_response.rbs b/sig/vers/models/api/rootfs_list_response.rbs deleted file mode 100644 index de34dc5..0000000 --- a/sig/vers/models/api/rootfs_list_response.rbs +++ /dev/null @@ -1,15 +0,0 @@ -module Vers - module Models - module API - type rootfs_list_response = { rootfs_names: ::Array[String] } - - class RootfsListResponse < Vers::Internal::Type::BaseModel - attr_accessor rootfs_names: ::Array[String] - - def initialize: (rootfs_names: ::Array[String]) -> void - - def to_hash: -> { rootfs_names: ::Array[String] } - end - end - end -end diff --git a/sig/vers/models/api/rootfs_upload_response.rbs b/sig/vers/models/api/rootfs_upload_response.rbs deleted file mode 100644 index 1038d65..0000000 --- a/sig/vers/models/api/rootfs_upload_response.rbs +++ /dev/null @@ -1,15 +0,0 @@ -module Vers - module Models - module API - type rootfs_upload_response = { rootfs_name: String } - - class RootfsUploadResponse < Vers::Internal::Type::BaseModel - attr_accessor rootfs_name: String - - def initialize: (rootfs_name: String) -> void - - def to_hash: -> { rootfs_name: String } - end - end - end -end diff --git a/sig/vers/models/api/telemetry_dto.rbs b/sig/vers/models/api/telemetry_dto.rbs deleted file mode 100644 index 14db211..0000000 --- a/sig/vers/models/api/telemetry_dto.rbs +++ /dev/null @@ -1,62 +0,0 @@ -module Vers - module Models - module API - type telemetry_dto = - { - id: String, - fs_mib_current: Integer, - fs_mib_max: Integer, - mem_mib_current: Integer, - mem_mib_max: Integer, - vcpu_current: Integer, - vcpu_max: Integer, - vm_network_count_in_use: Integer, - vm_network_count_total: Integer - } - - class TelemetryDto < Vers::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor fs_mib_current: Integer - - attr_accessor fs_mib_max: Integer - - attr_accessor mem_mib_current: Integer - - attr_accessor mem_mib_max: Integer - - attr_accessor vcpu_current: Integer - - attr_accessor vcpu_max: Integer - - attr_accessor vm_network_count_in_use: Integer - - attr_accessor vm_network_count_total: Integer - - def initialize: ( - id: String, - fs_mib_current: Integer, - fs_mib_max: Integer, - mem_mib_current: Integer, - mem_mib_max: Integer, - vcpu_current: Integer, - vcpu_max: Integer, - vm_network_count_in_use: Integer, - vm_network_count_total: Integer - ) -> void - - def to_hash: -> { - id: String, - fs_mib_current: Integer, - fs_mib_max: Integer, - mem_mib_current: Integer, - mem_mib_max: Integer, - vcpu_current: Integer, - vcpu_max: Integer, - vm_network_count_in_use: Integer, - vm_network_count_total: Integer - } - end - end - end -end diff --git a/sig/vers/models/api/telemetry_get_info_params.rbs b/sig/vers/models/api/telemetry_get_info_params.rbs deleted file mode 100644 index 7be7fd2..0000000 --- a/sig/vers/models/api/telemetry_get_info_params.rbs +++ /dev/null @@ -1,17 +0,0 @@ -module Vers - module Models - module API - type telemetry_get_info_params = - { } & Vers::Internal::Type::request_parameters - - class TelemetryGetInfoParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/vm_branch_params.rbs b/sig/vers/models/api/vm_branch_params.rbs deleted file mode 100644 index d5034b9..0000000 --- a/sig/vers/models/api/vm_branch_params.rbs +++ /dev/null @@ -1,16 +0,0 @@ -module Vers - module Models - module API - type vm_branch_params = { } & Vers::Internal::Type::request_parameters - - class VmBranchParams < Vers::Models::API::VmBranchRequest - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/vm_branch_request.rbs b/sig/vers/models/api/vm_branch_request.rbs deleted file mode 100644 index cbd3210..0000000 --- a/sig/vers/models/api/vm_branch_request.rbs +++ /dev/null @@ -1,15 +0,0 @@ -module Vers - module Models - module API - type vm_branch_request = { alias_: String? } - - class VmBranchRequest < Vers::Internal::Type::BaseModel - attr_accessor alias_: String? - - def initialize: (?alias_: String?) -> void - - def to_hash: -> { alias_: String? } - end - end - end -end diff --git a/sig/vers/models/api/vm_branch_response.rbs b/sig/vers/models/api/vm_branch_response.rbs deleted file mode 100644 index d081e70..0000000 --- a/sig/vers/models/api/vm_branch_response.rbs +++ /dev/null @@ -1,204 +0,0 @@ -module Vers - module Models - module API - type vm_branch_response = - { - data: Vers::Models::API::VmBranchResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmBranchResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class VmBranchResponse < Vers::Internal::Type::BaseModel - attr_accessor data: Vers::Models::API::VmBranchResponse::Data - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::VmBranchResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: Vers::Models::API::VmBranchResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmBranchResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: Vers::Models::API::VmBranchResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmBranchResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type data = - { - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::Models::API::VmBranchResponse::Data::NetworkInfo, - state: Vers::Models::API::VmBranchResponse::Data::state, - vcpu_count: Integer, - alias_: String?, - parent_id: String? - } - - class Data < Vers::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor children: ::Array[String] - - attr_accessor cluster_id: String - - attr_accessor fs_size_mib: Integer - - attr_accessor ip_address: String - - attr_accessor mem_size_mib: Integer - - attr_accessor network_info: Vers::Models::API::VmBranchResponse::Data::NetworkInfo - - attr_accessor state: Vers::Models::API::VmBranchResponse::Data::state - - attr_accessor vcpu_count: Integer - - attr_accessor alias_: String? - - attr_accessor parent_id: String? - - def initialize: ( - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::Models::API::VmBranchResponse::Data::NetworkInfo, - state: Vers::Models::API::VmBranchResponse::Data::state, - vcpu_count: Integer, - ?alias_: String?, - ?parent_id: String? - ) -> void - - def to_hash: -> { - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::Models::API::VmBranchResponse::Data::NetworkInfo, - state: Vers::Models::API::VmBranchResponse::Data::state, - vcpu_count: Integer, - alias_: String?, - parent_id: String? - } - - type network_info = - { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - :tap0_ip => String, - :tap0_name => String, - vm_namespace: String - } - - class NetworkInfo < Vers::Internal::Type::BaseModel - attr_accessor guest_ip: String - - attr_accessor guest_mac: String - - attr_accessor ssh_port: Integer - - attr_accessor tap0_ip: String - - attr_accessor tap0_name: String - - attr_accessor vm_namespace: String - - def initialize: ( - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - ) -> void - - def to_hash: -> { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - :tap0_ip => String, - :tap0_name => String, - vm_namespace: String - } - end - - type state = :"Not started" | :Running | :Paused - - module State - extend Vers::Internal::Type::Enum - - NOT_STARTED: :"Not started" - RUNNING: :Running - PAUSED: :Paused - - def self?.values: -> ::Array[Vers::Models::API::VmBranchResponse::Data::state] - end - end - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::VmBranchResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/vm_commit_params.rbs b/sig/vers/models/api/vm_commit_params.rbs deleted file mode 100644 index cac99f7..0000000 --- a/sig/vers/models/api/vm_commit_params.rbs +++ /dev/null @@ -1,16 +0,0 @@ -module Vers - module Models - module API - type vm_commit_params = { } & Vers::Internal::Type::request_parameters - - class VmCommitParams < Vers::Models::API::VmCommitRequest - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/vm_commit_request.rbs b/sig/vers/models/api/vm_commit_request.rbs deleted file mode 100644 index 3465472..0000000 --- a/sig/vers/models/api/vm_commit_request.rbs +++ /dev/null @@ -1,15 +0,0 @@ -module Vers - module Models - module API - type vm_commit_request = { tags: ::Array[String]? } - - class VmCommitRequest < Vers::Internal::Type::BaseModel - attr_accessor tags: ::Array[String]? - - def initialize: (?tags: ::Array[String]?) -> void - - def to_hash: -> { tags: ::Array[String]? } - end - end - end -end diff --git a/sig/vers/models/api/vm_commit_response.rbs b/sig/vers/models/api/vm_commit_response.rbs deleted file mode 100644 index 78f0335..0000000 --- a/sig/vers/models/api/vm_commit_response.rbs +++ /dev/null @@ -1,106 +0,0 @@ -module Vers - module Models - module API - type vm_commit_response = - { - data: Vers::API::VmCommitResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmCommitResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class VmCommitResponse < Vers::Internal::Type::BaseModel - attr_accessor data: Vers::API::VmCommitResponse::Data - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::VmCommitResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: Vers::API::VmCommitResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmCommitResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: Vers::API::VmCommitResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmCommitResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type data = - { cluster_id: String, commit_id: String, host_architecture: String } - - class Data < Vers::Internal::Type::BaseModel - attr_accessor cluster_id: String - - attr_accessor commit_id: String - - attr_accessor host_architecture: String - - def initialize: ( - cluster_id: String, - commit_id: String, - host_architecture: String - ) -> void - - def to_hash: -> { - cluster_id: String, - commit_id: String, - host_architecture: String - } - end - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::VmCommitResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/vm_delete_params.rbs b/sig/vers/models/api/vm_delete_params.rbs deleted file mode 100644 index 7dc73a2..0000000 --- a/sig/vers/models/api/vm_delete_params.rbs +++ /dev/null @@ -1,25 +0,0 @@ -module Vers - module Models - module API - type vm_delete_params = - { recursive: bool } & Vers::Internal::Type::request_parameters - - class VmDeleteParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - attr_accessor recursive: bool - - def initialize: ( - recursive: bool, - ?request_options: Vers::request_opts - ) -> void - - def to_hash: -> { - recursive: bool, - request_options: Vers::RequestOptions - } - end - end - end -end diff --git a/sig/vers/models/api/vm_delete_response.rbs b/sig/vers/models/api/vm_delete_response.rbs deleted file mode 100644 index dccf995..0000000 --- a/sig/vers/models/api/vm_delete_response.rbs +++ /dev/null @@ -1,117 +0,0 @@ -module Vers - module Models - module API - type vm_delete_response = - { - data: Vers::API::VmDeleteResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmDeleteResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class VmDeleteResponse < Vers::Internal::Type::BaseModel - attr_accessor data: Vers::API::VmDeleteResponse::Data - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::VmDeleteResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: Vers::API::VmDeleteResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmDeleteResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: Vers::API::VmDeleteResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmDeleteResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type data = - { - deleted_ids: ::Array[String], - errors: ::Array[Vers::API::VmDeleteResponse::Data::Error] - } - - class Data < Vers::Internal::Type::BaseModel - attr_accessor deleted_ids: ::Array[String] - - attr_accessor errors: ::Array[Vers::API::VmDeleteResponse::Data::Error] - - def initialize: ( - deleted_ids: ::Array[String], - errors: ::Array[Vers::API::VmDeleteResponse::Data::Error] - ) -> void - - def to_hash: -> { - deleted_ids: ::Array[String], - errors: ::Array[Vers::API::VmDeleteResponse::Data::Error] - } - - type error = { id: String, error: String } - - class Error < Vers::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor error: String - - def initialize: (id: String, error: String) -> void - - def to_hash: -> { id: String, error: String } - end - end - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::VmDeleteResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/vm_dto.rbs b/sig/vers/models/api/vm_dto.rbs deleted file mode 100644 index a2f3a3e..0000000 --- a/sig/vers/models/api/vm_dto.rbs +++ /dev/null @@ -1,126 +0,0 @@ -module Vers - module Models - module API - type vm_dto = - { - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::API::VmDto::NetworkInfo, - state: Vers::Models::API::VmDto::state, - vcpu_count: Integer, - alias_: String?, - parent_id: String? - } - - class VmDto < Vers::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor children: ::Array[String] - - attr_accessor cluster_id: String - - attr_accessor fs_size_mib: Integer - - attr_accessor ip_address: String - - attr_accessor mem_size_mib: Integer - - attr_accessor network_info: Vers::API::VmDto::NetworkInfo - - attr_accessor state: Vers::Models::API::VmDto::state - - attr_accessor vcpu_count: Integer - - attr_accessor alias_: String? - - attr_accessor parent_id: String? - - def initialize: ( - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::API::VmDto::NetworkInfo, - state: Vers::Models::API::VmDto::state, - vcpu_count: Integer, - ?alias_: String?, - ?parent_id: String? - ) -> void - - def to_hash: -> { - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::API::VmDto::NetworkInfo, - state: Vers::Models::API::VmDto::state, - vcpu_count: Integer, - alias_: String?, - parent_id: String? - } - - type network_info = - { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - :tap0_ip => String, - :tap0_name => String, - vm_namespace: String - } - - class NetworkInfo < Vers::Internal::Type::BaseModel - attr_accessor guest_ip: String - - attr_accessor guest_mac: String - - attr_accessor ssh_port: Integer - - attr_accessor tap0_ip: String - - attr_accessor tap0_name: String - - attr_accessor vm_namespace: String - - def initialize: ( - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - ) -> void - - def to_hash: -> { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - :tap0_ip => String, - :tap0_name => String, - vm_namespace: String - } - end - - type state = :"Not started" | :Running | :Paused - - module State - extend Vers::Internal::Type::Enum - - NOT_STARTED: :"Not started" - RUNNING: :Running - PAUSED: :Paused - - def self?.values: -> ::Array[Vers::Models::API::VmDto::state] - end - end - end - end -end diff --git a/sig/vers/models/api/vm_get_ssh_key_params.rbs b/sig/vers/models/api/vm_get_ssh_key_params.rbs deleted file mode 100644 index afe9d46..0000000 --- a/sig/vers/models/api/vm_get_ssh_key_params.rbs +++ /dev/null @@ -1,17 +0,0 @@ -module Vers - module Models - module API - type vm_get_ssh_key_params = - { } & Vers::Internal::Type::request_parameters - - class VmGetSSHKeyParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/vm_get_ssh_key_response.rbs b/sig/vers/models/api/vm_get_ssh_key_response.rbs deleted file mode 100644 index b031bd1..0000000 --- a/sig/vers/models/api/vm_get_ssh_key_response.rbs +++ /dev/null @@ -1,83 +0,0 @@ -module Vers - module Models - module API - type vm_get_ssh_key_response = - { - data: String, - duration_ns: Integer, - operation_code: Vers::Models::API::VmGetSSHKeyResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class VmGetSSHKeyResponse < Vers::Internal::Type::BaseModel - attr_accessor data: String - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::VmGetSSHKeyResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: String, - duration_ns: Integer, - operation_code: Vers::Models::API::VmGetSSHKeyResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: String, - duration_ns: Integer, - operation_code: Vers::Models::API::VmGetSSHKeyResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::VmGetSSHKeyResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/vm_list_params.rbs b/sig/vers/models/api/vm_list_params.rbs deleted file mode 100644 index a308a19..0000000 --- a/sig/vers/models/api/vm_list_params.rbs +++ /dev/null @@ -1,16 +0,0 @@ -module Vers - module Models - module API - type vm_list_params = { } & Vers::Internal::Type::request_parameters - - class VmListParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/vm_list_response.rbs b/sig/vers/models/api/vm_list_response.rbs deleted file mode 100644 index e8641ae..0000000 --- a/sig/vers/models/api/vm_list_response.rbs +++ /dev/null @@ -1,204 +0,0 @@ -module Vers - module Models - module API - type vm_list_response = - { - data: ::Array[Vers::Models::API::VmListResponse::Data], - duration_ns: Integer, - operation_code: Vers::Models::API::VmListResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class VmListResponse < Vers::Internal::Type::BaseModel - attr_accessor data: ::Array[Vers::Models::API::VmListResponse::Data] - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::VmListResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: ::Array[Vers::Models::API::VmListResponse::Data], - duration_ns: Integer, - operation_code: Vers::Models::API::VmListResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: ::Array[Vers::Models::API::VmListResponse::Data], - duration_ns: Integer, - operation_code: Vers::Models::API::VmListResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type data = - { - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::Models::API::VmListResponse::Data::NetworkInfo, - state: Vers::Models::API::VmListResponse::Data::state, - vcpu_count: Integer, - alias_: String?, - parent_id: String? - } - - class Data < Vers::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor children: ::Array[String] - - attr_accessor cluster_id: String - - attr_accessor fs_size_mib: Integer - - attr_accessor ip_address: String - - attr_accessor mem_size_mib: Integer - - attr_accessor network_info: Vers::Models::API::VmListResponse::Data::NetworkInfo - - attr_accessor state: Vers::Models::API::VmListResponse::Data::state - - attr_accessor vcpu_count: Integer - - attr_accessor alias_: String? - - attr_accessor parent_id: String? - - def initialize: ( - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::Models::API::VmListResponse::Data::NetworkInfo, - state: Vers::Models::API::VmListResponse::Data::state, - vcpu_count: Integer, - ?alias_: String?, - ?parent_id: String? - ) -> void - - def to_hash: -> { - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::Models::API::VmListResponse::Data::NetworkInfo, - state: Vers::Models::API::VmListResponse::Data::state, - vcpu_count: Integer, - alias_: String?, - parent_id: String? - } - - type network_info = - { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - :tap0_ip => String, - :tap0_name => String, - vm_namespace: String - } - - class NetworkInfo < Vers::Internal::Type::BaseModel - attr_accessor guest_ip: String - - attr_accessor guest_mac: String - - attr_accessor ssh_port: Integer - - attr_accessor tap0_ip: String - - attr_accessor tap0_name: String - - attr_accessor vm_namespace: String - - def initialize: ( - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - ) -> void - - def to_hash: -> { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - :tap0_ip => String, - :tap0_name => String, - vm_namespace: String - } - end - - type state = :"Not started" | :Running | :Paused - - module State - extend Vers::Internal::Type::Enum - - NOT_STARTED: :"Not started" - RUNNING: :Running - PAUSED: :Paused - - def self?.values: -> ::Array[Vers::Models::API::VmListResponse::Data::state] - end - end - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::VmListResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/vm_patch_request.rbs b/sig/vers/models/api/vm_patch_request.rbs deleted file mode 100644 index a2f1414..0000000 --- a/sig/vers/models/api/vm_patch_request.rbs +++ /dev/null @@ -1,35 +0,0 @@ -module Vers - module Models - module API - type vm_patch_request = - { alias_: String?, state: Vers::Models::API::VmPatchRequest::state? } - - class VmPatchRequest < Vers::Internal::Type::BaseModel - attr_accessor alias_: String? - - attr_accessor state: Vers::Models::API::VmPatchRequest::state? - - def initialize: ( - ?alias_: String?, - ?state: Vers::Models::API::VmPatchRequest::state? - ) -> void - - def to_hash: -> { - alias_: String?, - state: Vers::Models::API::VmPatchRequest::state? - } - - type state = :Running | :Paused - - module State - extend Vers::Internal::Type::Enum - - RUNNING: :Running - PAUSED: :Paused - - def self?.values: -> ::Array[Vers::Models::API::VmPatchRequest::state] - end - end - end - end -end diff --git a/sig/vers/models/api/vm_retrieve_params.rbs b/sig/vers/models/api/vm_retrieve_params.rbs deleted file mode 100644 index b653a59..0000000 --- a/sig/vers/models/api/vm_retrieve_params.rbs +++ /dev/null @@ -1,16 +0,0 @@ -module Vers - module Models - module API - type vm_retrieve_params = { } & Vers::Internal::Type::request_parameters - - class VmRetrieveParams < Vers::Internal::Type::BaseModel - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/vm_retrieve_response.rbs b/sig/vers/models/api/vm_retrieve_response.rbs deleted file mode 100644 index 6d1b86b..0000000 --- a/sig/vers/models/api/vm_retrieve_response.rbs +++ /dev/null @@ -1,204 +0,0 @@ -module Vers - module Models - module API - type vm_retrieve_response = - { - data: Vers::Models::API::VmRetrieveResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmRetrieveResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class VmRetrieveResponse < Vers::Internal::Type::BaseModel - attr_accessor data: Vers::Models::API::VmRetrieveResponse::Data - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::VmRetrieveResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: Vers::Models::API::VmRetrieveResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmRetrieveResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: Vers::Models::API::VmRetrieveResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmRetrieveResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type data = - { - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::Models::API::VmRetrieveResponse::Data::NetworkInfo, - state: Vers::Models::API::VmRetrieveResponse::Data::state, - vcpu_count: Integer, - alias_: String?, - parent_id: String? - } - - class Data < Vers::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor children: ::Array[String] - - attr_accessor cluster_id: String - - attr_accessor fs_size_mib: Integer - - attr_accessor ip_address: String - - attr_accessor mem_size_mib: Integer - - attr_accessor network_info: Vers::Models::API::VmRetrieveResponse::Data::NetworkInfo - - attr_accessor state: Vers::Models::API::VmRetrieveResponse::Data::state - - attr_accessor vcpu_count: Integer - - attr_accessor alias_: String? - - attr_accessor parent_id: String? - - def initialize: ( - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::Models::API::VmRetrieveResponse::Data::NetworkInfo, - state: Vers::Models::API::VmRetrieveResponse::Data::state, - vcpu_count: Integer, - ?alias_: String?, - ?parent_id: String? - ) -> void - - def to_hash: -> { - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::Models::API::VmRetrieveResponse::Data::NetworkInfo, - state: Vers::Models::API::VmRetrieveResponse::Data::state, - vcpu_count: Integer, - alias_: String?, - parent_id: String? - } - - type network_info = - { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - :tap0_ip => String, - :tap0_name => String, - vm_namespace: String - } - - class NetworkInfo < Vers::Internal::Type::BaseModel - attr_accessor guest_ip: String - - attr_accessor guest_mac: String - - attr_accessor ssh_port: Integer - - attr_accessor tap0_ip: String - - attr_accessor tap0_name: String - - attr_accessor vm_namespace: String - - def initialize: ( - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - ) -> void - - def to_hash: -> { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - :tap0_ip => String, - :tap0_name => String, - vm_namespace: String - } - end - - type state = :"Not started" | :Running | :Paused - - module State - extend Vers::Internal::Type::Enum - - NOT_STARTED: :"Not started" - RUNNING: :Running - PAUSED: :Paused - - def self?.values: -> ::Array[Vers::Models::API::VmRetrieveResponse::Data::state] - end - end - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::VmRetrieveResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/api/vm_update_params.rbs b/sig/vers/models/api/vm_update_params.rbs deleted file mode 100644 index 1b111cf..0000000 --- a/sig/vers/models/api/vm_update_params.rbs +++ /dev/null @@ -1,16 +0,0 @@ -module Vers - module Models - module API - type vm_update_params = { } & Vers::Internal::Type::request_parameters - - class VmUpdateParams < Vers::Models::API::VmPatchRequest - extend Vers::Internal::Type::RequestParameters::Converter - include Vers::Internal::Type::RequestParameters - - def initialize: (?request_options: Vers::request_opts) -> void - - def to_hash: -> { request_options: Vers::RequestOptions } - end - end - end -end diff --git a/sig/vers/models/api/vm_update_response.rbs b/sig/vers/models/api/vm_update_response.rbs deleted file mode 100644 index 35030e4..0000000 --- a/sig/vers/models/api/vm_update_response.rbs +++ /dev/null @@ -1,204 +0,0 @@ -module Vers - module Models - module API - type vm_update_response = - { - data: Vers::Models::API::VmUpdateResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmUpdateResponse::operation_code, - operation_id: String, - time_start: Integer - } - - class VmUpdateResponse < Vers::Internal::Type::BaseModel - attr_accessor data: Vers::Models::API::VmUpdateResponse::Data - - attr_accessor duration_ns: Integer - - attr_accessor operation_code: Vers::Models::API::VmUpdateResponse::operation_code - - attr_accessor operation_id: String - - attr_accessor time_start: Integer - - def initialize: ( - data: Vers::Models::API::VmUpdateResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmUpdateResponse::operation_code, - operation_id: String, - time_start: Integer - ) -> void - - def to_hash: -> { - data: Vers::Models::API::VmUpdateResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmUpdateResponse::operation_code, - operation_id: String, - time_start: Integer - } - - type data = - { - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::Models::API::VmUpdateResponse::Data::NetworkInfo, - state: Vers::Models::API::VmUpdateResponse::Data::state, - vcpu_count: Integer, - alias_: String?, - parent_id: String? - } - - class Data < Vers::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor children: ::Array[String] - - attr_accessor cluster_id: String - - attr_accessor fs_size_mib: Integer - - attr_accessor ip_address: String - - attr_accessor mem_size_mib: Integer - - attr_accessor network_info: Vers::Models::API::VmUpdateResponse::Data::NetworkInfo - - attr_accessor state: Vers::Models::API::VmUpdateResponse::Data::state - - attr_accessor vcpu_count: Integer - - attr_accessor alias_: String? - - attr_accessor parent_id: String? - - def initialize: ( - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::Models::API::VmUpdateResponse::Data::NetworkInfo, - state: Vers::Models::API::VmUpdateResponse::Data::state, - vcpu_count: Integer, - ?alias_: String?, - ?parent_id: String? - ) -> void - - def to_hash: -> { - id: String, - children: ::Array[String], - cluster_id: String, - fs_size_mib: Integer, - ip_address: String, - mem_size_mib: Integer, - network_info: Vers::Models::API::VmUpdateResponse::Data::NetworkInfo, - state: Vers::Models::API::VmUpdateResponse::Data::state, - vcpu_count: Integer, - alias_: String?, - parent_id: String? - } - - type network_info = - { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - :tap0_ip => String, - :tap0_name => String, - vm_namespace: String - } - - class NetworkInfo < Vers::Internal::Type::BaseModel - attr_accessor guest_ip: String - - attr_accessor guest_mac: String - - attr_accessor ssh_port: Integer - - attr_accessor tap0_ip: String - - attr_accessor tap0_name: String - - attr_accessor vm_namespace: String - - def initialize: ( - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - tap0_ip: String, - tap0_name: String, - vm_namespace: String - ) -> void - - def to_hash: -> { - guest_ip: String, - guest_mac: String, - ssh_port: Integer, - :tap0_ip => String, - :tap0_name => String, - vm_namespace: String - } - end - - type state = :"Not started" | :Running | :Paused - - module State - extend Vers::Internal::Type::Enum - - NOT_STARTED: :"Not started" - RUNNING: :Running - PAUSED: :Paused - - def self?.values: -> ::Array[Vers::Models::API::VmUpdateResponse::Data::state] - end - end - - type operation_code = - :list_clusters - | :get_cluster - | :create_cluster - | :delete_cluster - | :update_cluster - | :get_cluster_ssh_key - | :list_vms - | :get_vm - | :update_vm - | :branch_vm - | :commit_vm - | :delete_vm - | :get_vm_ssh_key - | :upload_rootfs - | :delete_rootfs - | :list_rootfs - - module OperationCode - extend Vers::Internal::Type::Enum - - LIST_CLUSTERS: :list_clusters - GET_CLUSTER: :get_cluster - CREATE_CLUSTER: :create_cluster - DELETE_CLUSTER: :delete_cluster - UPDATE_CLUSTER: :update_cluster - GET_CLUSTER_SSH_KEY: :get_cluster_ssh_key - LIST_VMS: :list_vms - GET_VM: :get_vm - UPDATE_VM: :update_vm - BRANCH_VM: :branch_vm - COMMIT_VM: :commit_vm - DELETE_VM: :delete_vm - GET_VM_SSH_KEY: :get_vm_ssh_key - UPLOAD_ROOTFS: :upload_rootfs - DELETE_ROOTFS: :delete_rootfs - LIST_ROOTFS: :list_rootfs - - def self?.values: -> ::Array[Vers::Models::API::VmUpdateResponse::operation_code] - end - end - end - end -end diff --git a/sig/vers/models/error_response.rbs b/sig/vers/models/error_response.rbs new file mode 100644 index 0000000..d1af273 --- /dev/null +++ b/sig/vers/models/error_response.rbs @@ -0,0 +1,19 @@ +module Vers + module Models + type error_response = { error: String, success: bool } + + class ErrorResponse < Vers::Internal::Type::BaseModel + attr_reader error: String? + + def error=: (String) -> String + + attr_reader success: bool? + + def success=: (bool) -> bool + + def initialize: (?error: String, ?success: bool) -> void + + def to_hash: -> { error: String, success: bool } + end + end +end diff --git a/sig/vers/models/new_root_request.rbs b/sig/vers/models/new_root_request.rbs new file mode 100644 index 0000000..2d53d5a --- /dev/null +++ b/sig/vers/models/new_root_request.rbs @@ -0,0 +1,50 @@ +module Vers + module Models + type new_root_request = { vm_config: Vers::NewRootRequest::VmConfig } + + class NewRootRequest < Vers::Internal::Type::BaseModel + attr_accessor vm_config: Vers::NewRootRequest::VmConfig + + def initialize: (vm_config: Vers::NewRootRequest::VmConfig) -> void + + def to_hash: -> { vm_config: Vers::NewRootRequest::VmConfig } + + type vm_config = + { + fs_size_mib: Integer?, + image_name: String?, + kernel_name: String?, + mem_size_mib: Integer?, + vcpu_count: Integer? + } + + class VmConfig < Vers::Internal::Type::BaseModel + attr_accessor fs_size_mib: Integer? + + attr_accessor image_name: String? + + attr_accessor kernel_name: String? + + attr_accessor mem_size_mib: Integer? + + attr_accessor vcpu_count: Integer? + + def initialize: ( + ?fs_size_mib: Integer?, + ?image_name: String?, + ?kernel_name: String?, + ?mem_size_mib: Integer?, + ?vcpu_count: Integer? + ) -> void + + def to_hash: -> { + fs_size_mib: Integer?, + image_name: String?, + kernel_name: String?, + mem_size_mib: Integer?, + vcpu_count: Integer? + } + end + end + end +end diff --git a/sig/vers/models/new_vm_response.rbs b/sig/vers/models/new_vm_response.rbs new file mode 100644 index 0000000..79cdc30 --- /dev/null +++ b/sig/vers/models/new_vm_response.rbs @@ -0,0 +1,13 @@ +module Vers + module Models + type new_vm_response = { vm_id: String } + + class NewVmResponse < Vers::Internal::Type::BaseModel + attr_accessor vm_id: String + + def initialize: (vm_id: String) -> void + + def to_hash: -> { vm_id: String } + end + end +end diff --git a/sig/vers/models/vm.rbs b/sig/vers/models/vm.rbs new file mode 100644 index 0000000..7b2c0b1 --- /dev/null +++ b/sig/vers/models/vm.rbs @@ -0,0 +1,47 @@ +module Vers + module Models + type vm_api = + { + created_at: Time, + owner_id: String, + state: Vers::Models::VmAPI::state, + vm_id: String + } + + class VmAPI < Vers::Internal::Type::BaseModel + attr_accessor created_at: Time + + attr_accessor owner_id: String + + attr_accessor state: Vers::Models::VmAPI::state + + attr_accessor vm_id: String + + def initialize: ( + created_at: Time, + owner_id: String, + state: Vers::Models::VmAPI::state, + vm_id: String + ) -> void + + def to_hash: -> { + created_at: Time, + owner_id: String, + state: Vers::Models::VmAPI::state, + vm_id: String + } + + type state = :booting | :running | :paused + + module State + extend Vers::Internal::Type::Enum + + BOOTING: :booting + RUNNING: :running + PAUSED: :paused + + def self?.values: -> ::Array[Vers::Models::VmAPI::state] + end + end + end +end diff --git a/sig/vers/models/vm_branch_params.rbs b/sig/vers/models/vm_branch_params.rbs new file mode 100644 index 0000000..f9fb8d0 --- /dev/null +++ b/sig/vers/models/vm_branch_params.rbs @@ -0,0 +1,14 @@ +module Vers + module Models + type vm_branch_params = { } & Vers::Internal::Type::request_parameters + + class VmBranchParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + def initialize: (?request_options: Vers::request_opts) -> void + + def to_hash: -> { request_options: Vers::RequestOptions } + end + end +end diff --git a/sig/vers/models/vm_commit_params.rbs b/sig/vers/models/vm_commit_params.rbs new file mode 100644 index 0000000..def2106 --- /dev/null +++ b/sig/vers/models/vm_commit_params.rbs @@ -0,0 +1,32 @@ +module Vers + module Models + type vm_commit_params = + { keep_paused: bool, skip_wait_boot: bool } + & Vers::Internal::Type::request_parameters + + class VmCommitParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + attr_reader keep_paused: bool? + + def keep_paused=: (bool) -> bool + + attr_reader skip_wait_boot: bool? + + def skip_wait_boot=: (bool) -> bool + + def initialize: ( + ?keep_paused: bool, + ?skip_wait_boot: bool, + ?request_options: Vers::request_opts + ) -> void + + def to_hash: -> { + keep_paused: bool, + skip_wait_boot: bool, + request_options: Vers::RequestOptions + } + end + end +end diff --git a/sig/vers/models/vm_commit_response.rbs b/sig/vers/models/vm_commit_response.rbs new file mode 100644 index 0000000..e6be978 --- /dev/null +++ b/sig/vers/models/vm_commit_response.rbs @@ -0,0 +1,13 @@ +module Vers + module Models + type vm_commit_response = { commit_id: String } + + class VmCommitResponse < Vers::Internal::Type::BaseModel + attr_accessor commit_id: String + + def initialize: (commit_id: String) -> void + + def to_hash: -> { commit_id: String } + end + end +end diff --git a/sig/vers/models/vm_create_root_params.rbs b/sig/vers/models/vm_create_root_params.rbs new file mode 100644 index 0000000..041070b --- /dev/null +++ b/sig/vers/models/vm_create_root_params.rbs @@ -0,0 +1,22 @@ +module Vers + module Models + type vm_create_root_params = + { wait_boot: bool } & Vers::Internal::Type::request_parameters + + class VmCreateRootParams < Vers::Models::NewRootRequest + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + def wait_boot: -> bool? + + def wait_boot=: (bool _) -> bool + + def initialize: ( + ?wait_boot: bool, + ?request_options: Vers::request_opts + ) -> void + + def to_hash: -> { wait_boot: bool, request_options: Vers::RequestOptions } + end + end +end diff --git a/sig/vers/models/vm_delete_params.rbs b/sig/vers/models/vm_delete_params.rbs new file mode 100644 index 0000000..8664541 --- /dev/null +++ b/sig/vers/models/vm_delete_params.rbs @@ -0,0 +1,25 @@ +module Vers + module Models + type vm_delete_params = + { skip_wait_boot: bool } & Vers::Internal::Type::request_parameters + + class VmDeleteParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + attr_reader skip_wait_boot: bool? + + def skip_wait_boot=: (bool) -> bool + + def initialize: ( + ?skip_wait_boot: bool, + ?request_options: Vers::request_opts + ) -> void + + def to_hash: -> { + skip_wait_boot: bool, + request_options: Vers::RequestOptions + } + end + end +end diff --git a/sig/vers/models/vm_delete_response.rbs b/sig/vers/models/vm_delete_response.rbs new file mode 100644 index 0000000..bbb7bfc --- /dev/null +++ b/sig/vers/models/vm_delete_response.rbs @@ -0,0 +1,13 @@ +module Vers + module Models + type vm_delete_response = { vm_id: String } + + class VmDeleteResponse < Vers::Internal::Type::BaseModel + attr_accessor vm_id: String + + def initialize: (vm_id: String) -> void + + def to_hash: -> { vm_id: String } + end + end +end diff --git a/sig/vers/models/vm_from_commit_request.rbs b/sig/vers/models/vm_from_commit_request.rbs new file mode 100644 index 0000000..1a97ab0 --- /dev/null +++ b/sig/vers/models/vm_from_commit_request.rbs @@ -0,0 +1,13 @@ +module Vers + module Models + type vm_from_commit_request = { commit_id: String } + + class VmFromCommitRequest < Vers::Internal::Type::BaseModel + attr_accessor commit_id: String + + def initialize: (commit_id: String) -> void + + def to_hash: -> { commit_id: String } + end + end +end diff --git a/sig/vers/models/vm_get_ssh_key_params.rbs b/sig/vers/models/vm_get_ssh_key_params.rbs new file mode 100644 index 0000000..ec8298e --- /dev/null +++ b/sig/vers/models/vm_get_ssh_key_params.rbs @@ -0,0 +1,14 @@ +module Vers + module Models + type vm_get_ssh_key_params = { } & Vers::Internal::Type::request_parameters + + class VmGetSSHKeyParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + def initialize: (?request_options: Vers::request_opts) -> void + + def to_hash: -> { request_options: Vers::RequestOptions } + end + end +end diff --git a/sig/vers/models/vm_list_params.rbs b/sig/vers/models/vm_list_params.rbs new file mode 100644 index 0000000..2df5f15 --- /dev/null +++ b/sig/vers/models/vm_list_params.rbs @@ -0,0 +1,14 @@ +module Vers + module Models + type vm_list_params = { } & Vers::Internal::Type::request_parameters + + class VmListParams < Vers::Internal::Type::BaseModel + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + def initialize: (?request_options: Vers::request_opts) -> void + + def to_hash: -> { request_options: Vers::RequestOptions } + end + end +end diff --git a/sig/vers/models/vm_list_response.rbs b/sig/vers/models/vm_list_response.rbs new file mode 100644 index 0000000..f0c8b87 --- /dev/null +++ b/sig/vers/models/vm_list_response.rbs @@ -0,0 +1,7 @@ +module Vers + module Models + type vm_list_response = ::Array[Vers::VmAPI] + + VmListResponse: Vers::Internal::Type::Converter + end +end diff --git a/sig/vers/models/vm_restore_from_commit_params.rbs b/sig/vers/models/vm_restore_from_commit_params.rbs new file mode 100644 index 0000000..7e795ae --- /dev/null +++ b/sig/vers/models/vm_restore_from_commit_params.rbs @@ -0,0 +1,15 @@ +module Vers + module Models + type vm_restore_from_commit_params = + { } & Vers::Internal::Type::request_parameters + + class VmRestoreFromCommitParams < Vers::Models::VmFromCommitRequest + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + def initialize: (?request_options: Vers::request_opts) -> void + + def to_hash: -> { request_options: Vers::RequestOptions } + end + end +end diff --git a/sig/vers/models/vm_ssh_key_response.rbs b/sig/vers/models/vm_ssh_key_response.rbs new file mode 100644 index 0000000..0fa28d1 --- /dev/null +++ b/sig/vers/models/vm_ssh_key_response.rbs @@ -0,0 +1,15 @@ +module Vers + module Models + type vm_ssh_key_response = { ssh_port: Integer, ssh_private_key: String } + + class VmSSHKeyResponse < Vers::Internal::Type::BaseModel + attr_accessor ssh_port: Integer + + attr_accessor ssh_private_key: String + + def initialize: (ssh_port: Integer, ssh_private_key: String) -> void + + def to_hash: -> { ssh_port: Integer, ssh_private_key: String } + end + end +end diff --git a/sig/vers/models/vm_update_state_params.rbs b/sig/vers/models/vm_update_state_params.rbs new file mode 100644 index 0000000..ced1000 --- /dev/null +++ b/sig/vers/models/vm_update_state_params.rbs @@ -0,0 +1,25 @@ +module Vers + module Models + type vm_update_state_params = + { skip_wait_boot: bool } & Vers::Internal::Type::request_parameters + + class VmUpdateStateParams < Vers::Models::VmUpdateStateRequest + extend Vers::Internal::Type::RequestParameters::Converter + include Vers::Internal::Type::RequestParameters + + def skip_wait_boot: -> bool? + + def skip_wait_boot=: (bool _) -> bool + + def initialize: ( + ?skip_wait_boot: bool, + ?request_options: Vers::request_opts + ) -> void + + def to_hash: -> { + skip_wait_boot: bool, + request_options: Vers::RequestOptions + } + end + end +end diff --git a/sig/vers/models/vm_update_state_request.rbs b/sig/vers/models/vm_update_state_request.rbs new file mode 100644 index 0000000..4d64cc9 --- /dev/null +++ b/sig/vers/models/vm_update_state_request.rbs @@ -0,0 +1,25 @@ +module Vers + module Models + type vm_update_state_request = + { state: Vers::Models::VmUpdateStateRequest::state } + + class VmUpdateStateRequest < Vers::Internal::Type::BaseModel + attr_accessor state: Vers::Models::VmUpdateStateRequest::state + + def initialize: (state: Vers::Models::VmUpdateStateRequest::state) -> void + + def to_hash: -> { state: Vers::Models::VmUpdateStateRequest::state } + + type state = :Paused | :Running + + module State + extend Vers::Internal::Type::Enum + + PAUSED: :Paused + RUNNING: :Running + + def self?.values: -> ::Array[Vers::Models::VmUpdateStateRequest::state] + end + end + end +end diff --git a/sig/vers/resources/api.rbs b/sig/vers/resources/api.rbs deleted file mode 100644 index 65054b8..0000000 --- a/sig/vers/resources/api.rbs +++ /dev/null @@ -1,17 +0,0 @@ -module Vers - module Resources - class API - attr_reader cluster: Vers::Resources::API::Cluster - - attr_reader vm: Vers::Resources::API::Vm - - attr_reader rootfs: Vers::Resources::API::Rootfs - - attr_reader health: Vers::Resources::API::Health - - attr_reader telemetry: Vers::Resources::API::Telemetry - - def initialize: (client: Vers::Client) -> void - end - end -end diff --git a/sig/vers/resources/api/cluster.rbs b/sig/vers/resources/api/cluster.rbs deleted file mode 100644 index fe1c03e..0000000 --- a/sig/vers/resources/api/cluster.rbs +++ /dev/null @@ -1,39 +0,0 @@ -module Vers - module Resources - class API - class Cluster - def create: ( - cluster_create_request: Vers::Models::API::ClusterCreateRequest, - ?request_options: Vers::request_opts - ) -> Vers::Models::API::ClusterCreateResponse - - def retrieve: ( - String cluster_id_or_alias, - ?request_options: Vers::request_opts - ) -> Vers::Models::API::ClusterRetrieveResponse - - def update: ( - String cluster_id_or_alias, - ?alias_: String?, - ?request_options: Vers::request_opts - ) -> Vers::Models::API::ClusterUpdateResponse - - def list: ( - ?request_options: Vers::request_opts - ) -> Vers::Models::API::ClusterListResponse - - def delete: ( - String cluster_id_or_alias, - ?request_options: Vers::request_opts - ) -> Vers::Models::API::ClusterDeleteResponse - - def get_ssh_key: ( - String cluster_id_or_alias, - ?request_options: Vers::request_opts - ) -> Vers::Models::API::ClusterGetSSHKeyResponse - - def initialize: (client: Vers::Client) -> void - end - end - end -end diff --git a/sig/vers/resources/api/health.rbs b/sig/vers/resources/api/health.rbs deleted file mode 100644 index 86c74bb..0000000 --- a/sig/vers/resources/api/health.rbs +++ /dev/null @@ -1,11 +0,0 @@ -module Vers - module Resources - class API - class Health - def check: (?request_options: Vers::request_opts) -> String - - def initialize: (client: Vers::Client) -> void - end - end - end -end diff --git a/sig/vers/resources/api/rootfs.rbs b/sig/vers/resources/api/rootfs.rbs deleted file mode 100644 index baffb8a..0000000 --- a/sig/vers/resources/api/rootfs.rbs +++ /dev/null @@ -1,24 +0,0 @@ -module Vers - module Resources - class API - class Rootfs - def list: ( - ?request_options: Vers::request_opts - ) -> Vers::Models::API::RootfListResponse - - def delete: ( - String rootfs_id, - ?request_options: Vers::request_opts - ) -> Vers::Models::API::RootfDeleteResponse - - def upload: ( - String rootfs_id, - ?dockerfile: String, - ?request_options: Vers::request_opts - ) -> Vers::Models::API::RootfUploadResponse - - def initialize: (client: Vers::Client) -> void - end - end - end -end diff --git a/sig/vers/resources/api/telemetry.rbs b/sig/vers/resources/api/telemetry.rbs deleted file mode 100644 index e6bd782..0000000 --- a/sig/vers/resources/api/telemetry.rbs +++ /dev/null @@ -1,13 +0,0 @@ -module Vers - module Resources - class API - class Telemetry - def get_info: ( - ?request_options: Vers::request_opts - ) -> Vers::API::TelemetryDto - - def initialize: (client: Vers::Client) -> void - end - end - end -end diff --git a/sig/vers/resources/api/vm.rbs b/sig/vers/resources/api/vm.rbs deleted file mode 100644 index 7414ebc..0000000 --- a/sig/vers/resources/api/vm.rbs +++ /dev/null @@ -1,48 +0,0 @@ -module Vers - module Resources - class API - class Vm - def retrieve: ( - String vm_id_or_alias, - ?request_options: Vers::request_opts - ) -> Vers::Models::API::VmRetrieveResponse - - def update: ( - String vm_id_or_alias, - ?alias_: String?, - ?state: Vers::Models::API::VmPatchRequest::state?, - ?request_options: Vers::request_opts - ) -> Vers::Models::API::VmUpdateResponse - - def list: ( - ?request_options: Vers::request_opts - ) -> Vers::Models::API::VmListResponse - - def delete: ( - String vm_id_or_alias, - recursive: bool, - ?request_options: Vers::request_opts - ) -> Vers::Models::API::VmDeleteResponse - - def branch: ( - String vm_id_or_alias, - ?alias_: String?, - ?request_options: Vers::request_opts - ) -> Vers::Models::API::VmBranchResponse - - def commit: ( - String vm_id_or_alias, - ?tags: ::Array[String]?, - ?request_options: Vers::request_opts - ) -> Vers::Models::API::VmCommitResponse - - def get_ssh_key: ( - String vm_id_or_alias, - ?request_options: Vers::request_opts - ) -> Vers::Models::API::VmGetSSHKeyResponse - - def initialize: (client: Vers::Client) -> void - end - end - end -end diff --git a/sig/vers/resources/vm.rbs b/sig/vers/resources/vm.rbs new file mode 100644 index 0000000..5cb4da0 --- /dev/null +++ b/sig/vers/resources/vm.rbs @@ -0,0 +1,52 @@ +module Vers + module Resources + class Vm + def list: ( + ?request_options: Vers::request_opts + ) -> Vers::Models::vm_list_response + + def delete: ( + String vm_id, + ?skip_wait_boot: bool, + ?request_options: Vers::request_opts + ) -> Vers::VmDeleteResponse + + def branch: ( + String vm_id, + ?request_options: Vers::request_opts + ) -> Vers::NewVmResponse + + def commit: ( + String vm_id, + ?keep_paused: bool, + ?skip_wait_boot: bool, + ?request_options: Vers::request_opts + ) -> Vers::VmCommitResponse + + def create_root: ( + vm_config: Vers::NewRootRequest::VmConfig, + ?wait_boot: bool, + ?request_options: Vers::request_opts + ) -> Vers::NewVmResponse + + def get_ssh_key: ( + String vm_id, + ?request_options: Vers::request_opts + ) -> Vers::VmSSHKeyResponse + + def restore_from_commit: ( + commit_id: String, + ?request_options: Vers::request_opts + ) -> Vers::NewVmResponse + + def update_state: ( + String vm_id, + state: Vers::Models::VmUpdateStateRequest::state, + ?skip_wait_boot: bool, + ?request_options: Vers::request_opts + ) -> nil + + def initialize: (client: Vers::Client) -> void + end + end +end diff --git a/test/vers/client_test.rb b/test/vers/client_test.rb index 0ae68bc..c667015 100644 --- a/test/vers/client_test.rb +++ b/test/vers/client_test.rb @@ -28,55 +28,55 @@ def after_all end def test_client_default_request_default_retry_attempts - stub_request(:get, "http://localhost/api/cluster").to_return_json(status: 500, body: {}) + stub_request(:post, "http://localhost/vm/new_root").to_return_json(status: 500, body: {}) vers = Vers::Client.new(base_url: "http://localhost", api_key: "My API Key") assert_raises(Vers::Errors::InternalServerError) do - vers.api.cluster.list + vers.vm.create_root(vm_config: {}) end assert_requested(:any, /./, times: 3) end def test_client_given_request_default_retry_attempts - stub_request(:get, "http://localhost/api/cluster").to_return_json(status: 500, body: {}) + stub_request(:post, "http://localhost/vm/new_root").to_return_json(status: 500, body: {}) vers = Vers::Client.new(base_url: "http://localhost", api_key: "My API Key", max_retries: 3) assert_raises(Vers::Errors::InternalServerError) do - vers.api.cluster.list + vers.vm.create_root(vm_config: {}) end assert_requested(:any, /./, times: 4) end def test_client_default_request_given_retry_attempts - stub_request(:get, "http://localhost/api/cluster").to_return_json(status: 500, body: {}) + stub_request(:post, "http://localhost/vm/new_root").to_return_json(status: 500, body: {}) vers = Vers::Client.new(base_url: "http://localhost", api_key: "My API Key") assert_raises(Vers::Errors::InternalServerError) do - vers.api.cluster.list(request_options: {max_retries: 3}) + vers.vm.create_root(vm_config: {}, request_options: {max_retries: 3}) end assert_requested(:any, /./, times: 4) end def test_client_given_request_given_retry_attempts - stub_request(:get, "http://localhost/api/cluster").to_return_json(status: 500, body: {}) + stub_request(:post, "http://localhost/vm/new_root").to_return_json(status: 500, body: {}) vers = Vers::Client.new(base_url: "http://localhost", api_key: "My API Key", max_retries: 3) assert_raises(Vers::Errors::InternalServerError) do - vers.api.cluster.list(request_options: {max_retries: 4}) + vers.vm.create_root(vm_config: {}, request_options: {max_retries: 4}) end assert_requested(:any, /./, times: 5) end def test_client_retry_after_seconds - stub_request(:get, "http://localhost/api/cluster").to_return_json( + stub_request(:post, "http://localhost/vm/new_root").to_return_json( status: 500, headers: {"retry-after" => "1.3"}, body: {} @@ -85,7 +85,7 @@ def test_client_retry_after_seconds vers = Vers::Client.new(base_url: "http://localhost", api_key: "My API Key", max_retries: 1) assert_raises(Vers::Errors::InternalServerError) do - vers.api.cluster.list + vers.vm.create_root(vm_config: {}) end assert_requested(:any, /./, times: 2) @@ -93,7 +93,7 @@ def test_client_retry_after_seconds end def test_client_retry_after_date - stub_request(:get, "http://localhost/api/cluster").to_return_json( + stub_request(:post, "http://localhost/vm/new_root").to_return_json( status: 500, headers: {"retry-after" => (Time.now + 10).httpdate}, body: {} @@ -103,7 +103,7 @@ def test_client_retry_after_date assert_raises(Vers::Errors::InternalServerError) do Thread.current.thread_variable_set(:time_now, Time.now) - vers.api.cluster.list + vers.vm.create_root(vm_config: {}) Thread.current.thread_variable_set(:time_now, nil) end @@ -112,7 +112,7 @@ def test_client_retry_after_date end def test_client_retry_after_ms - stub_request(:get, "http://localhost/api/cluster").to_return_json( + stub_request(:post, "http://localhost/vm/new_root").to_return_json( status: 500, headers: {"retry-after-ms" => "1300"}, body: {} @@ -121,7 +121,7 @@ def test_client_retry_after_ms vers = Vers::Client.new(base_url: "http://localhost", api_key: "My API Key", max_retries: 1) assert_raises(Vers::Errors::InternalServerError) do - vers.api.cluster.list + vers.vm.create_root(vm_config: {}) end assert_requested(:any, /./, times: 2) @@ -129,12 +129,12 @@ def test_client_retry_after_ms end def test_retry_count_header - stub_request(:get, "http://localhost/api/cluster").to_return_json(status: 500, body: {}) + stub_request(:post, "http://localhost/vm/new_root").to_return_json(status: 500, body: {}) vers = Vers::Client.new(base_url: "http://localhost", api_key: "My API Key") assert_raises(Vers::Errors::InternalServerError) do - vers.api.cluster.list + vers.vm.create_root(vm_config: {}) end 3.times do @@ -143,12 +143,12 @@ def test_retry_count_header end def test_omit_retry_count_header - stub_request(:get, "http://localhost/api/cluster").to_return_json(status: 500, body: {}) + stub_request(:post, "http://localhost/vm/new_root").to_return_json(status: 500, body: {}) vers = Vers::Client.new(base_url: "http://localhost", api_key: "My API Key") assert_raises(Vers::Errors::InternalServerError) do - vers.api.cluster.list(request_options: {extra_headers: {"x-stainless-retry-count" => nil}}) + vers.vm.create_root(vm_config: {}, request_options: {extra_headers: {"x-stainless-retry-count" => nil}}) end assert_requested(:any, /./, times: 3) do @@ -157,19 +157,22 @@ def test_omit_retry_count_header end def test_overwrite_retry_count_header - stub_request(:get, "http://localhost/api/cluster").to_return_json(status: 500, body: {}) + stub_request(:post, "http://localhost/vm/new_root").to_return_json(status: 500, body: {}) vers = Vers::Client.new(base_url: "http://localhost", api_key: "My API Key") assert_raises(Vers::Errors::InternalServerError) do - vers.api.cluster.list(request_options: {extra_headers: {"x-stainless-retry-count" => "42"}}) + vers.vm.create_root( + vm_config: {}, + request_options: {extra_headers: {"x-stainless-retry-count" => "42"}} + ) end assert_requested(:any, /./, headers: {"x-stainless-retry-count" => "42"}, times: 3) end def test_client_redirect_307 - stub_request(:get, "http://localhost/api/cluster").to_return_json( + stub_request(:post, "http://localhost/vm/new_root").to_return_json( status: 307, headers: {"location" => "/redirected"}, body: {} @@ -182,7 +185,7 @@ def test_client_redirect_307 vers = Vers::Client.new(base_url: "http://localhost", api_key: "My API Key") assert_raises(Vers::Errors::APIConnectionError) do - vers.api.cluster.list(request_options: {extra_headers: {}}) + vers.vm.create_root(vm_config: {}, request_options: {extra_headers: {}}) end recorded, = WebMock::RequestRegistry.instance.requested_signatures.hash.first @@ -198,7 +201,7 @@ def test_client_redirect_307 end def test_client_redirect_303 - stub_request(:get, "http://localhost/api/cluster").to_return_json( + stub_request(:post, "http://localhost/vm/new_root").to_return_json( status: 303, headers: {"location" => "/redirected"}, body: {} @@ -211,7 +214,7 @@ def test_client_redirect_303 vers = Vers::Client.new(base_url: "http://localhost", api_key: "My API Key") assert_raises(Vers::Errors::APIConnectionError) do - vers.api.cluster.list(request_options: {extra_headers: {}}) + vers.vm.create_root(vm_config: {}, request_options: {extra_headers: {}}) end assert_requested(:get, "http://localhost/redirected", times: Vers::Client::MAX_REDIRECTS) do @@ -222,7 +225,7 @@ def test_client_redirect_303 end def test_client_redirect_auth_keep_same_origin - stub_request(:get, "http://localhost/api/cluster").to_return_json( + stub_request(:post, "http://localhost/vm/new_root").to_return_json( status: 307, headers: {"location" => "/redirected"}, body: {} @@ -235,7 +238,7 @@ def test_client_redirect_auth_keep_same_origin vers = Vers::Client.new(base_url: "http://localhost", api_key: "My API Key") assert_raises(Vers::Errors::APIConnectionError) do - vers.api.cluster.list(request_options: {extra_headers: {"authorization" => "Bearer xyz"}}) + vers.vm.create_root(vm_config: {}, request_options: {extra_headers: {"authorization" => "Bearer xyz"}}) end recorded, = WebMock::RequestRegistry.instance.requested_signatures.hash.first @@ -249,7 +252,7 @@ def test_client_redirect_auth_keep_same_origin end def test_client_redirect_auth_strip_cross_origin - stub_request(:get, "http://localhost/api/cluster").to_return_json( + stub_request(:post, "http://localhost/vm/new_root").to_return_json( status: 307, headers: {"location" => "https://example.com/redirected"}, body: {} @@ -262,7 +265,7 @@ def test_client_redirect_auth_strip_cross_origin vers = Vers::Client.new(base_url: "http://localhost", api_key: "My API Key") assert_raises(Vers::Errors::APIConnectionError) do - vers.api.cluster.list(request_options: {extra_headers: {"authorization" => "Bearer xyz"}}) + vers.vm.create_root(vm_config: {}, request_options: {extra_headers: {"authorization" => "Bearer xyz"}}) end assert_requested(:any, "https://example.com/redirected", times: Vers::Client::MAX_REDIRECTS) do @@ -272,11 +275,11 @@ def test_client_redirect_auth_strip_cross_origin end def test_default_headers - stub_request(:get, "http://localhost/api/cluster").to_return_json(status: 200, body: {}) + stub_request(:post, "http://localhost/vm/new_root").to_return_json(status: 200, body: {}) vers = Vers::Client.new(base_url: "http://localhost", api_key: "My API Key") - vers.api.cluster.list + vers.vm.create_root(vm_config: {}) assert_requested(:any, /./) do |req| headers = req.headers.transform_keys(&:downcase).fetch_values("accept", "content-type") diff --git a/test/vers/internal/type/base_model_test.rb b/test/vers/internal/type/base_model_test.rb index 8e284ad..0899675 100644 --- a/test/vers/internal/type/base_model_test.rb +++ b/test/vers/internal/type/base_model_test.rb @@ -157,6 +157,7 @@ def test_dump_retry class Vers::Test::EnumModelTest < Minitest::Test class E0 include Vers::Internal::Type::Enum + attr_reader :values def initialize(*values) = (@values = values) @@ -476,6 +477,7 @@ def initialize(*variants) = variants.each { variant(_1) } module U1 extend Vers::Internal::Type::Union + variant const: :a variant const: 2 end @@ -492,6 +494,7 @@ class M2 < Vers::Internal::Type::BaseModel module U2 extend Vers::Internal::Type::Union + discriminator :type variant :a, M1 @@ -500,6 +503,7 @@ module U2 module U3 extend Vers::Internal::Type::Union + discriminator :type variant :a, M1 @@ -508,6 +512,7 @@ module U3 module U4 extend Vers::Internal::Type::Union + discriminator :type variant String @@ -601,6 +606,7 @@ def test_coerce class Vers::Test::BaseModelQoLTest < Minitest::Test class E0 include Vers::Internal::Type::Enum + attr_reader :values def initialize(*values) = (@values = values) @@ -687,3 +693,35 @@ def test_equality end end end + +class Vers::Test::MetaInfoTest < Minitest::Test + A1 = Vers::Internal::Type::ArrayOf[Integer, nil?: true, doc: "dog"] + H1 = Vers::Internal::Type::HashOf[-> { String }, nil?: true, doc: "dawg"] + + class M1 < Vers::Internal::Type::BaseModel + required :a, Integer, doc: "dog" + optional :b, -> { String }, nil?: true, doc: "dawg" + end + + module U1 + extend Vers::Internal::Type::Union + + variant -> { Integer }, const: 2, doc: "dog" + variant -> { String }, doc: "dawg" + end + + def test_meta_retrieval + m1 = A1.instance_variable_get(:@meta) + m2 = H1.instance_variable_get(:@meta) + assert_equal({doc: "dog"}, m1) + assert_equal({doc: "dawg"}, m2) + + ma, mb = M1.fields.fetch_values(:a, :b) + assert_equal({doc: "dog"}, ma.fetch(:meta)) + assert_equal({doc: "dawg"}, mb.fetch(:meta)) + + ua, ub = U1.send(:known_variants).map(&:last) + assert_equal({doc: "dog"}, ua) + assert_equal({doc: "dawg"}, ub) + end +end diff --git a/test/vers/internal/util_test.rb b/test/vers/internal/util_test.rb index 1ae9d19..2dbd6ad 100644 --- a/test/vers/internal/util_test.rb +++ b/test/vers/internal/util_test.rb @@ -124,6 +124,14 @@ def test_joining path: "/c", query: {"d" => ["e"]} } + ], + [ + "h://a.b/c?d=e", + "h://nope", + { + path: "h://a.b/c", + query: {"d" => ["e"]} + } ] ] @@ -213,22 +221,38 @@ def env_table end end + def test_encoding_length + headers, = Vers::Internal::Util.encode_content( + {"content-type" => "multipart/form-data"}, + Pathname(__FILE__) + ) + assert_pattern do + headers.fetch("content-type") => /boundary=(.+)$/ + end + field, = Regexp.last_match.captures + assert(field.length < 70 - 6) + end + def test_file_encode file = Pathname(__FILE__) + fileinput = Vers::Internal::Type::Converter.dump(Vers::Internal::Type::FileInput, "abc") headers = {"content-type" => "multipart/form-data"} cases = { - "abc" => "abc", - StringIO.new("abc") => "abc", - Vers::FilePart.new("abc") => "abc", - Vers::FilePart.new(StringIO.new("abc")) => "abc", - file => /^class Vers/, - Vers::FilePart.new(file) => /^class Vers/ + "abc" => ["", "abc"], + StringIO.new("abc") => ["", "abc"], + fileinput => %w[upload abc], + Vers::FilePart.new(StringIO.new("abc")) => ["", "abc"], + file => [file.basename.to_path, /^class Vers/], + Vers::FilePart.new(file, filename: "d o g") => ["d%20o%20g", /^class Vers/] } - cases.each do |body, val| + cases.each do |body, testcase| + filename, val = testcase encoded = Vers::Internal::Util.encode_content(headers, body) cgi = FakeCGI.new(*encoded) + io = cgi[""] assert_pattern do - cgi[""].read => ^val + io.original_filename => ^filename + io.read => ^val end end end @@ -249,7 +273,14 @@ def test_hash_encode cgi = FakeCGI.new(*encoded) testcase.each do |key, val| assert_pattern do - cgi[key] => ^val + parsed = + case (p = cgi[key]) + in StringIO + p.read + else + p + end + parsed => ^val end end end @@ -287,6 +318,54 @@ def test_copy_write end class Vers::Test::UtilFusedEnumTest < Minitest::Test + def test_rewind_closing + touched = false + once = 0 + steps = 0 + enum = Enumerator.new do |y| + next if touched + + 10.times do + steps = _1 + y << _1 + end + ensure + once = once.succ + end + + fused = Vers::Internal::Util.fused_enum(enum, external: true) do + touched = true + loop { enum.next } + end + Vers::Internal::Util.close_fused!(fused) + + assert_equal(1, once) + assert_equal(0, steps) + end + + def test_thread_interrupts + once = 0 + que = Queue.new + enum = Enumerator.new do |y| + 10.times { y << _1 } + ensure + once = once.succ + end + + fused_1 = Vers::Internal::Util.fused_enum(enum, external: true) { loop { enum.next } } + fused_2 = Vers::Internal::Util.chain_fused(fused_1) { fused_1.each(&_1) } + fused_3 = Vers::Internal::Util.chain_fused(fused_2) { fused_2.each(&_1) } + + th = ::Thread.new do + que << "🐶" + fused_3.each { sleep(10) } + end + + assert_equal("🐶", que.pop) + th.kill.join + assert_equal(1, once) + end + def test_closing arr = [1, 2, 3] once = 0 @@ -320,9 +399,9 @@ def test_rewind_chain end def test_external_iteration - it = [1, 2, 3].to_enum - first = it.next - fused = Vers::Internal::Util.fused_enum(it, external: true) + iter = [1, 2, 3].to_enum + first = iter.next + fused = Vers::Internal::Util.fused_enum(iter, external: true) assert_equal(1, first) assert_equal([2, 3], fused.to_a) diff --git a/test/vers/resource_namespaces.rb b/test/vers/resource_namespaces.rb index fa32438..a11f03e 100644 --- a/test/vers/resource_namespaces.rb +++ b/test/vers/resource_namespaces.rb @@ -3,8 +3,6 @@ module Vers module Test module Resources - module API - end end end end diff --git a/test/vers/resources/api/cluster_test.rb b/test/vers/resources/api/cluster_test.rb deleted file mode 100644 index 3aa2178..0000000 --- a/test/vers/resources/api/cluster_test.rb +++ /dev/null @@ -1,125 +0,0 @@ -# frozen_string_literal: true - -require_relative "../../test_helper" - -class Vers::Test::Resources::API::ClusterTest < Vers::Test::ResourceTest - def test_create_required_params - skip("skipped: tests are disabled for the time being") - - response = @vers.api.cluster.create(cluster_type: :new, params: {}) - - assert_pattern do - response => Vers::Models::API::ClusterCreateResponse - end - - assert_pattern do - response => { - data: Vers::Models::API::ClusterCreateResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterCreateResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end - - def test_retrieve - skip("skipped: tests are disabled for the time being") - - response = @vers.api.cluster.retrieve("cluster_id_or_alias") - - assert_pattern do - response => Vers::Models::API::ClusterRetrieveResponse - end - - assert_pattern do - response => { - data: Vers::Models::API::ClusterRetrieveResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterRetrieveResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end - - def test_update - skip("skipped: tests are disabled for the time being") - - response = @vers.api.cluster.update("cluster_id_or_alias") - - assert_pattern do - response => Vers::Models::API::ClusterUpdateResponse - end - - assert_pattern do - response => { - data: Vers::Models::API::ClusterUpdateResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterUpdateResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end - - def test_list - skip("skipped: tests are disabled for the time being") - - response = @vers.api.cluster.list - - assert_pattern do - response => Vers::Models::API::ClusterListResponse - end - - assert_pattern do - response => { - data: ^(Vers::Internal::Type::ArrayOf[Vers::Models::API::ClusterListResponse::Data]), - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterListResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end - - def test_delete - skip("skipped: tests are disabled for the time being") - - response = @vers.api.cluster.delete("cluster_id_or_alias") - - assert_pattern do - response => Vers::Models::API::ClusterDeleteResponse - end - - assert_pattern do - response => { - data: Vers::Models::API::ClusterDeleteResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterDeleteResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end - - def test_get_ssh_key - skip("skipped: tests are disabled for the time being") - - response = @vers.api.cluster.get_ssh_key("cluster_id_or_alias") - - assert_pattern do - response => Vers::Models::API::ClusterGetSSHKeyResponse - end - - assert_pattern do - response => { - data: String, - duration_ns: Integer, - operation_code: Vers::Models::API::ClusterGetSSHKeyResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end -end diff --git a/test/vers/resources/api/health_test.rb b/test/vers/resources/api/health_test.rb deleted file mode 100644 index 93e457a..0000000 --- a/test/vers/resources/api/health_test.rb +++ /dev/null @@ -1,15 +0,0 @@ -# frozen_string_literal: true - -require_relative "../../test_helper" - -class Vers::Test::Resources::API::HealthTest < Vers::Test::ResourceTest - def test_check - skip("skipped: tests are disabled for the time being") - - response = @vers.api.health.check - - assert_pattern do - response => String - end - end -end diff --git a/test/vers/resources/api/rootfs_test.rb b/test/vers/resources/api/rootfs_test.rb deleted file mode 100644 index 942c73a..0000000 --- a/test/vers/resources/api/rootfs_test.rb +++ /dev/null @@ -1,65 +0,0 @@ -# frozen_string_literal: true - -require_relative "../../test_helper" - -class Vers::Test::Resources::API::RootfsTest < Vers::Test::ResourceTest - def test_list - skip("skipped: tests are disabled for the time being") - - response = @vers.api.rootfs.list - - assert_pattern do - response => Vers::Models::API::RootfListResponse - end - - assert_pattern do - response => { - data: Vers::Models::API::RootfListResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::RootfListResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end - - def test_delete - skip("skipped: tests are disabled for the time being") - - response = @vers.api.rootfs.delete("rootfs_id") - - assert_pattern do - response => Vers::Models::API::RootfDeleteResponse - end - - assert_pattern do - response => { - data: Vers::Models::API::RootfDeleteResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::RootfDeleteResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end - - def test_upload - skip("skipped: tests are disabled for the time being") - - response = @vers.api.rootfs.upload("rootfs_id") - - assert_pattern do - response => Vers::Models::API::RootfUploadResponse - end - - assert_pattern do - response => { - data: Vers::Models::API::RootfUploadResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::RootfUploadResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end -end diff --git a/test/vers/resources/api/telemetry_test.rb b/test/vers/resources/api/telemetry_test.rb deleted file mode 100644 index 61c26ee..0000000 --- a/test/vers/resources/api/telemetry_test.rb +++ /dev/null @@ -1,29 +0,0 @@ -# frozen_string_literal: true - -require_relative "../../test_helper" - -class Vers::Test::Resources::API::TelemetryTest < Vers::Test::ResourceTest - def test_get_info - skip("skipped: tests are disabled for the time being") - - response = @vers.api.telemetry.get_info - - assert_pattern do - response => Vers::API::TelemetryDto - end - - assert_pattern do - response => { - id: String, - fs_mib_current: Integer, - fs_mib_max: Integer, - mem_mib_current: Integer, - mem_mib_max: Integer, - vcpu_current: Integer, - vcpu_max: Integer, - vm_network_count_in_use: Integer, - vm_network_count_total: Integer - } - end - end -end diff --git a/test/vers/resources/api/vm_test.rb b/test/vers/resources/api/vm_test.rb deleted file mode 100644 index f830d3a..0000000 --- a/test/vers/resources/api/vm_test.rb +++ /dev/null @@ -1,145 +0,0 @@ -# frozen_string_literal: true - -require_relative "../../test_helper" - -class Vers::Test::Resources::API::VmTest < Vers::Test::ResourceTest - def test_retrieve - skip("skipped: tests are disabled for the time being") - - response = @vers.api.vm.retrieve("vm_id_or_alias") - - assert_pattern do - response => Vers::Models::API::VmRetrieveResponse - end - - assert_pattern do - response => { - data: Vers::Models::API::VmRetrieveResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmRetrieveResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end - - def test_update - skip("skipped: tests are disabled for the time being") - - response = @vers.api.vm.update("vm_id_or_alias") - - assert_pattern do - response => Vers::Models::API::VmUpdateResponse - end - - assert_pattern do - response => { - data: Vers::Models::API::VmUpdateResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmUpdateResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end - - def test_list - skip("skipped: tests are disabled for the time being") - - response = @vers.api.vm.list - - assert_pattern do - response => Vers::Models::API::VmListResponse - end - - assert_pattern do - response => { - data: ^(Vers::Internal::Type::ArrayOf[Vers::Models::API::VmListResponse::Data]), - duration_ns: Integer, - operation_code: Vers::Models::API::VmListResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end - - def test_delete_required_params - skip("skipped: tests are disabled for the time being") - - response = @vers.api.vm.delete("vm_id_or_alias", recursive: true) - - assert_pattern do - response => Vers::Models::API::VmDeleteResponse - end - - assert_pattern do - response => { - data: Vers::Models::API::VmDeleteResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmDeleteResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end - - def test_branch - skip("skipped: tests are disabled for the time being") - - response = @vers.api.vm.branch("vm_id_or_alias") - - assert_pattern do - response => Vers::Models::API::VmBranchResponse - end - - assert_pattern do - response => { - data: Vers::Models::API::VmBranchResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmBranchResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end - - def test_commit - skip("skipped: tests are disabled for the time being") - - response = @vers.api.vm.commit("vm_id_or_alias") - - assert_pattern do - response => Vers::Models::API::VmCommitResponse - end - - assert_pattern do - response => { - data: Vers::Models::API::VmCommitResponse::Data, - duration_ns: Integer, - operation_code: Vers::Models::API::VmCommitResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end - - def test_get_ssh_key - skip("skipped: tests are disabled for the time being") - - response = @vers.api.vm.get_ssh_key("vm_id_or_alias") - - assert_pattern do - response => Vers::Models::API::VmGetSSHKeyResponse - end - - assert_pattern do - response => { - data: String, - duration_ns: Integer, - operation_code: Vers::Models::API::VmGetSSHKeyResponse::OperationCode, - operation_id: String, - time_start: Integer - } - end - end -end diff --git a/test/vers/resources/api_test.rb b/test/vers/resources/api_test.rb deleted file mode 100644 index e022744..0000000 --- a/test/vers/resources/api_test.rb +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -require_relative "../test_helper" - -class Vers::Test::Resources::APITest < Vers::Test::ResourceTest -end diff --git a/test/vers/resources/vm_test.rb b/test/vers/resources/vm_test.rb new file mode 100644 index 0000000..9906f9c --- /dev/null +++ b/test/vers/resources/vm_test.rb @@ -0,0 +1,122 @@ +# frozen_string_literal: true + +require_relative "../test_helper" + +class Vers::Test::Resources::VmTest < Vers::Test::ResourceTest + def test_list + skip("Prism tests are disabled") + + response = @vers.vm.list + + assert_pattern do + response => ^(Vers::Internal::Type::ArrayOf[Vers::VmAPI]) + end + end + + def test_delete + skip("Prism tests are disabled") + + response = @vers.vm.delete("vm_id") + + assert_pattern do + response => Vers::VmDeleteResponse + end + + assert_pattern do + response => { + vm_id: String + } + end + end + + def test_branch + skip("Prism tests are disabled") + + response = @vers.vm.branch("vm_id") + + assert_pattern do + response => Vers::NewVmResponse + end + + assert_pattern do + response => { + vm_id: String + } + end + end + + def test_commit + skip("Prism tests are disabled") + + response = @vers.vm.commit("vm_id") + + assert_pattern do + response => Vers::VmCommitResponse + end + + assert_pattern do + response => { + commit_id: String + } + end + end + + def test_create_root_required_params + skip("Prism tests are disabled") + + response = @vers.vm.create_root(vm_config: {}) + + assert_pattern do + response => Vers::NewVmResponse + end + + assert_pattern do + response => { + vm_id: String + } + end + end + + def test_get_ssh_key + skip("Prism tests are disabled") + + response = @vers.vm.get_ssh_key("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + + assert_pattern do + response => Vers::VmSSHKeyResponse + end + + assert_pattern do + response => { + ssh_port: Integer, + ssh_private_key: String + } + end + end + + def test_restore_from_commit_required_params + skip("Prism tests are disabled") + + response = @vers.vm.restore_from_commit(commit_id: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + + assert_pattern do + response => Vers::NewVmResponse + end + + assert_pattern do + response => { + vm_id: String + } + end + end + + def test_update_state_required_params + skip("Prism tests are disabled") + + response = @vers.vm.update_state("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", state: :Paused) + + assert_pattern do + response => nil + end + end +end