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,25 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
class SendkeyVm
|
|
4
|
+
def self.register: (untyped cli) -> void
|
|
5
|
+
|
|
6
|
+
def self.execute: (Array[String] args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> Integer
|
|
7
|
+
|
|
8
|
+
def initialize: (Array[String] args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> void
|
|
9
|
+
|
|
10
|
+
def execute: () -> Integer
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
|
|
14
|
+
def perform_sendkey: (Integer vmid, String key) -> Integer
|
|
15
|
+
|
|
16
|
+
def vm_not_found?: (Models::VmOperationResult result) -> bool
|
|
17
|
+
|
|
18
|
+
def load_config: () -> void
|
|
19
|
+
|
|
20
|
+
def output_result: (Models::VmOperationResult result) -> void
|
|
21
|
+
|
|
22
|
+
def usage_error: (String message) -> Integer
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
class Service
|
|
4
|
+
CONFIRMABLE_OPERATIONS: Array[Symbol]
|
|
5
|
+
OPERATIONS: Array[Symbol]
|
|
6
|
+
|
|
7
|
+
def self.register: (untyped cli) -> void
|
|
8
|
+
|
|
9
|
+
def self.register_subcommand: (untyped parent, Symbol operation) -> void
|
|
10
|
+
|
|
11
|
+
def self.subcommand_long_desc: (Symbol operation) -> String
|
|
12
|
+
|
|
13
|
+
def self.execute: (Symbol operation, Array[String] args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> Integer
|
|
14
|
+
|
|
15
|
+
def initialize: (Symbol operation, Array[String] args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options, ?prompt: untyped, ?output: untyped) -> void
|
|
16
|
+
|
|
17
|
+
def execute: () -> Integer
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def load_config: () -> void
|
|
22
|
+
|
|
23
|
+
def resolve_node: () -> String?
|
|
24
|
+
|
|
25
|
+
def confirm!: (String service_name, String node) -> bool
|
|
26
|
+
|
|
27
|
+
def service_warning: (String service_name) -> String?
|
|
28
|
+
|
|
29
|
+
def perform: (String service_name, String node) -> Models::NodeOperationResult
|
|
30
|
+
|
|
31
|
+
def output_result: (Models::NodeOperationResult result) -> void
|
|
32
|
+
|
|
33
|
+
def usage_error: (String message) -> Integer
|
|
34
|
+
|
|
35
|
+
def config_error: (String message) -> Integer
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
class SetContainer
|
|
4
|
+
include SetResourceCommand
|
|
5
|
+
|
|
6
|
+
private
|
|
7
|
+
def resource_label: () -> String
|
|
8
|
+
def resource_id_label: () -> String
|
|
9
|
+
def execute_params: (String resource_id, Hash[String, String] key_values) -> Hash[Symbol, untyped]
|
|
10
|
+
def build_set_service: (untyped connection) -> Services::SetContainer
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
class SetNode
|
|
4
|
+
include SetResourceCommand
|
|
5
|
+
|
|
6
|
+
private
|
|
7
|
+
def resource_label: () -> String
|
|
8
|
+
def resource_id_label: () -> String
|
|
9
|
+
def execute_params: (String resource_id, Hash[String, String] key_values) -> Hash[Symbol, untyped]
|
|
10
|
+
def build_set_service: (untyped connection) -> Services::SetNode
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module SetResourceCommand
|
|
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
|
+
def execute: () -> Integer
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
def resource_label: () -> String
|
|
15
|
+
def resource_id_label: () -> String
|
|
16
|
+
def execute_params: (String resource_id, Hash[String, String] key_values) -> Hash[Symbol, untyped]
|
|
17
|
+
def build_set_service: (untyped connection) -> untyped
|
|
18
|
+
def parse_key_values: (Array[String]? args) -> Hash[String, String]
|
|
19
|
+
def display_diff: (untyped result) -> void
|
|
20
|
+
def load_config: () -> void
|
|
21
|
+
def usage_error: (String message) -> Integer
|
|
22
|
+
def service_options: () -> Hash[Symbol, untyped]
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
class SetVm
|
|
4
|
+
include SetResourceCommand
|
|
5
|
+
|
|
6
|
+
def self.register: (untyped cli) -> void
|
|
7
|
+
|
|
8
|
+
private
|
|
9
|
+
def resource_label: () -> String
|
|
10
|
+
def resource_id_label: () -> String
|
|
11
|
+
def execute_params: (String resource_id, Hash[String, String] key_values) -> Hash[Symbol, untyped]
|
|
12
|
+
def build_set_service: (untyped connection) -> Services::SetVm
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
class SetVolume
|
|
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
|
|
9
|
+
|
|
10
|
+
def initialize: (Array[String] args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> void
|
|
11
|
+
def execute: () -> Integer
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
def parse_key_values: (Array[String] args) -> Hash[String, String]
|
|
15
|
+
def resolve_node: (Integer resource_id, untyped connection, String resource_type) -> String?
|
|
16
|
+
def confirm_resize: (String resource_id, String disk, String size) -> bool
|
|
17
|
+
def build_repository: (untyped connection, String resource_type) -> untyped
|
|
18
|
+
def resource_type_symbol: (String resource_type) -> Symbol
|
|
19
|
+
def output_result: (untyped result) -> void
|
|
20
|
+
def load_config: () -> void
|
|
21
|
+
def usage_error: (String message) -> Integer
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module SharedConfigParsers
|
|
4
|
+
def parse_vm_disks: () -> Array[Hash[Symbol, String]]
|
|
5
|
+
|
|
6
|
+
def parse_vm_nets: () -> Array[Hash[Symbol, String]]
|
|
7
|
+
|
|
8
|
+
def parse_vm_cloud_init: () -> Hash[Symbol, untyped]
|
|
9
|
+
|
|
10
|
+
def parse_ct_mountpoints: () -> Array[Hash[Symbol, String]]
|
|
11
|
+
|
|
12
|
+
def parse_ct_nets: () -> Array[Hash[Symbol, String]]
|
|
13
|
+
|
|
14
|
+
def build_vm_config_params: () -> Hash[Symbol, untyped]
|
|
15
|
+
|
|
16
|
+
def build_ct_config_params: () -> Hash[Symbol, untyped]
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module SharedFlags
|
|
4
|
+
def self.lifecycle: (untyped command) -> void
|
|
5
|
+
def self.common_config: (untyped command) -> void
|
|
6
|
+
def self.vm_config: (untyped command) -> void
|
|
7
|
+
def self.container_config: (untyped command) -> void
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module TemplateCommand
|
|
4
|
+
include IrreversibleCommand
|
|
5
|
+
|
|
6
|
+
private
|
|
7
|
+
|
|
8
|
+
def perform_operation: () -> Integer
|
|
9
|
+
def confirm_operation: (Array[Models::Vm | Models::Container] resources) -> bool
|
|
10
|
+
def confirm_message: (Array[Models::Vm | Models::Container] resources) -> String
|
|
11
|
+
def irreversibility_warning: () -> String
|
|
12
|
+
def perform_service_call: (Array[Models::Vm | Models::Container] resources, Pvectl::Connection connection) -> Array[Models::OperationResult]
|
|
13
|
+
def convert_single: (Repositories::Base repo, Models::Vm | Models::Container resource) -> Models::OperationResult
|
|
14
|
+
def running_error: (Models::Vm | Models::Container resource) -> Models::OperationResult
|
|
15
|
+
def stop_resource: (Repositories::Base repo, Models::Vm | Models::Container resource) -> Models::OperationResult
|
|
16
|
+
def build_success_result: (Models::Vm | Models::Container resource) -> Models::OperationResult
|
|
17
|
+
def build_error_result: (Models::Vm | Models::Container resource, String error_message) -> Models::OperationResult
|
|
18
|
+
def build_presenter: () -> Presenters::Base
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Top
|
|
4
|
+
class Command
|
|
5
|
+
SHOW_ALL_RESOURCE_TYPES: Array[String]
|
|
6
|
+
|
|
7
|
+
def self.register: (untyped cli) -> void
|
|
8
|
+
|
|
9
|
+
def self.execute: (String? resource_type, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> Integer
|
|
10
|
+
|
|
11
|
+
def initialize: (String? resource_type, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options, ?handler: untyped?, ?registry: Class) -> void
|
|
12
|
+
|
|
13
|
+
def execute: () -> Integer
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
def missing_resource_type_error: () -> Integer
|
|
18
|
+
|
|
19
|
+
def unknown_resource_error: () -> Integer
|
|
20
|
+
|
|
21
|
+
def filter_running: (Array[untyped] models) -> Array[untyped]
|
|
22
|
+
|
|
23
|
+
def output_connection_error: (String message) -> void
|
|
24
|
+
|
|
25
|
+
def format_output: (Array[untyped] models, untyped presenter) -> String
|
|
26
|
+
|
|
27
|
+
def determine_color_enabled: () -> bool
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Top
|
|
4
|
+
module Handlers
|
|
5
|
+
class Containers
|
|
6
|
+
include Top::ResourceHandler
|
|
7
|
+
|
|
8
|
+
def initialize: (?get_handler: Get::Handlers::Containers?) -> void
|
|
9
|
+
|
|
10
|
+
def list: (?sort: String?, **untyped) -> Array[Models::Container]
|
|
11
|
+
|
|
12
|
+
def presenter: () -> Presenters::TopContainer
|
|
13
|
+
|
|
14
|
+
private
|
|
15
|
+
|
|
16
|
+
def get_handler: () -> Get::Handlers::Containers
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Top
|
|
4
|
+
module Handlers
|
|
5
|
+
class Nodes
|
|
6
|
+
include Top::ResourceHandler
|
|
7
|
+
|
|
8
|
+
def initialize: (?get_handler: Get::Handlers::Nodes?) -> void
|
|
9
|
+
|
|
10
|
+
def list: (?sort: String?, **untyped) -> Array[Models::Node]
|
|
11
|
+
|
|
12
|
+
def presenter: () -> Presenters::TopNode
|
|
13
|
+
|
|
14
|
+
private
|
|
15
|
+
|
|
16
|
+
def get_handler: () -> Get::Handlers::Nodes
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module Top
|
|
4
|
+
module Handlers
|
|
5
|
+
class Vms
|
|
6
|
+
include Top::ResourceHandler
|
|
7
|
+
|
|
8
|
+
def initialize: (?get_handler: Get::Handlers::Vms?) -> void
|
|
9
|
+
|
|
10
|
+
def list: (?sort: String?, **untyped) -> Array[Models::Vm]
|
|
11
|
+
|
|
12
|
+
def presenter: () -> Presenters::TopVm
|
|
13
|
+
|
|
14
|
+
private
|
|
15
|
+
|
|
16
|
+
def get_handler: () -> Get::Handlers::Vms
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
class UnlinkDiskVm
|
|
4
|
+
def self.register: (untyped cli) -> void
|
|
5
|
+
|
|
6
|
+
def self.execute: (Array[String] args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> Integer
|
|
7
|
+
|
|
8
|
+
def initialize: (Array[String] args, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options) -> void
|
|
9
|
+
|
|
10
|
+
def execute: () -> Integer
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
|
|
14
|
+
def load_config: () -> void
|
|
15
|
+
|
|
16
|
+
def resolve_node: (Integer vmid) -> String?
|
|
17
|
+
|
|
18
|
+
def build_repository: () -> Repositories::Vm
|
|
19
|
+
|
|
20
|
+
def confirm_operation: (Integer vmid, String disk_list) -> bool
|
|
21
|
+
|
|
22
|
+
def output_result: (Models::VmOperationResult result) -> void
|
|
23
|
+
|
|
24
|
+
def usage_error: (String message) -> Integer
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
module VmLifecycleCommand
|
|
4
|
+
include ResourceLifecycleCommand
|
|
5
|
+
|
|
6
|
+
def self.included: (Class base) -> void
|
|
7
|
+
|
|
8
|
+
private
|
|
9
|
+
|
|
10
|
+
def supported_resources: () -> Array[String]
|
|
11
|
+
|
|
12
|
+
def resource_label: () -> String
|
|
13
|
+
|
|
14
|
+
def resource_id_label: () -> String
|
|
15
|
+
|
|
16
|
+
def build_repository: (untyped connection) -> Repositories::Vm
|
|
17
|
+
|
|
18
|
+
def build_service: (untyped repo, untyped task_repo, Hash[Symbol, untyped] options) -> Services::VmLifecycle
|
|
19
|
+
|
|
20
|
+
def build_presenter: () -> Presenters::VmOperationResult
|
|
21
|
+
|
|
22
|
+
def build_selector: (Array[String] strings) -> Selectors::Vm
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Commands
|
|
3
|
+
class WakeonlanNode
|
|
4
|
+
def self.register: (untyped cli) -> void
|
|
5
|
+
|
|
6
|
+
def initialize: (String? node_name, Hash[Symbol, untyped] options, Hash[Symbol, untyped] global_options, ?service: Services::Wakeonlan?) -> void
|
|
7
|
+
|
|
8
|
+
def execute: () -> Integer
|
|
9
|
+
|
|
10
|
+
private
|
|
11
|
+
|
|
12
|
+
def service: () -> Services::Wakeonlan
|
|
13
|
+
|
|
14
|
+
def render: (Models::NodeOperationResult result) -> void
|
|
15
|
+
|
|
16
|
+
def color_enabled: () -> bool
|
|
17
|
+
|
|
18
|
+
def usage_error: (String msg) -> Integer
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Config
|
|
3
|
+
class ConfigError < StandardError
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
class ConfigNotFoundError < ConfigError
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class InvalidConfigError < ConfigError
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
class ContextNotFoundError < ConfigError
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
class ClusterNotFoundError < ConfigError
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
class UserNotFoundError < ConfigError
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
class MissingCredentialsError < ConfigError
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Config
|
|
3
|
+
module Models
|
|
4
|
+
class Cluster
|
|
5
|
+
attr_reader name: String
|
|
6
|
+
attr_reader server: String
|
|
7
|
+
attr_reader verify_ssl: bool
|
|
8
|
+
attr_reader certificate_authority: String?
|
|
9
|
+
attr_reader timeout: Integer?
|
|
10
|
+
attr_reader retry_count: Integer?
|
|
11
|
+
attr_reader retry_delay: Integer?
|
|
12
|
+
attr_reader max_retry_delay: Integer?
|
|
13
|
+
attr_reader retry_writes: bool?
|
|
14
|
+
|
|
15
|
+
def initialize: (
|
|
16
|
+
name: String,
|
|
17
|
+
server: String,
|
|
18
|
+
?verify_ssl: bool,
|
|
19
|
+
?certificate_authority: String?,
|
|
20
|
+
?timeout: Integer?,
|
|
21
|
+
?retry_count: Integer?,
|
|
22
|
+
?retry_delay: Integer?,
|
|
23
|
+
?max_retry_delay: Integer?,
|
|
24
|
+
?retry_writes: bool?
|
|
25
|
+
) -> void
|
|
26
|
+
|
|
27
|
+
def self.from_hash: (Hash[String, untyped]) -> Cluster
|
|
28
|
+
|
|
29
|
+
def to_hash: () -> Hash[String, untyped]
|
|
30
|
+
|
|
31
|
+
private
|
|
32
|
+
|
|
33
|
+
def validate_retry_settings!: () -> void
|
|
34
|
+
def validate_positive: (Symbol name, untyped value) -> void
|
|
35
|
+
def validate_non_negative_integer: (Symbol name, untyped value) -> void
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Config
|
|
3
|
+
module Models
|
|
4
|
+
class Context
|
|
5
|
+
attr_reader name: String
|
|
6
|
+
attr_reader cluster_ref: String
|
|
7
|
+
attr_reader user_ref: String
|
|
8
|
+
attr_reader default_node: String?
|
|
9
|
+
|
|
10
|
+
def initialize: (
|
|
11
|
+
name: String,
|
|
12
|
+
cluster_ref: String,
|
|
13
|
+
user_ref: String,
|
|
14
|
+
?default_node: String?
|
|
15
|
+
) -> void
|
|
16
|
+
|
|
17
|
+
def self.from_hash: (Hash[String, untyped]) -> Context
|
|
18
|
+
|
|
19
|
+
def to_hash: () -> Hash[String, untyped]
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Pvectl
|
|
2
|
+
module Config
|
|
3
|
+
module Models
|
|
4
|
+
class ResolvedConfig
|
|
5
|
+
DEFAULT_TIMEOUT: Integer
|
|
6
|
+
DEFAULT_RETRY_COUNT: Integer
|
|
7
|
+
DEFAULT_RETRY_DELAY: Integer
|
|
8
|
+
DEFAULT_MAX_RETRY_DELAY: Integer
|
|
9
|
+
DEFAULT_RETRY_WRITES: bool
|
|
10
|
+
|
|
11
|
+
attr_reader context_name: String
|
|
12
|
+
attr_reader server: String
|
|
13
|
+
attr_reader verify_ssl: bool
|
|
14
|
+
attr_reader certificate_authority: String?
|
|
15
|
+
attr_reader auth_type: Symbol
|
|
16
|
+
attr_reader token_id: String?
|
|
17
|
+
attr_reader token_secret: String?
|
|
18
|
+
attr_reader username: String?
|
|
19
|
+
attr_reader password: String?
|
|
20
|
+
attr_reader default_node: String?
|
|
21
|
+
attr_reader timeout: Integer
|
|
22
|
+
attr_reader retry_count: Integer
|
|
23
|
+
attr_reader retry_delay: Integer
|
|
24
|
+
attr_reader max_retry_delay: Integer
|
|
25
|
+
attr_reader retry_writes: bool
|
|
26
|
+
|
|
27
|
+
def initialize: (
|
|
28
|
+
context_name: String,
|
|
29
|
+
server: String,
|
|
30
|
+
auth_type: Symbol,
|
|
31
|
+
?verify_ssl: bool,
|
|
32
|
+
?certificate_authority: String?,
|
|
33
|
+
?token_id: String?,
|
|
34
|
+
?token_secret: String?,
|
|
35
|
+
?username: String?,
|
|
36
|
+
?password: String?,
|
|
37
|
+
?default_node: String?,
|
|
38
|
+
?timeout: Integer?,
|
|
39
|
+
?retry_count: Integer?,
|
|
40
|
+
?retry_delay: Integer?,
|
|
41
|
+
?max_retry_delay: Integer?,
|
|
42
|
+
?retry_writes: bool?
|
|
43
|
+
) -> void
|
|
44
|
+
|
|
45
|
+
def token_auth?: () -> bool
|
|
46
|
+
def password_auth?: () -> bool
|
|
47
|
+
def to_connection_options: () -> Hash[Symbol, untyped]
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|