pvectl 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.claude/rules/branch-before-changes.md +52 -0
- data/.claude/rules/documentation-updates.md +104 -0
- data/.claude/rules/git-workflow.md +84 -0
- data/.claude/rules/proxmox-api-docs.md +58 -0
- data/.claude/rules/rbs-signatures.md +80 -0
- data/.claude/rules/refactoring-as-design-option.md +35 -0
- data/.claude/scheduled_tasks.lock +1 -0
- data/.claude/settings.json +51 -0
- data/.mcp.json +8 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +138 -0
- data/CLAUDE.md +211 -0
- data/CODE_OF_CONDUCT.md +132 -0
- data/LICENSE.txt +21 -0
- data/README.md +143 -0
- data/Rakefile +8 -0
- data/docs/proxmox-api-update.sh +96 -0
- data/exe/pvectl +5 -0
- data/lib/pvectl/argv_preprocessor.rb +334 -0
- data/lib/pvectl/cli.rb +102 -0
- data/lib/pvectl/commands/apt.rb +389 -0
- data/lib/pvectl/commands/clone_container.rb +230 -0
- data/lib/pvectl/commands/clone_vm.rb +331 -0
- data/lib/pvectl/commands/cloudinit/command.rb +122 -0
- data/lib/pvectl/commands/cloudinit/dump.rb +94 -0
- data/lib/pvectl/commands/cloudinit/pending.rb +137 -0
- data/lib/pvectl/commands/cloudinit/regenerate.rb +79 -0
- data/lib/pvectl/commands/config/command.rb +65 -0
- data/lib/pvectl/commands/config/get_contexts.rb +68 -0
- data/lib/pvectl/commands/config/set_cluster.rb +103 -0
- data/lib/pvectl/commands/config/set_context.rb +136 -0
- data/lib/pvectl/commands/config/set_credentials.rb +181 -0
- data/lib/pvectl/commands/config/use_context.rb +69 -0
- data/lib/pvectl/commands/config/view.rb +67 -0
- data/lib/pvectl/commands/console.rb +93 -0
- data/lib/pvectl/commands/console_ct.rb +187 -0
- data/lib/pvectl/commands/console_vm.rb +187 -0
- data/lib/pvectl/commands/container_lifecycle_command.rb +77 -0
- data/lib/pvectl/commands/create_backup.rb +173 -0
- data/lib/pvectl/commands/create_container.rb +141 -0
- data/lib/pvectl/commands/create_resource_command.rb +244 -0
- data/lib/pvectl/commands/create_snapshot.rb +242 -0
- data/lib/pvectl/commands/create_vm.rb +267 -0
- data/lib/pvectl/commands/delete_backup.rb +139 -0
- data/lib/pvectl/commands/delete_command.rb +119 -0
- data/lib/pvectl/commands/delete_container.rb +30 -0
- data/lib/pvectl/commands/delete_snapshot.rb +248 -0
- data/lib/pvectl/commands/delete_vm.rb +127 -0
- data/lib/pvectl/commands/describe/command.rb +251 -0
- data/lib/pvectl/commands/edit_container.rb +56 -0
- data/lib/pvectl/commands/edit_dns.rb +149 -0
- data/lib/pvectl/commands/edit_hosts.rb +135 -0
- data/lib/pvectl/commands/edit_node.rb +54 -0
- data/lib/pvectl/commands/edit_resource_command.rb +180 -0
- data/lib/pvectl/commands/edit_vm.rb +154 -0
- data/lib/pvectl/commands/edit_volume.rb +189 -0
- data/lib/pvectl/commands/feature_command.rb +230 -0
- data/lib/pvectl/commands/feature_container.rb +21 -0
- data/lib/pvectl/commands/feature_vm.rb +94 -0
- data/lib/pvectl/commands/get/command.rb +360 -0
- data/lib/pvectl/commands/get/handlers/backups.rb +76 -0
- data/lib/pvectl/commands/get/handlers/capabilities.rb +107 -0
- data/lib/pvectl/commands/get/handlers/containers.rb +148 -0
- data/lib/pvectl/commands/get/handlers/disks.rb +107 -0
- data/lib/pvectl/commands/get/handlers/dns.rb +94 -0
- data/lib/pvectl/commands/get/handlers/hosts.rb +94 -0
- data/lib/pvectl/commands/get/handlers/nodes.rb +162 -0
- data/lib/pvectl/commands/get/handlers/services.rb +81 -0
- data/lib/pvectl/commands/get/handlers/snapshots.rb +97 -0
- data/lib/pvectl/commands/get/handlers/storage.rb +118 -0
- data/lib/pvectl/commands/get/handlers/subscription.rb +69 -0
- data/lib/pvectl/commands/get/handlers/tasks.rb +89 -0
- data/lib/pvectl/commands/get/handlers/templates.rb +175 -0
- data/lib/pvectl/commands/get/handlers/time.rb +118 -0
- data/lib/pvectl/commands/get/handlers/vms.rb +145 -0
- data/lib/pvectl/commands/get/handlers/volume.rb +134 -0
- data/lib/pvectl/commands/get/resource_handler.rb +63 -0
- data/lib/pvectl/commands/get/resource_registry.rb +18 -0
- data/lib/pvectl/commands/get/watch_loop.rb +129 -0
- data/lib/pvectl/commands/irreversible_command.rb +265 -0
- data/lib/pvectl/commands/logs/command.rb +275 -0
- data/lib/pvectl/commands/logs/handlers/journal.rb +46 -0
- data/lib/pvectl/commands/logs/handlers/syslog.rb +53 -0
- data/lib/pvectl/commands/logs/handlers/task_detail.rb +52 -0
- data/lib/pvectl/commands/logs/handlers/task_logs.rb +115 -0
- data/lib/pvectl/commands/logs/resource_handler.rb +46 -0
- data/lib/pvectl/commands/logs/resource_registry.rb +22 -0
- data/lib/pvectl/commands/migrate_command.rb +282 -0
- data/lib/pvectl/commands/migrate_container.rb +23 -0
- data/lib/pvectl/commands/migrate_vm.rb +122 -0
- data/lib/pvectl/commands/move_disk_command.rb +239 -0
- data/lib/pvectl/commands/move_disk_container.rb +21 -0
- data/lib/pvectl/commands/move_disk_vm.rb +127 -0
- data/lib/pvectl/commands/ping.rb +249 -0
- data/lib/pvectl/commands/pull.rb +342 -0
- data/lib/pvectl/commands/push.rb +352 -0
- data/lib/pvectl/commands/reset.rb +64 -0
- data/lib/pvectl/commands/resource_lifecycle_command.rb +277 -0
- data/lib/pvectl/commands/resource_registry.rb +73 -0
- data/lib/pvectl/commands/restart.rb +70 -0
- data/lib/pvectl/commands/restart_container.rb +18 -0
- data/lib/pvectl/commands/restore_backup.rb +236 -0
- data/lib/pvectl/commands/resume.rb +57 -0
- data/lib/pvectl/commands/rollback_snapshot.rb +228 -0
- data/lib/pvectl/commands/sendkey_vm.rb +205 -0
- data/lib/pvectl/commands/service.rb +293 -0
- data/lib/pvectl/commands/set_container.rb +50 -0
- data/lib/pvectl/commands/set_node.rb +52 -0
- data/lib/pvectl/commands/set_resource_command.rb +185 -0
- data/lib/pvectl/commands/set_vm.rb +136 -0
- data/lib/pvectl/commands/set_volume.rb +212 -0
- data/lib/pvectl/commands/shared_config_parsers.rb +126 -0
- data/lib/pvectl/commands/shared_flags.rb +155 -0
- data/lib/pvectl/commands/shutdown.rb +73 -0
- data/lib/pvectl/commands/shutdown_container.rb +18 -0
- data/lib/pvectl/commands/start.rb +79 -0
- data/lib/pvectl/commands/start_container.rb +18 -0
- data/lib/pvectl/commands/stop.rb +75 -0
- data/lib/pvectl/commands/stop_container.rb +18 -0
- data/lib/pvectl/commands/suspend.rb +64 -0
- data/lib/pvectl/commands/template_command.rb +205 -0
- data/lib/pvectl/commands/template_container.rb +27 -0
- data/lib/pvectl/commands/template_vm.rb +106 -0
- data/lib/pvectl/commands/top/command.rb +206 -0
- data/lib/pvectl/commands/top/handlers/containers.rb +61 -0
- data/lib/pvectl/commands/top/handlers/nodes.rb +61 -0
- data/lib/pvectl/commands/top/handlers/vms.rb +61 -0
- data/lib/pvectl/commands/top/resource_handler.rb +46 -0
- data/lib/pvectl/commands/top/resource_registry.rb +22 -0
- data/lib/pvectl/commands/unlink_disk_vm.rb +232 -0
- data/lib/pvectl/commands/vm_lifecycle_command.rb +77 -0
- data/lib/pvectl/commands/wakeonlan_node.rb +153 -0
- data/lib/pvectl/config/errors.rb +62 -0
- data/lib/pvectl/config/models/cluster.rb +180 -0
- data/lib/pvectl/config/models/context.rb +100 -0
- data/lib/pvectl/config/models/resolved_config.rb +171 -0
- data/lib/pvectl/config/models/user.rb +133 -0
- data/lib/pvectl/config/provider.rb +297 -0
- data/lib/pvectl/config/service.rb +300 -0
- data/lib/pvectl/config/store.rb +161 -0
- data/lib/pvectl/config/wizard.rb +309 -0
- data/lib/pvectl/config_serializer.rb +1034 -0
- data/lib/pvectl/connection/retry_handler.rb +161 -0
- data/lib/pvectl/connection.rb +157 -0
- data/lib/pvectl/console/terminal_session.rb +449 -0
- data/lib/pvectl/editor_session.rb +157 -0
- data/lib/pvectl/exit_codes.rb +43 -0
- data/lib/pvectl/formatters/base.rb +55 -0
- data/lib/pvectl/formatters/color_support.rb +90 -0
- data/lib/pvectl/formatters/json.rb +45 -0
- data/lib/pvectl/formatters/output_helper.rb +77 -0
- data/lib/pvectl/formatters/registry.rb +72 -0
- data/lib/pvectl/formatters/table.rb +235 -0
- data/lib/pvectl/formatters/wide.rb +93 -0
- data/lib/pvectl/formatters/yaml.rb +49 -0
- data/lib/pvectl/manifest_serializer.rb +142 -0
- data/lib/pvectl/models/apt_package.rb +107 -0
- data/lib/pvectl/models/backup.rb +173 -0
- data/lib/pvectl/models/base.rb +49 -0
- data/lib/pvectl/models/capability.rb +62 -0
- data/lib/pvectl/models/container.rb +205 -0
- data/lib/pvectl/models/container_operation_result.rb +27 -0
- data/lib/pvectl/models/dns_config.rb +54 -0
- data/lib/pvectl/models/hosts_file.rb +47 -0
- data/lib/pvectl/models/journal_entry.rb +16 -0
- data/lib/pvectl/models/network_interface.rb +85 -0
- data/lib/pvectl/models/node.rb +195 -0
- data/lib/pvectl/models/node_operation_result.rb +45 -0
- data/lib/pvectl/models/operation_result.rb +110 -0
- data/lib/pvectl/models/physical_disk.rb +193 -0
- data/lib/pvectl/models/service.rb +80 -0
- data/lib/pvectl/models/snapshot.rb +101 -0
- data/lib/pvectl/models/snapshot_description.rb +39 -0
- data/lib/pvectl/models/storage.rb +180 -0
- data/lib/pvectl/models/subscription.rb +87 -0
- data/lib/pvectl/models/syslog_entry.rb +17 -0
- data/lib/pvectl/models/task.rb +95 -0
- data/lib/pvectl/models/task_entry.rb +52 -0
- data/lib/pvectl/models/task_log_line.rb +17 -0
- data/lib/pvectl/models/time_config.rb +47 -0
- data/lib/pvectl/models/vm.rb +137 -0
- data/lib/pvectl/models/vm_operation_result.rb +27 -0
- data/lib/pvectl/models/volume.rb +133 -0
- data/lib/pvectl/models/volume_operation_result.rb +26 -0
- data/lib/pvectl/parsers/cloud_init_config.rb +92 -0
- data/lib/pvectl/parsers/disk_config.rb +97 -0
- data/lib/pvectl/parsers/lxc_mount_config.rb +98 -0
- data/lib/pvectl/parsers/lxc_net_config.rb +97 -0
- data/lib/pvectl/parsers/net_config.rb +95 -0
- data/lib/pvectl/parsers/smart_text.rb +42 -0
- data/lib/pvectl/plugin_loader.rb +157 -0
- data/lib/pvectl/presenters/apt_package.rb +99 -0
- data/lib/pvectl/presenters/backup.rb +128 -0
- data/lib/pvectl/presenters/base.rb +283 -0
- data/lib/pvectl/presenters/capability.rb +104 -0
- data/lib/pvectl/presenters/config/context.rb +80 -0
- data/lib/pvectl/presenters/container.rb +574 -0
- data/lib/pvectl/presenters/container_operation_result.rb +109 -0
- data/lib/pvectl/presenters/disk.rb +184 -0
- data/lib/pvectl/presenters/dns_config.rb +68 -0
- data/lib/pvectl/presenters/hosts_file.rb +61 -0
- data/lib/pvectl/presenters/journal_entry.rb +20 -0
- data/lib/pvectl/presenters/node.rb +762 -0
- data/lib/pvectl/presenters/node_operation_result.rb +50 -0
- data/lib/pvectl/presenters/operation_result.rb +61 -0
- data/lib/pvectl/presenters/service.rb +76 -0
- data/lib/pvectl/presenters/snapshot.rb +239 -0
- data/lib/pvectl/presenters/snapshot_operation_result.rb +125 -0
- data/lib/pvectl/presenters/storage.rb +329 -0
- data/lib/pvectl/presenters/subscription.rb +189 -0
- data/lib/pvectl/presenters/syslog_entry.rb +20 -0
- data/lib/pvectl/presenters/task_entry.rb +69 -0
- data/lib/pvectl/presenters/task_log_line.rb +20 -0
- data/lib/pvectl/presenters/template.rb +76 -0
- data/lib/pvectl/presenters/time_config.rb +86 -0
- data/lib/pvectl/presenters/top_container.rb +112 -0
- data/lib/pvectl/presenters/top_node.rb +115 -0
- data/lib/pvectl/presenters/top_presenter.rb +59 -0
- data/lib/pvectl/presenters/top_vm.rb +105 -0
- data/lib/pvectl/presenters/vm.rb +853 -0
- data/lib/pvectl/presenters/vm_operation_result.rb +109 -0
- data/lib/pvectl/presenters/volume.rb +136 -0
- data/lib/pvectl/presenters/volume_operation_result.rb +58 -0
- data/lib/pvectl/repositories/apt.rb +93 -0
- data/lib/pvectl/repositories/backup.rb +186 -0
- data/lib/pvectl/repositories/base.rb +110 -0
- data/lib/pvectl/repositories/capabilities.rb +96 -0
- data/lib/pvectl/repositories/container.rb +503 -0
- data/lib/pvectl/repositories/disk.rb +87 -0
- data/lib/pvectl/repositories/dns.rb +54 -0
- data/lib/pvectl/repositories/hosts.rb +63 -0
- data/lib/pvectl/repositories/journal.rb +23 -0
- data/lib/pvectl/repositories/node.rb +537 -0
- data/lib/pvectl/repositories/service.rb +139 -0
- data/lib/pvectl/repositories/snapshot.rb +133 -0
- data/lib/pvectl/repositories/storage.rb +302 -0
- data/lib/pvectl/repositories/subscription.rb +77 -0
- data/lib/pvectl/repositories/syslog.rb +25 -0
- data/lib/pvectl/repositories/task.rb +82 -0
- data/lib/pvectl/repositories/task_list.rb +30 -0
- data/lib/pvectl/repositories/task_log.rb +31 -0
- data/lib/pvectl/repositories/time_config.rb +53 -0
- data/lib/pvectl/repositories/vm.rb +616 -0
- data/lib/pvectl/repositories/volume.rb +306 -0
- data/lib/pvectl/selectors/base.rb +201 -0
- data/lib/pvectl/selectors/container.rb +116 -0
- data/lib/pvectl/selectors/disk.rb +59 -0
- data/lib/pvectl/selectors/vm.rb +116 -0
- data/lib/pvectl/selectors/volume.rb +59 -0
- data/lib/pvectl/services/backup.rb +209 -0
- data/lib/pvectl/services/clone_container.rb +260 -0
- data/lib/pvectl/services/clone_vm.rb +265 -0
- data/lib/pvectl/services/cloudinit.rb +96 -0
- data/lib/pvectl/services/console.rb +152 -0
- data/lib/pvectl/services/container_lifecycle.rb +124 -0
- data/lib/pvectl/services/create_container.rb +179 -0
- data/lib/pvectl/services/create_vm.rb +191 -0
- data/lib/pvectl/services/edit_container.rb +125 -0
- data/lib/pvectl/services/edit_dns.rb +159 -0
- data/lib/pvectl/services/edit_hosts.rb +78 -0
- data/lib/pvectl/services/edit_node.rb +147 -0
- data/lib/pvectl/services/edit_vm.rb +125 -0
- data/lib/pvectl/services/edit_volume.rb +224 -0
- data/lib/pvectl/services/get/resource_service.rb +98 -0
- data/lib/pvectl/services/move_disk.rb +132 -0
- data/lib/pvectl/services/pull_config.rb +94 -0
- data/lib/pvectl/services/push_config.rb +524 -0
- data/lib/pvectl/services/resize_volume.rb +253 -0
- data/lib/pvectl/services/resource_delete.rb +169 -0
- data/lib/pvectl/services/resource_migration.rb +170 -0
- data/lib/pvectl/services/sendkey.rb +108 -0
- data/lib/pvectl/services/service_lifecycle.rb +89 -0
- data/lib/pvectl/services/set_container.rb +128 -0
- data/lib/pvectl/services/set_node.rb +236 -0
- data/lib/pvectl/services/set_vm.rb +128 -0
- data/lib/pvectl/services/set_volume.rb +126 -0
- data/lib/pvectl/services/snapshot.rb +261 -0
- data/lib/pvectl/services/task_listing.rb +75 -0
- data/lib/pvectl/services/unlink_disk.rb +86 -0
- data/lib/pvectl/services/vm_lifecycle.rb +124 -0
- data/lib/pvectl/services/wakeonlan.rb +79 -0
- data/lib/pvectl/utils/resource_resolver.rb +80 -0
- data/lib/pvectl/version.rb +13 -0
- data/lib/pvectl/wizards/create_container.rb +105 -0
- data/lib/pvectl/wizards/create_vm.rb +98 -0
- data/lib/pvectl.rb +439 -0
- data/sig/external/gli.rbs +16 -0
- data/sig/external/proxmox_api.rbs +10 -0
- data/sig/pvectl/argv_preprocessor.rbs +53 -0
- data/sig/pvectl/cli.rbs +26 -0
- data/sig/pvectl/commands/apt.rbs +47 -0
- data/sig/pvectl/commands/clone_container.rbs +31 -0
- data/sig/pvectl/commands/clone_vm.rbs +33 -0
- data/sig/pvectl/commands/cloudinit/command.rbs +13 -0
- data/sig/pvectl/commands/cloudinit/dump.rbs +13 -0
- data/sig/pvectl/commands/cloudinit/pending.rbs +17 -0
- data/sig/pvectl/commands/cloudinit/regenerate.rbs +11 -0
- data/sig/pvectl/commands/config/command.rbs +9 -0
- data/sig/pvectl/commands/config/get_contexts.rbs +11 -0
- data/sig/pvectl/commands/config/set_cluster.rbs +11 -0
- data/sig/pvectl/commands/config/set_context.rbs +15 -0
- data/sig/pvectl/commands/config/set_credentials.rbs +15 -0
- data/sig/pvectl/commands/config/use_context.rbs +11 -0
- data/sig/pvectl/commands/config/view.rbs +11 -0
- data/sig/pvectl/commands/console.rbs +9 -0
- data/sig/pvectl/commands/console_ct.rbs +27 -0
- data/sig/pvectl/commands/console_vm.rbs +27 -0
- data/sig/pvectl/commands/container_lifecycle_command.rbs +25 -0
- data/sig/pvectl/commands/create_backup.rbs +29 -0
- data/sig/pvectl/commands/create_container.rbs +30 -0
- data/sig/pvectl/commands/create_resource_command.rbs +53 -0
- data/sig/pvectl/commands/create_snapshot.rbs +35 -0
- data/sig/pvectl/commands/create_vm.rbs +30 -0
- data/sig/pvectl/commands/delete_backup.rbs +25 -0
- data/sig/pvectl/commands/delete_command.rbs +45 -0
- data/sig/pvectl/commands/delete_container.rbs +11 -0
- data/sig/pvectl/commands/delete_snapshot.rbs +35 -0
- data/sig/pvectl/commands/delete_vm.rbs +13 -0
- data/sig/pvectl/commands/describe/command.rbs +27 -0
- data/sig/pvectl/commands/edit_container.rbs +17 -0
- data/sig/pvectl/commands/edit_dns.rbs +25 -0
- data/sig/pvectl/commands/edit_hosts.rbs +23 -0
- data/sig/pvectl/commands/edit_node.rbs +17 -0
- data/sig/pvectl/commands/edit_resource_command.rbs +35 -0
- data/sig/pvectl/commands/edit_vm.rbs +19 -0
- data/sig/pvectl/commands/edit_volume.rbs +24 -0
- data/sig/pvectl/commands/feature_command.rbs +43 -0
- data/sig/pvectl/commands/feature_container.rbs +10 -0
- data/sig/pvectl/commands/feature_vm.rbs +12 -0
- data/sig/pvectl/commands/get/command.rbs +42 -0
- data/sig/pvectl/commands/get/handlers/backups.rbs +23 -0
- data/sig/pvectl/commands/get/handlers/capabilities.rbs +29 -0
- data/sig/pvectl/commands/get/handlers/containers.rbs +35 -0
- data/sig/pvectl/commands/get/handlers/disks.rbs +27 -0
- data/sig/pvectl/commands/get/handlers/dns.rbs +25 -0
- data/sig/pvectl/commands/get/handlers/hosts.rbs +25 -0
- data/sig/pvectl/commands/get/handlers/nodes.rbs +33 -0
- data/sig/pvectl/commands/get/handlers/services.rbs +23 -0
- data/sig/pvectl/commands/get/handlers/snapshots.rbs +27 -0
- data/sig/pvectl/commands/get/handlers/storage.rbs +25 -0
- data/sig/pvectl/commands/get/handlers/subscription.rbs +25 -0
- data/sig/pvectl/commands/get/handlers/tasks.rbs +28 -0
- data/sig/pvectl/commands/get/handlers/templates.rbs +35 -0
- data/sig/pvectl/commands/get/handlers/time.rbs +29 -0
- data/sig/pvectl/commands/get/handlers/vms.rbs +35 -0
- data/sig/pvectl/commands/get/handlers/volume.rbs +27 -0
- data/sig/pvectl/commands/get/resource_handler.rbs +13 -0
- data/sig/pvectl/commands/get/resource_registry.rbs +8 -0
- data/sig/pvectl/commands/get/watch_loop.rbs +33 -0
- data/sig/pvectl/commands/irreversible_command.rbs +32 -0
- data/sig/pvectl/commands/logs/command.rbs +35 -0
- data/sig/pvectl/commands/logs/handlers/journal.rbs +21 -0
- data/sig/pvectl/commands/logs/handlers/syslog.rbs +21 -0
- data/sig/pvectl/commands/logs/handlers/task_detail.rbs +21 -0
- data/sig/pvectl/commands/logs/handlers/task_logs.rbs +35 -0
- data/sig/pvectl/commands/logs/resource_handler.rbs +11 -0
- data/sig/pvectl/commands/logs/resource_registry.rbs +8 -0
- data/sig/pvectl/commands/migrate_command.rbs +45 -0
- data/sig/pvectl/commands/migrate_container.rbs +11 -0
- data/sig/pvectl/commands/migrate_vm.rbs +13 -0
- data/sig/pvectl/commands/move_disk_command.rbs +43 -0
- data/sig/pvectl/commands/move_disk_container.rbs +11 -0
- data/sig/pvectl/commands/move_disk_vm.rbs +13 -0
- data/sig/pvectl/commands/ping.rbs +39 -0
- data/sig/pvectl/commands/pull.rbs +33 -0
- data/sig/pvectl/commands/push.rbs +32 -0
- data/sig/pvectl/commands/reset.rbs +11 -0
- data/sig/pvectl/commands/resource_lifecycle_command.rbs +55 -0
- data/sig/pvectl/commands/resource_registry.rbs +19 -0
- data/sig/pvectl/commands/restart.rbs +11 -0
- data/sig/pvectl/commands/restart_container.rbs +9 -0
- data/sig/pvectl/commands/restore_backup.rbs +27 -0
- data/sig/pvectl/commands/resume.rbs +11 -0
- data/sig/pvectl/commands/rollback_snapshot.rbs +31 -0
- data/sig/pvectl/commands/sendkey_vm.rbs +25 -0
- data/sig/pvectl/commands/service.rbs +38 -0
- data/sig/pvectl/commands/set_container.rbs +13 -0
- data/sig/pvectl/commands/set_node.rbs +13 -0
- data/sig/pvectl/commands/set_resource_command.rbs +25 -0
- data/sig/pvectl/commands/set_vm.rbs +15 -0
- data/sig/pvectl/commands/set_volume.rbs +24 -0
- data/sig/pvectl/commands/shared_config_parsers.rbs +19 -0
- data/sig/pvectl/commands/shared_flags.rbs +10 -0
- data/sig/pvectl/commands/shutdown.rbs +11 -0
- data/sig/pvectl/commands/shutdown_container.rbs +9 -0
- data/sig/pvectl/commands/start.rbs +11 -0
- data/sig/pvectl/commands/start_container.rbs +9 -0
- data/sig/pvectl/commands/stop.rbs +11 -0
- data/sig/pvectl/commands/stop_container.rbs +9 -0
- data/sig/pvectl/commands/suspend.rbs +11 -0
- data/sig/pvectl/commands/template_command.rbs +21 -0
- data/sig/pvectl/commands/template_container.rbs +10 -0
- data/sig/pvectl/commands/template_vm.rbs +12 -0
- data/sig/pvectl/commands/top/command.rbs +31 -0
- data/sig/pvectl/commands/top/handlers/containers.rbs +21 -0
- data/sig/pvectl/commands/top/handlers/nodes.rbs +21 -0
- data/sig/pvectl/commands/top/handlers/vms.rbs +21 -0
- data/sig/pvectl/commands/top/resource_handler.rbs +11 -0
- data/sig/pvectl/commands/top/resource_registry.rbs +8 -0
- data/sig/pvectl/commands/unlink_disk_vm.rbs +27 -0
- data/sig/pvectl/commands/vm_lifecycle_command.rbs +25 -0
- data/sig/pvectl/commands/wakeonlan_node.rbs +21 -0
- data/sig/pvectl/config/errors.rbs +24 -0
- data/sig/pvectl/config/models/cluster.rbs +39 -0
- data/sig/pvectl/config/models/context.rbs +23 -0
- data/sig/pvectl/config/models/resolved_config.rbs +51 -0
- data/sig/pvectl/config/models/user.rbs +31 -0
- data/sig/pvectl/config/provider.rbs +40 -0
- data/sig/pvectl/config/service.rbs +65 -0
- data/sig/pvectl/config/store.rbs +14 -0
- data/sig/pvectl/config/wizard.rbs +48 -0
- data/sig/pvectl/config_serializer.rbs +121 -0
- data/sig/pvectl/connection/retry_handler.rbs +31 -0
- data/sig/pvectl/connection.rbs +35 -0
- data/sig/pvectl/console/terminal_session.rbs +63 -0
- data/sig/pvectl/editor_session.rbs +33 -0
- data/sig/pvectl/exit_codes.rbs +19 -0
- data/sig/pvectl/formatters/base.rbs +13 -0
- data/sig/pvectl/formatters/color_support.rbs +13 -0
- data/sig/pvectl/formatters/json.rbs +7 -0
- data/sig/pvectl/formatters/output_helper.rbs +9 -0
- data/sig/pvectl/formatters/registry.rbs +13 -0
- data/sig/pvectl/formatters/table.rbs +25 -0
- data/sig/pvectl/formatters/wide.rbs +15 -0
- data/sig/pvectl/formatters/yaml.rbs +7 -0
- data/sig/pvectl/manifest_serializer.rbs +18 -0
- data/sig/pvectl/models/apt_package.rbs +26 -0
- data/sig/pvectl/models/backup.rbs +31 -0
- data/sig/pvectl/models/base.rbs +11 -0
- data/sig/pvectl/models/capability.rbs +16 -0
- data/sig/pvectl/models/container.rbs +44 -0
- data/sig/pvectl/models/container_operation_result.rbs +9 -0
- data/sig/pvectl/models/dns_config.rbs +15 -0
- data/sig/pvectl/models/hosts_file.rbs +13 -0
- data/sig/pvectl/models/journal_entry.rbs +10 -0
- data/sig/pvectl/models/network_interface.rbs +20 -0
- data/sig/pvectl/models/node.rbs +47 -0
- data/sig/pvectl/models/node_operation_result.rbs +12 -0
- data/sig/pvectl/models/operation_result.rbs +21 -0
- data/sig/pvectl/models/physical_disk.rbs +35 -0
- data/sig/pvectl/models/service.rbs +18 -0
- data/sig/pvectl/models/snapshot.rbs +21 -0
- data/sig/pvectl/models/snapshot_description.rbs +18 -0
- data/sig/pvectl/models/storage.rbs +39 -0
- data/sig/pvectl/models/subscription.rbs +24 -0
- data/sig/pvectl/models/syslog_entry.rbs +10 -0
- data/sig/pvectl/models/task.rbs +22 -0
- data/sig/pvectl/models/task_entry.rbs +24 -0
- data/sig/pvectl/models/task_log_line.rbs +10 -0
- data/sig/pvectl/models/time_config.rbs +12 -0
- data/sig/pvectl/models/vm.rbs +32 -0
- data/sig/pvectl/models/vm_operation_result.rbs +9 -0
- data/sig/pvectl/models/volume.rbs +29 -0
- data/sig/pvectl/models/volume_operation_result.rbs +9 -0
- data/sig/pvectl/parsers/cloud_init_config.rbs +15 -0
- data/sig/pvectl/parsers/disk_config.rbs +19 -0
- data/sig/pvectl/parsers/lxc_mount_config.rbs +19 -0
- data/sig/pvectl/parsers/lxc_net_config.rbs +19 -0
- data/sig/pvectl/parsers/net_config.rbs +19 -0
- data/sig/pvectl/parsers/smart_text.rbs +7 -0
- data/sig/pvectl/plugin_loader.rbs +25 -0
- data/sig/pvectl/presenters/apt_package.rbs +19 -0
- data/sig/pvectl/presenters/backup.rbs +25 -0
- data/sig/pvectl/presenters/base.rbs +41 -0
- data/sig/pvectl/presenters/capability.rbs +19 -0
- data/sig/pvectl/presenters/config/context.rbs +17 -0
- data/sig/pvectl/presenters/container.rbs +78 -0
- data/sig/pvectl/presenters/container_operation_result.rbs +19 -0
- data/sig/pvectl/presenters/disk.rbs +31 -0
- data/sig/pvectl/presenters/dns_config.rbs +13 -0
- data/sig/pvectl/presenters/hosts_file.rbs +13 -0
- data/sig/pvectl/presenters/journal_entry.rbs +11 -0
- data/sig/pvectl/presenters/node.rbs +118 -0
- data/sig/pvectl/presenters/node_operation_result.rbs +11 -0
- data/sig/pvectl/presenters/operation_result.rbs +17 -0
- data/sig/pvectl/presenters/service.rbs +15 -0
- data/sig/pvectl/presenters/snapshot.rbs +35 -0
- data/sig/pvectl/presenters/snapshot_operation_result.rbs +27 -0
- data/sig/pvectl/presenters/storage.rbs +59 -0
- data/sig/pvectl/presenters/subscription.rbs +36 -0
- data/sig/pvectl/presenters/syslog_entry.rbs +11 -0
- data/sig/pvectl/presenters/task_entry.rbs +21 -0
- data/sig/pvectl/presenters/task_log_line.rbs +11 -0
- data/sig/pvectl/presenters/template.rbs +15 -0
- data/sig/pvectl/presenters/time_config.rbs +19 -0
- data/sig/pvectl/presenters/top_container.rbs +17 -0
- data/sig/pvectl/presenters/top_node.rbs +17 -0
- data/sig/pvectl/presenters/top_presenter.rbs +13 -0
- data/sig/pvectl/presenters/top_vm.rbs +17 -0
- data/sig/pvectl/presenters/vm.rbs +91 -0
- data/sig/pvectl/presenters/vm_operation_result.rbs +19 -0
- data/sig/pvectl/presenters/volume.rbs +23 -0
- data/sig/pvectl/presenters/volume_operation_result.rbs +11 -0
- data/sig/pvectl/repositories/apt.rbs +17 -0
- data/sig/pvectl/repositories/backup.rbs +27 -0
- data/sig/pvectl/repositories/base.rbs +23 -0
- data/sig/pvectl/repositories/capabilities.rbs +20 -0
- data/sig/pvectl/repositories/container.rbs +63 -0
- data/sig/pvectl/repositories/disk.rbs +17 -0
- data/sig/pvectl/repositories/dns.rbs +13 -0
- data/sig/pvectl/repositories/hosts.rbs +13 -0
- data/sig/pvectl/repositories/journal.rbs +7 -0
- data/sig/pvectl/repositories/node.rbs +68 -0
- data/sig/pvectl/repositories/service.rbs +27 -0
- data/sig/pvectl/repositories/snapshot.rbs +19 -0
- data/sig/pvectl/repositories/storage.rbs +37 -0
- data/sig/pvectl/repositories/subscription.rbs +17 -0
- data/sig/pvectl/repositories/syslog.rbs +7 -0
- data/sig/pvectl/repositories/task.rbs +19 -0
- data/sig/pvectl/repositories/task_list.rbs +7 -0
- data/sig/pvectl/repositories/task_log.rbs +11 -0
- data/sig/pvectl/repositories/time_config.rbs +13 -0
- data/sig/pvectl/repositories/vm.rbs +85 -0
- data/sig/pvectl/repositories/volume.rbs +43 -0
- data/sig/pvectl/selectors/base.rbs +37 -0
- data/sig/pvectl/selectors/container.rbs +19 -0
- data/sig/pvectl/selectors/disk.rbs +13 -0
- data/sig/pvectl/selectors/vm.rbs +19 -0
- data/sig/pvectl/selectors/volume.rbs +13 -0
- data/sig/pvectl/services/backup.rbs +27 -0
- data/sig/pvectl/services/clone_container.rbs +35 -0
- data/sig/pvectl/services/clone_vm.rbs +35 -0
- data/sig/pvectl/services/cloudinit.rbs +19 -0
- data/sig/pvectl/services/console.rbs +23 -0
- data/sig/pvectl/services/container_lifecycle.rbs +26 -0
- data/sig/pvectl/services/create_container.rbs +64 -0
- data/sig/pvectl/services/create_vm.rbs +72 -0
- data/sig/pvectl/services/edit_container.rbs +17 -0
- data/sig/pvectl/services/edit_dns.rbs +23 -0
- data/sig/pvectl/services/edit_hosts.rbs +13 -0
- data/sig/pvectl/services/edit_node.rbs +21 -0
- data/sig/pvectl/services/edit_vm.rbs +17 -0
- data/sig/pvectl/services/edit_volume.rbs +18 -0
- data/sig/pvectl/services/get/resource_service.rbs +23 -0
- data/sig/pvectl/services/move_disk.rbs +21 -0
- data/sig/pvectl/services/pull_config.rbs +18 -0
- data/sig/pvectl/services/push_config.rbs +37 -0
- data/sig/pvectl/services/resize_volume.rbs +47 -0
- data/sig/pvectl/services/resource_delete.rbs +27 -0
- data/sig/pvectl/services/resource_migration.rbs +29 -0
- data/sig/pvectl/services/sendkey.rbs +19 -0
- data/sig/pvectl/services/service_lifecycle.rbs +17 -0
- data/sig/pvectl/services/set_container.rbs +14 -0
- data/sig/pvectl/services/set_node.rbs +23 -0
- data/sig/pvectl/services/set_vm.rbs +14 -0
- data/sig/pvectl/services/set_volume.rbs +12 -0
- data/sig/pvectl/services/snapshot.rbs +35 -0
- data/sig/pvectl/services/task_listing.rbs +13 -0
- data/sig/pvectl/services/unlink_disk.rbs +17 -0
- data/sig/pvectl/services/vm_lifecycle.rbs +26 -0
- data/sig/pvectl/services/wakeonlan.rbs +17 -0
- data/sig/pvectl/utils/resource_resolver.rbs +17 -0
- data/sig/pvectl/wizards/create_container.rbs +21 -0
- data/sig/pvectl/wizards/create_vm.rbs +21 -0
- data/sig/pvectl.rbs +9 -0
- metadata +675 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module EditResourceCommand
|
|
4
|
+
module ClassMethods
|
|
5
|
+
def execute: (Array[String] args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> Integer
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def self.included: (Class base) -> void
|
|
9
|
+
|
|
10
|
+
def initialize: (Array[String] args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> void
|
|
11
|
+
|
|
12
|
+
def execute: () -> Integer
|
|
13
|
+
|
|
14
|
+
private
|
|
15
|
+
|
|
16
|
+
def resource_label: () -> String
|
|
17
|
+
|
|
18
|
+
def resource_id_label: () -> String
|
|
19
|
+
|
|
20
|
+
def execute_params: (String resource_id) -> Hash[Symbol, untyped]
|
|
21
|
+
|
|
22
|
+
def build_edit_service: (untyped connection) -> untyped
|
|
23
|
+
|
|
24
|
+
def display_diff: (untyped result) -> void
|
|
25
|
+
|
|
26
|
+
def load_config: () -> void
|
|
27
|
+
|
|
28
|
+
def service_options: () -> Hash[Symbol, untyped]
|
|
29
|
+
|
|
30
|
+
def build_editor_session: () -> untyped?
|
|
31
|
+
|
|
32
|
+
def usage_error: (String message) -> Integer
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
class EditVm
|
|
4
|
+
include EditResourceCommand
|
|
5
|
+
|
|
6
|
+
def self.register: (untyped cli) -> void
|
|
7
|
+
|
|
8
|
+
private
|
|
9
|
+
|
|
10
|
+
def resource_label: () -> String
|
|
11
|
+
|
|
12
|
+
def resource_id_label: () -> String
|
|
13
|
+
|
|
14
|
+
def execute_params: (String resource_id) -> Hash[Symbol, Integer]
|
|
15
|
+
|
|
16
|
+
def build_edit_service: (untyped connection) -> Services::EditVm
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
class EditVolume
|
|
4
|
+
module ClassMethods
|
|
5
|
+
def execute: (Array[String] args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> Integer
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
# extend ClassMethods — RBS cannot represent extend, list class methods directly
|
|
9
|
+
def self.execute: (Array[String] args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> Integer
|
|
10
|
+
|
|
11
|
+
def initialize: (Array[String] args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> void
|
|
12
|
+
def execute: () -> Integer
|
|
13
|
+
|
|
14
|
+
private
|
|
15
|
+
def resolve_node: (Integer resource_id, untyped connection, String resource_type) -> String?
|
|
16
|
+
def build_repository: (untyped connection, String resource_type) -> untyped
|
|
17
|
+
def resource_type_symbol: (String resource_type) -> Symbol
|
|
18
|
+
def build_editor_session: () -> untyped?
|
|
19
|
+
def service_options: () -> Hash[Symbol, untyped]
|
|
20
|
+
def load_config: () -> void
|
|
21
|
+
def usage_error: (String message) -> Integer
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module FeatureCommand
|
|
4
|
+
VALID_FEATURES: Array[String]
|
|
5
|
+
|
|
6
|
+
module ClassMethods
|
|
7
|
+
def execute: (Array[String] args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> Integer
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def self.included: (Class base) -> void
|
|
11
|
+
|
|
12
|
+
def initialize: (Array[String] args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> void
|
|
13
|
+
|
|
14
|
+
def execute: () -> Integer
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
def resource_type_symbol: () -> Symbol
|
|
19
|
+
|
|
20
|
+
def id_label: () -> String
|
|
21
|
+
|
|
22
|
+
def type_name: () -> String
|
|
23
|
+
|
|
24
|
+
def perform_operation: (Integer id, String feature) -> Integer
|
|
25
|
+
|
|
26
|
+
def resolve_resource: (untyped connection, Integer id) -> untyped
|
|
27
|
+
|
|
28
|
+
def build_repository: (untyped connection) -> untyped
|
|
29
|
+
|
|
30
|
+
def load_config: () -> void
|
|
31
|
+
|
|
32
|
+
def output_result: (Hash[Symbol, untyped] result, String feature) -> void
|
|
33
|
+
|
|
34
|
+
def payload: (Hash[Symbol, untyped] result, String feature) -> Hash[Symbol, untyped]
|
|
35
|
+
|
|
36
|
+
def stringify_keys: (Hash[Symbol, untyped] hash) -> Hash[String, untyped]
|
|
37
|
+
|
|
38
|
+
def usage_error: (String message) -> Integer
|
|
39
|
+
|
|
40
|
+
def resource_not_found: (Integer id) -> Integer
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
class Command
|
|
5
|
+
def self.register: (untyped cli) -> void
|
|
6
|
+
|
|
7
|
+
def self.execute: (String? resource_type, Array[String]? args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> Integer
|
|
8
|
+
|
|
9
|
+
def initialize: (String? resource_type, Array[String]? args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options, ?registry: Class) -> void
|
|
10
|
+
|
|
11
|
+
def execute: () -> Integer
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
|
|
15
|
+
attr_reader resource_type: String?
|
|
16
|
+
attr_reader args: Array[String]
|
|
17
|
+
attr_reader options: Hash[Symbol, untyped]
|
|
18
|
+
attr_reader global_options: Hash[Symbol, untyped]
|
|
19
|
+
|
|
20
|
+
def normalize_args: (String | Array[String] | nil args) -> Array[String]
|
|
21
|
+
|
|
22
|
+
def missing_resource_type_error: () -> Integer
|
|
23
|
+
|
|
24
|
+
def unknown_resource_error: () -> Integer
|
|
25
|
+
|
|
26
|
+
def output_connection_error: (String message) -> void
|
|
27
|
+
|
|
28
|
+
def output_usage_error: (String message) -> void
|
|
29
|
+
|
|
30
|
+
def run_once: (untyped handler) -> void
|
|
31
|
+
|
|
32
|
+
def run_watch_mode: (untyped handler) -> void
|
|
33
|
+
|
|
34
|
+
def build_selector: (untyped handler) -> Selectors::Base?
|
|
35
|
+
|
|
36
|
+
def build_service: (untyped handler) -> Services::Get::ResourceService
|
|
37
|
+
|
|
38
|
+
def determine_color_enabled: () -> bool
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Backups
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
def initialize: (?service: untyped) -> void
|
|
9
|
+
|
|
10
|
+
def list: (?node: String?, ?name: String?, ?args: Array[String], ?storage: String?) -> Array[Models::Backup]
|
|
11
|
+
|
|
12
|
+
def presenter: () -> Presenters::Backup
|
|
13
|
+
|
|
14
|
+
private
|
|
15
|
+
|
|
16
|
+
def service: () -> untyped
|
|
17
|
+
|
|
18
|
+
def build_service: () -> untyped
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Capabilities
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
def initialize: (?repository: Repositories::Capabilities?, ?node_repository: Repositories::Node?) -> void
|
|
9
|
+
|
|
10
|
+
def list: (?node: String?, ?name: String?, ?args: Array[String], ?storage: String?) -> Array[Models::Capability]
|
|
11
|
+
|
|
12
|
+
def presenter: () -> Presenters::Capability
|
|
13
|
+
|
|
14
|
+
private
|
|
15
|
+
|
|
16
|
+
def fetch_for: (String node_name) -> Array[Models::Capability]
|
|
17
|
+
|
|
18
|
+
def online_node_names: () -> Array[String]
|
|
19
|
+
|
|
20
|
+
def repository: () -> Repositories::Capabilities
|
|
21
|
+
|
|
22
|
+
def node_repository: () -> Repositories::Node
|
|
23
|
+
|
|
24
|
+
def connection: () -> untyped
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Containers
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
CTID_PATTERN: Regexp
|
|
9
|
+
|
|
10
|
+
SORT_FIELDS: Hash[String, ^(untyped) -> untyped]
|
|
11
|
+
|
|
12
|
+
def initialize: (?repository: Repositories::Container?) -> void
|
|
13
|
+
|
|
14
|
+
def selector_class: () -> singleton(Selectors::Container)
|
|
15
|
+
|
|
16
|
+
def list: (?node: String?, ?name: String?, ?args: Array[String], ?storage: String?, ?sort: String?) -> Array[Models::Container]
|
|
17
|
+
|
|
18
|
+
def presenter: () -> Presenters::Container
|
|
19
|
+
|
|
20
|
+
def describe: (name: String, ?node: String?, ?args: Array[String], ?vmid: Array[String]?) -> Models::Container
|
|
21
|
+
|
|
22
|
+
private
|
|
23
|
+
|
|
24
|
+
attr_reader repository: Repositories::Container
|
|
25
|
+
|
|
26
|
+
def build_repository: () -> Repositories::Container
|
|
27
|
+
|
|
28
|
+
def apply_sort: (Array[Models::Container] containers, String sort_field) -> Array[Models::Container]
|
|
29
|
+
|
|
30
|
+
def valid_ctid?: (String? ctid) -> bool
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Disks
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
def initialize: (?repository: Repositories::Disk?) -> void
|
|
9
|
+
|
|
10
|
+
def list: (?node: String?, ?name: String?, ?args: Array[String], ?storage: String?) -> Array[Models::PhysicalDisk]
|
|
11
|
+
|
|
12
|
+
def describe: (name: String, ?node: String?, ?args: Array[String], ?vmid: String?) -> Models::PhysicalDisk
|
|
13
|
+
|
|
14
|
+
def presenter: () -> Presenters::Disk
|
|
15
|
+
|
|
16
|
+
def selector_class: () -> singleton(Selectors::Disk)
|
|
17
|
+
|
|
18
|
+
private
|
|
19
|
+
|
|
20
|
+
attr_reader repository: Repositories::Disk
|
|
21
|
+
|
|
22
|
+
def build_repository: () -> Repositories::Disk
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Dns
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
def initialize: (?repository: Repositories::Dns?) -> void
|
|
9
|
+
|
|
10
|
+
def list: (?node: String?, **untyped options) -> Array[Models::DnsConfig]
|
|
11
|
+
|
|
12
|
+
def presenter: () -> Presenters::DnsConfig
|
|
13
|
+
|
|
14
|
+
def describe: (name: String?, ?node: String?, **untyped opts) -> Models::DnsConfig
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
attr_reader repository: Repositories::Dns
|
|
19
|
+
|
|
20
|
+
def build_repository: () -> Repositories::Dns
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Hosts
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
def initialize: (?repository: Repositories::Hosts?) -> void
|
|
9
|
+
|
|
10
|
+
def list: (?node: String?, **untyped options) -> Array[Models::HostsFile]
|
|
11
|
+
|
|
12
|
+
def presenter: () -> Presenters::HostsFile
|
|
13
|
+
|
|
14
|
+
def describe: (name: String?, ?node: String?, **untyped opts) -> Models::HostsFile
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
attr_reader repository: Repositories::Hosts
|
|
19
|
+
|
|
20
|
+
def build_repository: () -> Repositories::Hosts
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Nodes
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
SORT_FIELDS: Hash[String, ^(untyped) -> untyped]
|
|
9
|
+
|
|
10
|
+
def initialize: (?repository: Repositories::Node?) -> void
|
|
11
|
+
|
|
12
|
+
def list: (?node: String?, ?name: String?, ?args: Array[String], ?storage: String?, ?filter: Hash[Symbol, String]?, ?sort: String?, ?include_details: bool) -> Array[Models::Node]
|
|
13
|
+
|
|
14
|
+
def presenter: () -> Presenters::Node
|
|
15
|
+
|
|
16
|
+
def describe: (name: String, ?node: String?, ?args: Array[String], ?vmid: Array[String]?) -> Models::Node
|
|
17
|
+
|
|
18
|
+
private
|
|
19
|
+
|
|
20
|
+
attr_reader repository: Repositories::Node
|
|
21
|
+
|
|
22
|
+
def build_repository: () -> Repositories::Node
|
|
23
|
+
|
|
24
|
+
def apply_filters: (Array[Models::Node] nodes, Hash[Symbol, String] filter) -> Array[Models::Node]
|
|
25
|
+
|
|
26
|
+
def apply_sort: (Array[Models::Node] nodes, String sort_field) -> Array[Models::Node]
|
|
27
|
+
|
|
28
|
+
def valid_node_name?: (String? name) -> bool
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Services
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
def initialize: (?repository: Repositories::Service?) -> void
|
|
9
|
+
|
|
10
|
+
def list: (?node: String?, ?name: String?, **untyped options) -> Array[Models::Service]
|
|
11
|
+
|
|
12
|
+
def presenter: () -> Presenters::Service
|
|
13
|
+
|
|
14
|
+
private
|
|
15
|
+
|
|
16
|
+
def repository: () -> Repositories::Service
|
|
17
|
+
|
|
18
|
+
def build_repository: () -> Repositories::Service
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Snapshots
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
def initialize: (?service: untyped) -> void
|
|
9
|
+
|
|
10
|
+
def list: (?node: String?, ?name: String?, ?args: Array[String], ?storage: String?, ?vmid: Array[String]?) -> Array[Models::Snapshot]
|
|
11
|
+
|
|
12
|
+
def describe: (name: String, ?node: String?, ?args: Array[String], ?vmid: Array[String]?) -> Models::SnapshotDescription
|
|
13
|
+
|
|
14
|
+
def presenter: () -> Presenters::Snapshot
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
def parse_vmids: (Array[String]? vmid) -> Array[Integer]
|
|
19
|
+
|
|
20
|
+
def service: () -> untyped
|
|
21
|
+
|
|
22
|
+
def build_service: () -> untyped
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Storage
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
def initialize: (?repository: Repositories::Storage?) -> void
|
|
9
|
+
|
|
10
|
+
def list: (?node: String?, ?name: String?, ?args: Array[String], ?storage: String?) -> Array[Models::Storage]
|
|
11
|
+
|
|
12
|
+
def presenter: () -> Presenters::Storage
|
|
13
|
+
|
|
14
|
+
def describe: (name: String, ?node: String?, ?args: Array[String], ?vmid: Array[String]?) -> (Models::Storage | Array[Models::Storage])
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
attr_reader repository: Repositories::Storage
|
|
19
|
+
|
|
20
|
+
def build_repository: () -> Repositories::Storage
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Subscription
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
def initialize: (?repository: Repositories::Subscription?) -> void
|
|
9
|
+
|
|
10
|
+
def list: (?node: String?, ?name: String?, ?args: Array[String], ?storage: String?) -> Array[Models::Subscription]
|
|
11
|
+
|
|
12
|
+
def presenter: () -> Presenters::Subscription
|
|
13
|
+
|
|
14
|
+
def describe: (name: String, ?node: String?, ?args: Array[String], ?vmid: Array[String]?) -> Models::Subscription
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
attr_reader repository: Repositories::Subscription
|
|
19
|
+
|
|
20
|
+
def build_repository: () -> Repositories::Subscription
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Tasks
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
@service: Services::TaskListing?
|
|
9
|
+
|
|
10
|
+
def initialize: (?service: Services::TaskListing?) -> void
|
|
11
|
+
|
|
12
|
+
def list: (?node: String?, ?name: String?, ?limit: Integer,
|
|
13
|
+
?since: String?, ?until_time: String?,
|
|
14
|
+
?type_filter: String?, ?status_filter: String?,
|
|
15
|
+
**untyped) -> Array[Models::TaskEntry]
|
|
16
|
+
|
|
17
|
+
def presenter: () -> Presenters::TaskEntry
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def service: () -> Services::TaskListing
|
|
22
|
+
|
|
23
|
+
def build_service: () -> Services::TaskListing
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Templates
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
TYPE_MAP: Hash[String, String]
|
|
9
|
+
SORT_FIELDS: Hash[String, ^(Models::Vm | Models::Container) -> untyped]
|
|
10
|
+
|
|
11
|
+
@vm_repository: Repositories::Vm?
|
|
12
|
+
@container_repository: Repositories::Container?
|
|
13
|
+
|
|
14
|
+
def initialize: (?vm_repository: Repositories::Vm?, ?container_repository: Repositories::Container?) -> void
|
|
15
|
+
|
|
16
|
+
def list: (?node: String?, ?name: String?, ?type_filter: String?,
|
|
17
|
+
?sort: String?, **untyped) -> Array[Models::Vm | Models::Container]
|
|
18
|
+
|
|
19
|
+
def presenter: () -> Presenters::Template
|
|
20
|
+
|
|
21
|
+
private
|
|
22
|
+
|
|
23
|
+
def vm_repository: () -> Repositories::Vm
|
|
24
|
+
def container_repository: () -> Repositories::Container
|
|
25
|
+
def build_vm_repository: () -> Repositories::Vm
|
|
26
|
+
def build_container_repository: () -> Repositories::Container
|
|
27
|
+
def validate_type_filter!: (String? type_filter) -> void
|
|
28
|
+
def skip_vms?: (String? type_filter) -> bool
|
|
29
|
+
def skip_containers?: (String? type_filter) -> bool
|
|
30
|
+
def apply_sort: (Array[Models::Vm | Models::Container] templates, String sort_field) -> Array[Models::Vm | Models::Container]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Time
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
def initialize: (?repository: Repositories::TimeConfig?, ?node_repository: Repositories::Node?) -> void
|
|
9
|
+
|
|
10
|
+
def list: (?node: String?, ?name: String?, ?args: Array[String], ?storage: String?) -> Array[Models::TimeConfig]
|
|
11
|
+
|
|
12
|
+
def presenter: () -> Presenters::TimeConfig
|
|
13
|
+
|
|
14
|
+
private
|
|
15
|
+
|
|
16
|
+
def fetch_for: (String node_name) -> Models::TimeConfig
|
|
17
|
+
|
|
18
|
+
def online_node_names: () -> Array[String]
|
|
19
|
+
|
|
20
|
+
def repository: () -> Repositories::TimeConfig
|
|
21
|
+
|
|
22
|
+
def node_repository: () -> Repositories::Node
|
|
23
|
+
|
|
24
|
+
def connection: () -> untyped
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Vms
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
VMID_PATTERN: Regexp
|
|
9
|
+
|
|
10
|
+
SORT_FIELDS: Hash[String, ^(untyped) -> untyped]
|
|
11
|
+
|
|
12
|
+
def initialize: (?repository: Repositories::Vm?) -> void
|
|
13
|
+
|
|
14
|
+
def selector_class: () -> singleton(Selectors::Vm)
|
|
15
|
+
|
|
16
|
+
def list: (?node: String?, ?name: String?, ?args: Array[String], ?storage: String?, ?sort: String?) -> Array[Models::Vm]
|
|
17
|
+
|
|
18
|
+
def presenter: () -> Presenters::Vm
|
|
19
|
+
|
|
20
|
+
def describe: (name: String, ?node: String?, ?args: Array[String], ?vmid: Array[String]?) -> Models::Vm
|
|
21
|
+
|
|
22
|
+
private
|
|
23
|
+
|
|
24
|
+
attr_reader repository: Repositories::Vm
|
|
25
|
+
|
|
26
|
+
def build_repository: () -> Repositories::Vm
|
|
27
|
+
|
|
28
|
+
def apply_sort: (Array[Models::Vm] vms, String sort_field) -> Array[Models::Vm]
|
|
29
|
+
|
|
30
|
+
def valid_vmid?: (String? vmid) -> bool
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Get
|
|
4
|
+
module Handlers
|
|
5
|
+
class Volume
|
|
6
|
+
include ResourceHandler
|
|
7
|
+
|
|
8
|
+
def initialize: (?repository: Repositories::Volume?) -> void
|
|
9
|
+
|
|
10
|
+
def list: (?args: Array[String], ?storage: String?, ?node: String?, **untyped _options) -> Array[Models::Volume]
|
|
11
|
+
|
|
12
|
+
def describe: (name: String, ?args: Array[String], ?node: String?, **untyped _options) -> Models::Volume
|
|
13
|
+
|
|
14
|
+
def presenter: () -> Presenters::Volume
|
|
15
|
+
|
|
16
|
+
def selector_class: () -> singleton(Selectors::Volume)
|
|
17
|
+
|
|
18
|
+
private
|
|
19
|
+
|
|
20
|
+
attr_reader repository: Repositories::Volume
|
|
21
|
+
|
|
22
|
+
def build_repository: () -> Repositories::Volume
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|