knife-ionoscloud 5.1.2 → 6.0.0.alpha.1
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 +4 -4
- data/.github/workflows/publish.yml +1 -4
- data/docs/README.md +0 -19
- data/docs/docs_generator.rb +1 -1
- data/docs/subcommands/backupunit_create.md +2 -5
- data/docs/subcommands/backupunit_delete.md +1 -4
- data/docs/subcommands/backupunit_list.md +1 -4
- data/docs/subcommands/backupunit_ssourl.md +1 -4
- data/docs/subcommands/composite_server_create.md +1 -4
- data/docs/subcommands/contract_list.md +1 -4
- data/docs/subcommands/datacenter_create.md +1 -4
- data/docs/subcommands/datacenter_delete.md +1 -4
- data/docs/subcommands/datacenter_list.md +1 -4
- data/docs/subcommands/firewall_create.md +2 -5
- data/docs/subcommands/firewall_delete.md +0 -3
- data/docs/subcommands/firewall_list.md +1 -4
- data/docs/subcommands/group_create.md +1 -4
- data/docs/subcommands/group_delete.md +1 -4
- data/docs/subcommands/group_get.md +1 -4
- data/docs/subcommands/group_list.md +1 -4
- data/docs/subcommands/group_user_add.md +0 -3
- data/docs/subcommands/group_user_remove.md +0 -3
- data/docs/subcommands/image_list.md +1 -4
- data/docs/subcommands/ipblock_create.md +1 -4
- data/docs/subcommands/ipblock_delete.md +1 -4
- data/docs/subcommands/ipblock_list.md +1 -4
- data/docs/subcommands/ipfailover_add.md +1 -4
- data/docs/subcommands/ipfailover_remove.md +1 -4
- data/docs/subcommands/k8s_create.md +5 -11
- data/docs/subcommands/k8s_delete.md +1 -4
- data/docs/subcommands/k8s_list.md +1 -4
- data/docs/subcommands/kubeconfig_get.md +1 -4
- data/docs/subcommands/label_add.md +1 -4
- data/docs/subcommands/label_list.md +1 -4
- data/docs/subcommands/label_remove.md +0 -3
- data/docs/subcommands/lan_create.md +1 -4
- data/docs/subcommands/lan_delete.md +0 -3
- data/docs/subcommands/lan_list.md +1 -4
- data/docs/subcommands/loadbalancer_create.md +2 -5
- data/docs/subcommands/loadbalancer_delete.md +0 -3
- data/docs/subcommands/loadbalancer_get.md +1 -4
- data/docs/subcommands/loadbalancer_list.md +1 -4
- data/docs/subcommands/loadbalancer_nic_add.md +0 -3
- data/docs/subcommands/loadbalancer_nic_remove.md +0 -3
- data/docs/subcommands/location_list.md +1 -4
- data/docs/subcommands/nic_create.md +3 -6
- data/docs/subcommands/nic_delete.md +1 -4
- data/docs/subcommands/nic_list.md +1 -4
- data/docs/subcommands/node_delete.md +0 -3
- data/docs/subcommands/node_list.md +1 -4
- data/docs/subcommands/node_replace.md +0 -3
- data/docs/subcommands/nodepool_create.md +5 -17
- data/docs/subcommands/nodepool_delete.md +0 -3
- data/docs/subcommands/nodepool_list.md +1 -4
- data/docs/subcommands/pcc_create.md +1 -4
- data/docs/subcommands/pcc_delete.md +1 -4
- data/docs/subcommands/pcc_list.md +1 -4
- data/docs/subcommands/request_list.md +1 -4
- data/docs/subcommands/request_status.md +1 -4
- data/docs/subcommands/request_wait.md +1 -4
- data/docs/subcommands/resource_list.md +1 -4
- data/docs/subcommands/s3key_create.md +1 -4
- data/docs/subcommands/s3key_delete.md +0 -3
- data/docs/subcommands/s3key_list.md +1 -4
- data/docs/subcommands/server_create.md +1 -4
- data/docs/subcommands/server_delete.md +0 -3
- data/docs/subcommands/server_list.md +1 -4
- data/docs/subcommands/server_reboot.md +0 -3
- data/docs/subcommands/server_start.md +0 -3
- data/docs/subcommands/server_stop.md +0 -3
- data/docs/subcommands/share_create.md +2 -5
- data/docs/subcommands/share_delete.md +2 -5
- data/docs/subcommands/share_list.md +1 -4
- data/docs/subcommands/snapshot_create.md +1 -4
- data/docs/subcommands/snapshot_delete.md +1 -4
- data/docs/subcommands/snapshot_list.md +1 -4
- data/docs/subcommands/snapshot_restore.md +1 -4
- data/docs/subcommands/user_create.md +3 -12
- data/docs/subcommands/user_delete.md +1 -4
- data/docs/subcommands/user_list.md +1 -4
- data/docs/subcommands/user_ssourl.md +1 -4
- data/docs/subcommands/volume_attach.md +0 -3
- data/docs/subcommands/volume_create.md +1 -28
- data/docs/subcommands/volume_delete.md +0 -3
- data/docs/subcommands/volume_detach.md +0 -3
- data/docs/subcommands/volume_list.md +1 -4
- data/docs/summary.md +0 -33
- data/knife-ionoscloud.gemspec +1 -1
- data/lib/chef/knife/ionoscloud_backupunit_create.rb +16 -12
- data/lib/chef/knife/ionoscloud_backupunit_delete.rb +5 -3
- data/lib/chef/knife/ionoscloud_backupunit_list.rb +1 -2
- data/lib/chef/knife/ionoscloud_backupunit_ssourl.rb +1 -2
- data/lib/chef/knife/ionoscloud_base.rb +6 -259
- data/lib/chef/knife/ionoscloud_composite_server_create.rb +38 -9
- data/lib/chef/knife/ionoscloud_contract_list.rb +32 -24
- data/lib/chef/knife/ionoscloud_cube_server_create.rb +215 -0
- data/lib/chef/knife/ionoscloud_datacenter_create.rb +14 -12
- data/lib/chef/knife/ionoscloud_datacenter_delete.rb +8 -3
- data/lib/chef/knife/ionoscloud_datacenter_list.rb +3 -4
- data/lib/chef/knife/ionoscloud_firewall_create.rb +24 -7
- data/lib/chef/knife/ionoscloud_firewall_delete.rb +14 -6
- data/lib/chef/knife/ionoscloud_firewall_list.rb +5 -4
- data/lib/chef/knife/ionoscloud_flowlog_create.rb +121 -0
- data/lib/chef/knife/ionoscloud_flowlog_delete.rb +106 -0
- data/lib/chef/knife/ionoscloud_flowlog_list.rb +100 -0
- data/lib/chef/knife/ionoscloud_group_create.rb +46 -16
- data/lib/chef/knife/ionoscloud_group_delete.rb +18 -2
- data/lib/chef/knife/ionoscloud_group_get.rb +17 -2
- data/lib/chef/knife/ionoscloud_group_list.rb +7 -2
- data/lib/chef/knife/ionoscloud_group_user_add.rb +13 -2
- data/lib/chef/knife/ionoscloud_group_user_remove.rb +13 -2
- data/lib/chef/knife/ionoscloud_image_list.rb +1 -2
- data/lib/chef/knife/ionoscloud_ipblock_create.rb +13 -11
- data/lib/chef/knife/ionoscloud_ipblock_delete.rb +4 -3
- data/lib/chef/knife/ionoscloud_ipblock_list.rb +1 -2
- data/lib/chef/knife/ionoscloud_ipfailover_add.rb +15 -9
- data/lib/chef/knife/ionoscloud_ipfailover_remove.rb +9 -3
- data/lib/chef/knife/ionoscloud_k8s_create.rb +30 -28
- data/lib/chef/knife/ionoscloud_k8s_delete.rb +9 -2
- data/lib/chef/knife/ionoscloud_k8s_list.rb +0 -1
- data/lib/chef/knife/ionoscloud_kubeconfig_get.rb +0 -1
- data/lib/chef/knife/ionoscloud_label_add.rb +1 -2
- data/lib/chef/knife/ionoscloud_label_list.rb +1 -2
- data/lib/chef/knife/ionoscloud_label_remove.rb +1 -2
- data/lib/chef/knife/ionoscloud_lan_create.rb +14 -7
- data/lib/chef/knife/ionoscloud_lan_delete.rb +4 -4
- data/lib/chef/knife/ionoscloud_lan_list.rb +2 -5
- data/lib/chef/knife/ionoscloud_loadbalancer_create.rb +16 -7
- data/lib/chef/knife/ionoscloud_loadbalancer_delete.rb +10 -3
- data/lib/chef/knife/ionoscloud_loadbalancer_get.rb +13 -4
- data/lib/chef/knife/ionoscloud_loadbalancer_list.rb +1 -2
- data/lib/chef/knife/ionoscloud_loadbalancer_nic_add.rb +14 -5
- data/lib/chef/knife/ionoscloud_loadbalancer_nic_remove.rb +14 -5
- data/lib/chef/knife/ionoscloud_location_list.rb +5 -4
- data/lib/chef/knife/ionoscloud_natgateway_create.rb +71 -0
- data/lib/chef/knife/ionoscloud_natgateway_delete.rb +69 -0
- data/lib/chef/knife/ionoscloud_natgateway_lan_add.rb +82 -0
- data/lib/chef/knife/ionoscloud_natgateway_lan_remove.rb +58 -0
- data/lib/chef/knife/ionoscloud_natgateway_list.rb +49 -0
- data/lib/chef/knife/ionoscloud_natgateway_rule_add.rb +124 -0
- data/lib/chef/knife/ionoscloud_natgateway_rule_list.rb +63 -0
- data/lib/chef/knife/ionoscloud_natgateway_rule_remove.rb +72 -0
- data/lib/chef/knife/ionoscloud_networkloadbalancer_create.rb +95 -0
- data/lib/chef/knife/ionoscloud_networkloadbalancer_delete.rb +81 -0
- data/lib/chef/knife/ionoscloud_networkloadbalancer_list.rb +56 -0
- data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_add.rb +150 -0
- data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_list.rb +63 -0
- data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_remove.rb +78 -0
- data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_add.rb +141 -0
- data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_list.rb +68 -0
- data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove.rb +105 -0
- data/lib/chef/knife/ionoscloud_nic_create.rb +38 -19
- data/lib/chef/knife/ionoscloud_nic_delete.rb +11 -5
- data/lib/chef/knife/ionoscloud_nic_list.rb +9 -6
- data/lib/chef/knife/ionoscloud_node_delete.rb +6 -2
- data/lib/chef/knife/ionoscloud_node_list.rb +0 -2
- data/lib/chef/knife/ionoscloud_node_replace.rb +0 -1
- data/lib/chef/knife/ionoscloud_nodepool_create.rb +60 -38
- data/lib/chef/knife/ionoscloud_nodepool_delete.rb +32 -2
- data/lib/chef/knife/ionoscloud_nodepool_lan_add.rb +130 -0
- data/lib/chef/knife/ionoscloud_nodepool_lan_remove.rb +96 -0
- data/lib/chef/knife/ionoscloud_nodepool_list.rb +3 -2
- data/lib/chef/knife/ionoscloud_pcc_create.rb +18 -13
- data/lib/chef/knife/ionoscloud_pcc_delete.rb +10 -3
- data/lib/chef/knife/ionoscloud_pcc_list.rb +1 -2
- data/lib/chef/knife/ionoscloud_request_list.rb +1 -2
- data/lib/chef/knife/ionoscloud_request_status.rb +1 -2
- data/lib/chef/knife/ionoscloud_request_wait.rb +0 -1
- data/lib/chef/knife/ionoscloud_resource_list.rb +0 -1
- data/lib/chef/knife/ionoscloud_s3key_create.rb +7 -4
- data/lib/chef/knife/ionoscloud_s3key_delete.rb +7 -5
- data/lib/chef/knife/ionoscloud_s3key_list.rb +2 -3
- data/lib/chef/knife/{ionoscloud_server_get.rb → ionoscloud_server_console.rb} +11 -10
- data/lib/chef/knife/ionoscloud_server_create.rb +26 -15
- data/lib/chef/knife/ionoscloud_server_delete.rb +10 -3
- data/lib/chef/knife/ionoscloud_server_list.rb +16 -6
- data/lib/chef/knife/ionoscloud_server_reboot.rb +1 -2
- data/lib/chef/knife/ionoscloud_server_resume.rb +43 -0
- data/lib/chef/knife/ionoscloud_server_start.rb +1 -2
- data/lib/chef/knife/ionoscloud_server_stop.rb +1 -2
- data/lib/chef/knife/ionoscloud_server_suspend.rb +44 -0
- data/lib/chef/knife/ionoscloud_server_token.rb +42 -0
- data/lib/chef/knife/ionoscloud_server_upgrade.rb +44 -0
- data/lib/chef/knife/ionoscloud_share_create.rb +12 -8
- data/lib/chef/knife/ionoscloud_share_delete.rb +4 -3
- data/lib/chef/knife/ionoscloud_share_list.rb +0 -1
- data/lib/chef/knife/ionoscloud_snapshot_create.rb +10 -3
- data/lib/chef/knife/ionoscloud_snapshot_delete.rb +7 -3
- data/lib/chef/knife/ionoscloud_snapshot_list.rb +1 -2
- data/lib/chef/knife/ionoscloud_snapshot_restore.rb +2 -3
- data/lib/chef/knife/ionoscloud_template_list.rb +46 -0
- data/lib/chef/knife/ionoscloud_user_create.rb +20 -25
- data/lib/chef/knife/ionoscloud_user_delete.rb +7 -2
- data/lib/chef/knife/ionoscloud_user_list.rb +0 -1
- data/lib/chef/knife/ionoscloud_user_ssourl.rb +1 -2
- data/lib/chef/knife/ionoscloud_volume_attach.rb +1 -2
- data/lib/chef/knife/ionoscloud_volume_create.rb +31 -57
- data/lib/chef/knife/ionoscloud_volume_delete.rb +9 -3
- data/lib/chef/knife/ionoscloud_volume_detach.rb +9 -3
- data/lib/chef/knife/ionoscloud_volume_list.rb +2 -3
- data/lib/knife-ionoscloud/version.rb +1 -1
- data/spec/chef/knife/ionoscloud_backupunit_create_spec.rb +2 -2
- data/spec/chef/knife/ionoscloud_backupunit_delete_spec.rb +5 -5
- data/spec/chef/knife/ionoscloud_backupunit_list_spec.rb +1 -1
- data/spec/chef/knife/ionoscloud_backupunit_ssourl_spec.rb +3 -3
- data/spec/chef/knife/ionoscloud_base_spec.rb +4 -4
- data/spec/chef/knife/ionoscloud_composite_server_create_spec.rb +11 -8
- data/spec/chef/knife/ionoscloud_contract_list_spec.rb +32 -27
- data/spec/chef/knife/ionoscloud_cube_server_create_spec.rb +249 -0
- data/spec/chef/knife/ionoscloud_datacenter_create_spec.rb +3 -12
- data/spec/chef/knife/ionoscloud_datacenter_delete_spec.rb +5 -8
- data/spec/chef/knife/ionoscloud_datacenter_list_spec.rb +4 -4
- data/spec/chef/knife/ionoscloud_firewall_create_spec.rb +5 -3
- data/spec/chef/knife/ionoscloud_firewall_delete_spec.rb +6 -5
- data/spec/chef/knife/ionoscloud_firewall_list_spec.rb +5 -3
- data/spec/chef/knife/ionoscloud_flowlog_create_spec.rb +254 -0
- data/spec/chef/knife/ionoscloud_flowlog_delete_spec.rb +360 -0
- data/spec/chef/knife/ionoscloud_flowlog_list_spec.rb +264 -0
- data/spec/chef/knife/ionoscloud_group_create_spec.rb +6 -7
- data/spec/chef/knife/ionoscloud_group_delete_spec.rb +3 -0
- data/spec/chef/knife/ionoscloud_group_get_spec.rb +3 -0
- data/spec/chef/knife/ionoscloud_group_list_spec.rb +11 -2
- data/spec/chef/knife/ionoscloud_group_user_add_spec.rb +0 -3
- data/spec/chef/knife/ionoscloud_group_user_remove_spec.rb +0 -3
- data/spec/chef/knife/ionoscloud_image_list_spec.rb +2 -2
- data/spec/chef/knife/ionoscloud_ipblock_delete_spec.rb +0 -2
- data/spec/chef/knife/ionoscloud_ipblock_list_spec.rb +1 -1
- data/spec/chef/knife/ionoscloud_ipfailover_add_spec.rb +4 -5
- data/spec/chef/knife/ionoscloud_ipfailover_remove_spec.rb +7 -8
- data/spec/chef/knife/ionoscloud_k8s_create_spec.rb +0 -8
- data/spec/chef/knife/ionoscloud_k8s_delete_spec.rb +1 -7
- data/spec/chef/knife/ionoscloud_kubeconfig_get_spec.rb +2 -2
- data/spec/chef/knife/ionoscloud_label_add_spec.rb +10 -10
- data/spec/chef/knife/ionoscloud_label_list_spec.rb +14 -14
- data/spec/chef/knife/ionoscloud_label_remove_spec.rb +20 -20
- data/spec/chef/knife/ionoscloud_lan_create_spec.rb +3 -4
- data/spec/chef/knife/ionoscloud_lan_delete_spec.rb +5 -7
- data/spec/chef/knife/ionoscloud_lan_list_spec.rb +3 -5
- data/spec/chef/knife/ionoscloud_loadbalancer_create_spec.rb +3 -3
- data/spec/chef/knife/ionoscloud_loadbalancer_delete_spec.rb +5 -5
- data/spec/chef/knife/ionoscloud_loadbalancer_get_spec.rb +2 -2
- data/spec/chef/knife/ionoscloud_loadbalancer_list_spec.rb +2 -2
- data/spec/chef/knife/ionoscloud_loadbalancer_nic_add_spec.rb +6 -6
- data/spec/chef/knife/ionoscloud_loadbalancer_nic_remove_spec.rb +6 -6
- data/spec/chef/knife/ionoscloud_location_list_spec.rb +5 -3
- data/spec/chef/knife/ionoscloud_natgateway_create_spec.rb +77 -0
- data/spec/chef/knife/ionoscloud_natgateway_delete_spec.rb +118 -0
- data/spec/chef/knife/ionoscloud_natgateway_lan_add_spec.rb +143 -0
- data/spec/chef/knife/ionoscloud_natgateway_lan_remove_spec.rb +194 -0
- data/spec/chef/knife/ionoscloud_natgateway_list_spec.rb +79 -0
- data/spec/chef/knife/ionoscloud_natgateway_rule_add_spec.rb +98 -0
- data/spec/chef/knife/ionoscloud_natgateway_rule_list_spec.rb +92 -0
- data/spec/chef/knife/ionoscloud_natgateway_rule_remove_spec.rb +77 -0
- data/spec/chef/knife/ionoscloud_networkloadbalancer_create_spec.rb +80 -0
- data/spec/chef/knife/ionoscloud_networkloadbalancer_delete_spec.rb +119 -0
- data/spec/chef/knife/ionoscloud_networkloadbalancer_list_spec.rb +88 -0
- data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_add_spec.rb +104 -0
- data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_list_spec.rb +89 -0
- data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_remove_spec.rb +124 -0
- data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_add_spec.rb +109 -0
- data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_list_spec.rb +85 -0
- data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove_spec.rb +263 -0
- data/spec/chef/knife/ionoscloud_nic_create_spec.rb +9 -5
- data/spec/chef/knife/ionoscloud_nic_delete_spec.rb +8 -6
- data/spec/chef/knife/ionoscloud_nic_list_spec.rb +12 -6
- data/spec/chef/knife/ionoscloud_nodepool_create_spec.rb +20 -13
- data/spec/chef/knife/ionoscloud_nodepool_delete_spec.rb +13 -27
- data/spec/chef/knife/ionoscloud_nodepool_lan_add_spec.rb +226 -0
- data/spec/chef/knife/ionoscloud_nodepool_lan_remove.rb +199 -0
- data/spec/chef/knife/ionoscloud_nodepool_list_spec.rb +3 -1
- data/spec/chef/knife/ionoscloud_pcc_create_spec.rb +8 -11
- data/spec/chef/knife/ionoscloud_pcc_delete_spec.rb +6 -6
- data/spec/chef/knife/ionoscloud_pcc_list_spec.rb +2 -2
- data/spec/chef/knife/ionoscloud_request_list_spec.rb +24 -25
- data/spec/chef/knife/ionoscloud_request_status_spec.rb +3 -3
- data/spec/chef/knife/ionoscloud_s3key_create_spec.rb +2 -2
- data/spec/chef/knife/ionoscloud_s3key_delete_spec.rb +5 -5
- data/spec/chef/knife/ionoscloud_s3key_list_spec.rb +2 -2
- data/spec/chef/knife/ionoscloud_server_console_spec.rb +97 -0
- data/spec/chef/knife/ionoscloud_server_create_spec.rb +3 -3
- data/spec/chef/knife/ionoscloud_server_delete_spec.rb +5 -5
- data/spec/chef/knife/ionoscloud_server_list_spec.rb +63 -5
- data/spec/chef/knife/ionoscloud_server_reboot_spec.rb +3 -5
- data/spec/chef/knife/ionoscloud_server_resume_spec.rb +93 -0
- data/spec/chef/knife/ionoscloud_server_start_spec.rb +3 -5
- data/spec/chef/knife/ionoscloud_server_stop_spec.rb +3 -5
- data/spec/chef/knife/ionoscloud_server_suspend_spec.rb +93 -0
- data/spec/chef/knife/ionoscloud_server_token_spec.rb +97 -0
- data/spec/chef/knife/ionoscloud_server_upgrade_spec.rb +96 -0
- data/spec/chef/knife/ionoscloud_snapshot_create_spec.rb +3 -16
- data/spec/chef/knife/ionoscloud_snapshot_delete_spec.rb +5 -17
- data/spec/chef/knife/ionoscloud_snapshot_list_spec.rb +2 -2
- data/spec/chef/knife/ionoscloud_snapshot_restore_spec.rb +3 -3
- data/spec/chef/knife/ionoscloud_template_list_spec.rb +78 -0
- data/spec/chef/knife/ionoscloud_user_create_spec.rb +1 -3
- data/spec/chef/knife/ionoscloud_user_delete_spec.rb +2 -4
- data/spec/chef/knife/ionoscloud_user_ssourl_spec.rb +3 -3
- data/spec/chef/knife/ionoscloud_volume_attach_spec.rb +4 -4
- data/spec/chef/knife/ionoscloud_volume_create_spec.rb +6 -15
- data/spec/chef/knife/ionoscloud_volume_delete_spec.rb +5 -14
- data/spec/chef/knife/ionoscloud_volume_detach_spec.rb +5 -14
- data/spec/chef/knife/ionoscloud_volume_list_spec.rb +4 -4
- data/spec/spec_helper.rb +270 -116
- metadata +93 -138
- data/docs/subcommands/backupunit_get.md +0 -35
- data/docs/subcommands/backupunit_update.md +0 -41
- data/docs/subcommands/datacenter_get.md +0 -35
- data/docs/subcommands/datacenter_update.md +0 -44
- data/docs/subcommands/firewall_get.md +0 -47
- data/docs/subcommands/firewall_update.md +0 -71
- data/docs/subcommands/group_update.md +0 -65
- data/docs/subcommands/ipblock_get.md +0 -35
- data/docs/subcommands/ipblock_update.md +0 -38
- data/docs/subcommands/k8s_get.md +0 -35
- data/docs/subcommands/k8s_update.md +0 -53
- data/docs/subcommands/lan_get.md +0 -39
- data/docs/subcommands/lan_update.md +0 -51
- data/docs/subcommands/loadbalancer_update.md +0 -48
- data/docs/subcommands/nic_get.md +0 -43
- data/docs/subcommands/nic_update.md +0 -58
- data/docs/subcommands/node_get.md +0 -43
- data/docs/subcommands/nodepool_get.md +0 -39
- data/docs/subcommands/nodepool_update.md +0 -69
- data/docs/subcommands/pcc_get.md +0 -35
- data/docs/subcommands/pcc_update.md +0 -41
- data/docs/subcommands/request_get.md +0 -35
- data/docs/subcommands/s3key_get.md +0 -39
- data/docs/subcommands/server_get.md +0 -39
- data/docs/subcommands/server_update.md +0 -60
- data/docs/subcommands/share_get.md +0 -39
- data/docs/subcommands/share_update.md +0 -45
- data/docs/subcommands/snapshot_get.md +0 -35
- data/docs/subcommands/snapshot_update.md +0 -77
- data/docs/subcommands/user_get.md +0 -35
- data/docs/subcommands/user_update.md +0 -56
- data/docs/subcommands/volume_get.md +0 -39
- data/docs/subcommands/volume_update.md +0 -66
- data/lib/chef/knife/ionoscloud_backupunit_get.rb +0 -33
- data/lib/chef/knife/ionoscloud_backupunit_update.rb +0 -62
- data/lib/chef/knife/ionoscloud_datacenter_get.rb +0 -33
- data/lib/chef/knife/ionoscloud_datacenter_update.rb +0 -67
- data/lib/chef/knife/ionoscloud_firewall_get.rb +0 -50
- data/lib/chef/knife/ionoscloud_firewall_update.rb +0 -131
- data/lib/chef/knife/ionoscloud_group_update.rb +0 -114
- data/lib/chef/knife/ionoscloud_ipblock_get.rb +0 -33
- data/lib/chef/knife/ionoscloud_ipblock_update.rb +0 -57
- data/lib/chef/knife/ionoscloud_k8s_get.rb +0 -33
- data/lib/chef/knife/ionoscloud_k8s_update.rb +0 -99
- data/lib/chef/knife/ionoscloud_lan_get.rb +0 -38
- data/lib/chef/knife/ionoscloud_lan_update.rb +0 -87
- data/lib/chef/knife/ionoscloud_loadbalancer_update.rb +0 -73
- data/lib/chef/knife/ionoscloud_nic_get.rb +0 -47
- data/lib/chef/knife/ionoscloud_nic_update.rb +0 -93
- data/lib/chef/knife/ionoscloud_node_get.rb +0 -47
- data/lib/chef/knife/ionoscloud_nodepool_get.rb +0 -41
- data/lib/chef/knife/ionoscloud_nodepool_update.rb +0 -124
- data/lib/chef/knife/ionoscloud_pcc_get.rb +0 -33
- data/lib/chef/knife/ionoscloud_pcc_update.rb +0 -63
- data/lib/chef/knife/ionoscloud_request_get.rb +0 -40
- data/lib/chef/knife/ionoscloud_s3key_get.rb +0 -38
- data/lib/chef/knife/ionoscloud_server_update.rb +0 -97
- data/lib/chef/knife/ionoscloud_share_get.rb +0 -38
- data/lib/chef/knife/ionoscloud_share_update.rb +0 -70
- data/lib/chef/knife/ionoscloud_snapshot_get.rb +0 -32
- data/lib/chef/knife/ionoscloud_snapshot_update.rb +0 -126
- data/lib/chef/knife/ionoscloud_user_get.rb +0 -32
- data/lib/chef/knife/ionoscloud_user_update.rb +0 -92
- data/lib/chef/knife/ionoscloud_volume_get.rb +0 -36
- data/lib/chef/knife/ionoscloud_volume_update.rb +0 -106
- data/spec/chef/knife/ionoscloud_backupunit_get_spec.rb +0 -65
- data/spec/chef/knife/ionoscloud_backupunit_update_spec.rb +0 -78
- data/spec/chef/knife/ionoscloud_datacenter_get_spec.rb +0 -69
- data/spec/chef/knife/ionoscloud_datacenter_update_spec.rb +0 -82
- data/spec/chef/knife/ionoscloud_firewall_get_spec.rb +0 -76
- data/spec/chef/knife/ionoscloud_firewall_update_spec.rb +0 -116
- data/spec/chef/knife/ionoscloud_group_update_spec.rb +0 -109
- data/spec/chef/knife/ionoscloud_ipblock_get_spec.rb +0 -66
- data/spec/chef/knife/ionoscloud_ipblock_update_spec.rb +0 -79
- data/spec/chef/knife/ionoscloud_k8s_get_spec.rb +0 -73
- data/spec/chef/knife/ionoscloud_k8s_update_spec.rb +0 -115
- data/spec/chef/knife/ionoscloud_lan_get_spec.rb +0 -68
- data/spec/chef/knife/ionoscloud_lan_update_spec.rb +0 -91
- data/spec/chef/knife/ionoscloud_loadbalancer_update_spec.rb +0 -89
- data/spec/chef/knife/ionoscloud_nic_get_spec.rb +0 -70
- data/spec/chef/knife/ionoscloud_nic_update_spec.rb +0 -92
- data/spec/chef/knife/ionoscloud_node_get_spec.rb +0 -70
- data/spec/chef/knife/ionoscloud_nodepool_get_spec.rb +0 -83
- data/spec/chef/knife/ionoscloud_nodepool_update_spec.rb +0 -130
- data/spec/chef/knife/ionoscloud_pcc_get_spec.rb +0 -71
- data/spec/chef/knife/ionoscloud_pcc_update_spec.rb +0 -83
- data/spec/chef/knife/ionoscloud_request_get_spec.rb +0 -69
- data/spec/chef/knife/ionoscloud_s3key_get_spec.rb +0 -66
- data/spec/chef/knife/ionoscloud_server_get_spec.rb +0 -71
- data/spec/chef/knife/ionoscloud_server_update_spec.rb +0 -102
- data/spec/chef/knife/ionoscloud_share_get_spec.rb +0 -66
- data/spec/chef/knife/ionoscloud_share_update_spec.rb +0 -91
- data/spec/chef/knife/ionoscloud_snapshot_get_spec.rb +0 -79
- data/spec/chef/knife/ionoscloud_snapshot_update_spec.rb +0 -113
- data/spec/chef/knife/ionoscloud_user_get_spec.rb +0 -70
- data/spec/chef/knife/ionoscloud_user_update_spec.rb +0 -110
- data/spec/chef/knife/ionoscloud_volume_get_spec.rb +0 -80
- data/spec/chef/knife/ionoscloud_volume_update_spec.rb +0 -115
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
require_relative 'ionoscloud_base'
|
|
2
|
-
|
|
3
|
-
class Chef
|
|
4
|
-
class Knife
|
|
5
|
-
class IonoscloudNodepoolUpdate < Knife
|
|
6
|
-
include Knife::IonoscloudBase
|
|
7
|
-
|
|
8
|
-
banner 'knife ionoscloud nodepool update (options)'
|
|
9
|
-
|
|
10
|
-
option :cluster_id,
|
|
11
|
-
short: '-C CLUSTER_ID',
|
|
12
|
-
long: '--cluster-id CLUSTER_ID',
|
|
13
|
-
description: 'ID of the Kubernetes cluster'
|
|
14
|
-
|
|
15
|
-
option :nodepool_id,
|
|
16
|
-
short: '-P NODEPOOL_ID',
|
|
17
|
-
long: '--nodepool-id NODEPOOL_ID',
|
|
18
|
-
description: 'ID of the Kubernetes nodepool'
|
|
19
|
-
|
|
20
|
-
option :k8s_version,
|
|
21
|
-
short: '-v VERSION',
|
|
22
|
-
long: '--version VERSION',
|
|
23
|
-
description: 'The version for the Kubernetes cluster.'
|
|
24
|
-
|
|
25
|
-
option :maintenance_day,
|
|
26
|
-
long: '--maintenance-day MAINTENANCE_DAY',
|
|
27
|
-
description: 'Day Of the week when to perform the maintenance.'
|
|
28
|
-
|
|
29
|
-
option :maintenance_time,
|
|
30
|
-
short: '-t MAINTENANCE_TIME',
|
|
31
|
-
long: '--maintenance-time MAINTENANCE_TIME',
|
|
32
|
-
description: 'Time Of the day when to perform the maintenance.'
|
|
33
|
-
|
|
34
|
-
option :node_count,
|
|
35
|
-
short: '-c NODE_COUNT',
|
|
36
|
-
long: '--node-count NODE_COUNT',
|
|
37
|
-
description: 'The number of worker nodes that the node pool should contain. Min 2, Max: Determined by the resource availability.'
|
|
38
|
-
|
|
39
|
-
option :min_node_count,
|
|
40
|
-
long: '--min-node-count MIN_NODE_COUNT',
|
|
41
|
-
description: 'The minimum number of worker nodes that the managed node group can scale in'
|
|
42
|
-
|
|
43
|
-
option :max_node_count,
|
|
44
|
-
long: '--max-node-count MAX_NODE_COUNT',
|
|
45
|
-
description: 'The maximum number of worker nodes that the managed node pool can scale-out.'
|
|
46
|
-
|
|
47
|
-
option :lans,
|
|
48
|
-
long: '--lans LAN_ID [LAN_ID]',
|
|
49
|
-
description: 'An array of additional private LANs attached to worker nodes'
|
|
50
|
-
|
|
51
|
-
option :public_ips,
|
|
52
|
-
long: '--ips PUBLIC_IP [PUBLIC_IP]',
|
|
53
|
-
description: 'Optional array of reserved public IP addresses to be used by the nodes. '\
|
|
54
|
-
'IPs must be from same location as the data center used for the node pool. The array '\
|
|
55
|
-
'must contain one extra IP than maximum number of nodes could be. (nodeCount+1 if fixed '\
|
|
56
|
-
'node amount or maxNodeCount+1 if auto scaling is used) The extra provided IP Will be used during rebuilding of nodes.'
|
|
57
|
-
|
|
58
|
-
option :labels,
|
|
59
|
-
long: '--labels LABEL [LABEL]',
|
|
60
|
-
description: 'map of labels attached to node pool'
|
|
61
|
-
|
|
62
|
-
option :annotations,
|
|
63
|
-
long: '--annotations ANNOTATION [ANNOTATION]',
|
|
64
|
-
description: 'map of annotations attached to node pool'
|
|
65
|
-
|
|
66
|
-
attr_reader :description, :required_options
|
|
67
|
-
|
|
68
|
-
def initialize(args = [])
|
|
69
|
-
super(args)
|
|
70
|
-
@description =
|
|
71
|
-
'Updates information about a Ionoscloud K8s Nodepool.'
|
|
72
|
-
@required_options = [:cluster_id, :nodepool_id, :ionoscloud_username, :ionoscloud_password]
|
|
73
|
-
@updatable_fields = [
|
|
74
|
-
:k8s_version, :node_count, :public_ips, :lans, :maintenance_day, :maintenance_time,
|
|
75
|
-
:min_node_count, :max_node_count, :labels, :annotations,
|
|
76
|
-
]
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
def run
|
|
80
|
-
$stdout.sync = true
|
|
81
|
-
handle_extra_config
|
|
82
|
-
validate_required_params(@required_options, config)
|
|
83
|
-
|
|
84
|
-
config[:public_ips] = config[:public_ips].split(',') if config[:public_ips] && config[:public_ips].instance_of?(String)
|
|
85
|
-
config[:lans] = config[:lans].split(',') if config[:lans] && config[:lans].instance_of?(String)
|
|
86
|
-
config[:labels] = JSON[config[:labels]] if config[:labels] && config[:labels].instance_of?(String)
|
|
87
|
-
config[:annotations] = JSON[config[:annotations]] if config[:annotations] && config[:annotations].instance_of?(String)
|
|
88
|
-
|
|
89
|
-
kubernetes_api = Ionoscloud::KubernetesApi.new(api_client)
|
|
90
|
-
|
|
91
|
-
if @updatable_fields.map { |el| config[el] }.any?
|
|
92
|
-
print "#{ui.color('Updating K8s Nodepool...', :magenta)}"
|
|
93
|
-
|
|
94
|
-
nodepool = kubernetes_api.k8s_nodepools_find_by_id(config[:cluster_id], config[:nodepool_id])
|
|
95
|
-
|
|
96
|
-
new_nodepool = Ionoscloud::KubernetesNodePoolForPut.new(
|
|
97
|
-
properties: Ionoscloud::KubernetesNodePoolPropertiesForPut.new(
|
|
98
|
-
k8s_version: config.key?(:k8s_version) ? config[:k8s_version] : nodepool.properties.k8s_version,
|
|
99
|
-
node_count: config.key?(:node_count) ? config[:node_count] : nodepool.properties.node_count,
|
|
100
|
-
public_ips: config.key?(:public_ips) ? config[:public_ips] : nodepool.properties.public_ips,
|
|
101
|
-
labels: config.key?(:labels) ? config[:labels] : nodepool.properties.labels,
|
|
102
|
-
annotations: config.key?(:annotations) ? config[:annotations] : nodepool.properties.annotations,
|
|
103
|
-
lans: config.key?(:lans) ? config[:lans].map! { |lan| { id: Integer(lan) } } : nodepool.properties.lans,
|
|
104
|
-
maintenance_window: Ionoscloud::KubernetesMaintenanceWindow.new(
|
|
105
|
-
day_of_the_week: config.key?(:maintenance_day) ? config[:maintenance_day] : nodepool.properties.maintenance_window.day_of_the_week,
|
|
106
|
-
time: config.key?(:maintenance_time) ? config[:maintenance_time] : nodepool.properties.maintenance_window.time,
|
|
107
|
-
),
|
|
108
|
-
auto_scaling: Ionoscloud::KubernetesAutoScaling.new(
|
|
109
|
-
min_node_count: config.key?(:min_node_count) ? config[:min_node_count] : nodepool.properties.auto_scaling.min_node_count,
|
|
110
|
-
max_node_count: config.key?(:max_node_count) ? config[:max_node_count] : nodepool.properties.auto_scaling.max_node_count,
|
|
111
|
-
),
|
|
112
|
-
),
|
|
113
|
-
)
|
|
114
|
-
|
|
115
|
-
kubernetes_api.k8s_nodepools_put(config[:cluster_id], config[:nodepool_id], new_nodepool)
|
|
116
|
-
else
|
|
117
|
-
ui.warn("Nothing to update, please set one of the attributes #{@updatable_fields}.")
|
|
118
|
-
end
|
|
119
|
-
|
|
120
|
-
print_k8s_nodepool(kubernetes_api.k8s_nodepools_find_by_id(config[:cluster_id], config[:nodepool_id]))
|
|
121
|
-
end
|
|
122
|
-
end
|
|
123
|
-
end
|
|
124
|
-
end
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
require_relative 'ionoscloud_base'
|
|
2
|
-
|
|
3
|
-
class Chef
|
|
4
|
-
class Knife
|
|
5
|
-
class IonoscloudPccGet < Knife
|
|
6
|
-
include Knife::IonoscloudBase
|
|
7
|
-
|
|
8
|
-
banner 'knife ionoscloud pcc get (options)'
|
|
9
|
-
|
|
10
|
-
option :pcc_id,
|
|
11
|
-
short: '-P PRIVATE_CROSS_CONNECT_ID',
|
|
12
|
-
long: '--pcc-id PRIVATE_CROSS_CONNECT_ID',
|
|
13
|
-
description: 'ID of the Private Cross Connect'
|
|
14
|
-
|
|
15
|
-
attr_reader :description, :required_options
|
|
16
|
-
|
|
17
|
-
def initialize(args = [])
|
|
18
|
-
super(args)
|
|
19
|
-
@description =
|
|
20
|
-
'Retrieves information about a Ionoscloud Private Cross Connect.'
|
|
21
|
-
@required_options = [:pcc_id, :ionoscloud_username, :ionoscloud_password]
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def run
|
|
25
|
-
$stdout.sync = true
|
|
26
|
-
handle_extra_config
|
|
27
|
-
validate_required_params(@required_options, config)
|
|
28
|
-
|
|
29
|
-
print_pcc(Ionoscloud::PrivateCrossConnectApi.new(api_client).pccs_find_by_id(config[:pcc_id]))
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
require_relative 'ionoscloud_base'
|
|
2
|
-
|
|
3
|
-
class Chef
|
|
4
|
-
class Knife
|
|
5
|
-
class IonoscloudPccUpdate < Knife
|
|
6
|
-
include Knife::IonoscloudBase
|
|
7
|
-
|
|
8
|
-
banner 'knife ionoscloud pcc update (options)'
|
|
9
|
-
|
|
10
|
-
option :pcc_id,
|
|
11
|
-
short: '-P PRIVATE_CROSS_CONNECT_ID',
|
|
12
|
-
long: '--pcc-id PRIVATE_CROSS_CONNECT_ID',
|
|
13
|
-
description: 'ID of the Private Cross Connect'
|
|
14
|
-
|
|
15
|
-
option :name,
|
|
16
|
-
short: '-n NAME',
|
|
17
|
-
long: '--name NAME',
|
|
18
|
-
description: 'Name of the data center'
|
|
19
|
-
|
|
20
|
-
option :description,
|
|
21
|
-
long: '--description DESCRIPTION',
|
|
22
|
-
description: 'Description of the data center'
|
|
23
|
-
|
|
24
|
-
attr_reader :description, :required_options
|
|
25
|
-
|
|
26
|
-
def initialize(args = [])
|
|
27
|
-
super(args)
|
|
28
|
-
@description =
|
|
29
|
-
'Updates information about a Ionoscloud Private Cross Connect. In order to add LANs to the Private Cross Connect one should'\
|
|
30
|
-
'update the LAN and change the pcc property using the ```text\knife ionscloud lan update\n``` command.'
|
|
31
|
-
@required_options = [:pcc_id, :ionoscloud_username, :ionoscloud_password]
|
|
32
|
-
@updatable_fields = [:name, :description]
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def run
|
|
36
|
-
$stdout.sync = true
|
|
37
|
-
handle_extra_config
|
|
38
|
-
validate_required_params(@required_options, config)
|
|
39
|
-
|
|
40
|
-
pcc_api = Ionoscloud::PrivateCrossConnectApi.new(api_client)
|
|
41
|
-
|
|
42
|
-
if @updatable_fields.map { |el| config[el] }.any?
|
|
43
|
-
print "#{ui.color('Updating Private Cross Connect...', :magenta)}"
|
|
44
|
-
|
|
45
|
-
_, _, headers = pcc_api.pccs_patch_with_http_info(
|
|
46
|
-
config[:pcc_id],
|
|
47
|
-
Ionoscloud::PrivateCrossConnectProperties.new(
|
|
48
|
-
name: config[:name],
|
|
49
|
-
description: config[:description],
|
|
50
|
-
)
|
|
51
|
-
)
|
|
52
|
-
|
|
53
|
-
dot = ui.color('.', :magenta)
|
|
54
|
-
api_client.wait_for { print dot; is_done? get_request_id headers }
|
|
55
|
-
else
|
|
56
|
-
ui.warn("Nothing to update, please set one of the attributes #{@updatable_fields}.")
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
print_pcc(pcc_api.pccs_find_by_id(config[:pcc_id]))
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
end
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
require_relative 'ionoscloud_base'
|
|
2
|
-
|
|
3
|
-
class Chef
|
|
4
|
-
class Knife
|
|
5
|
-
class IonoscloudRequestGet < Knife
|
|
6
|
-
include Knife::IonoscloudBase
|
|
7
|
-
|
|
8
|
-
banner 'knife ionoscloud request get (options)'
|
|
9
|
-
|
|
10
|
-
option :request_id,
|
|
11
|
-
short: '-R REQUEST_ID',
|
|
12
|
-
long: '--request-id REQUEST_ID',
|
|
13
|
-
description: 'The ID of the Request.'
|
|
14
|
-
|
|
15
|
-
attr_reader :description, :required_options
|
|
16
|
-
|
|
17
|
-
def initialize(args = [])
|
|
18
|
-
super(args)
|
|
19
|
-
@description =
|
|
20
|
-
'Retrieves the properties of a specific request based on the supplied request id.'
|
|
21
|
-
@required_options = [:request_id, :ionoscloud_username, :ionoscloud_password]
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def run
|
|
25
|
-
$stdout.sync = true
|
|
26
|
-
handle_extra_config
|
|
27
|
-
validate_required_params(@required_options, config)
|
|
28
|
-
|
|
29
|
-
request = Ionoscloud::RequestApi.new(api_client).requests_find_by_id(config[:request_id], depth: 1)
|
|
30
|
-
puts "#{ui.color('ID', :cyan)}: #{request.id}"
|
|
31
|
-
puts "#{ui.color('Status', :cyan)}: #{request.metadata.request_status.metadata.status}"
|
|
32
|
-
puts "#{ui.color('Method', :cyan)}: #{request.properties.method}"
|
|
33
|
-
puts "#{ui.color('URL', :cyan)}: #{request.properties.url}"
|
|
34
|
-
puts "#{ui.color('Targets', :cyan)}: #{request.metadata.request_status.metadata.targets.map { |target| [target.target.id, target.target.type] }.to_s}"
|
|
35
|
-
puts "#{ui.color('Body', :cyan)}: #{request.properties.body}"
|
|
36
|
-
puts "#{ui.color('Headers', :cyan)}: #{request.properties.headers}"
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
require_relative 'ionoscloud_base'
|
|
2
|
-
|
|
3
|
-
class Chef
|
|
4
|
-
class Knife
|
|
5
|
-
class IonoscloudS3keyGet < Knife
|
|
6
|
-
include Knife::IonoscloudBase
|
|
7
|
-
|
|
8
|
-
banner 'knife ionoscloud s3key get (options)'
|
|
9
|
-
|
|
10
|
-
option :user_id,
|
|
11
|
-
short: '-u USER_ID',
|
|
12
|
-
long: '--user USER_ID',
|
|
13
|
-
description: 'The ID of the user'
|
|
14
|
-
|
|
15
|
-
option :s3_key_id,
|
|
16
|
-
short: '-S S3KEY_ID',
|
|
17
|
-
long: '--s3-key S3KEY_ID',
|
|
18
|
-
description: 'The ID of the S3 Key.'
|
|
19
|
-
|
|
20
|
-
attr_reader :description, :required_options
|
|
21
|
-
|
|
22
|
-
def initialize(args = [])
|
|
23
|
-
super(args)
|
|
24
|
-
@description =
|
|
25
|
-
'Retrieves the properties of an S3 Key.'
|
|
26
|
-
@required_options = [:user_id, :s3_key_id, :ionoscloud_username, :ionoscloud_password]
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def run
|
|
30
|
-
$stdout.sync = true
|
|
31
|
-
handle_extra_config
|
|
32
|
-
validate_required_params(@required_options, config)
|
|
33
|
-
|
|
34
|
-
print_s3key(Ionoscloud::UserManagementApi.new(api_client).um_users_s3keys_find_by_key_id(config[:user_id], config[:s3_key_id]))
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
require_relative 'ionoscloud_base'
|
|
2
|
-
|
|
3
|
-
class Chef
|
|
4
|
-
class Knife
|
|
5
|
-
class IonoscloudServerUpdate < Knife
|
|
6
|
-
include Knife::IonoscloudBase
|
|
7
|
-
|
|
8
|
-
banner 'knife ionoscloud server update (options)'
|
|
9
|
-
|
|
10
|
-
option :datacenter_id,
|
|
11
|
-
short: '-D DATACENTER_ID',
|
|
12
|
-
long: '--datacenter-id DATACENTER_ID',
|
|
13
|
-
description: 'ID of the data center'
|
|
14
|
-
|
|
15
|
-
option :server_id,
|
|
16
|
-
short: '-S SERVER_ID',
|
|
17
|
-
long: '--server-id SERVER_ID',
|
|
18
|
-
description: 'The ID of the server to which the NIC is assigned'
|
|
19
|
-
|
|
20
|
-
option :name,
|
|
21
|
-
short: '-n NAME',
|
|
22
|
-
long: '--name NAME',
|
|
23
|
-
description: 'Name of the server'
|
|
24
|
-
|
|
25
|
-
option :cores,
|
|
26
|
-
short: '-C CORES',
|
|
27
|
-
long: '--cores CORES',
|
|
28
|
-
description: 'The number of processor cores'
|
|
29
|
-
|
|
30
|
-
option :cpu_family,
|
|
31
|
-
short: '-f CPU_FAMILY',
|
|
32
|
-
long: '--cpu-family CPU_FAMILY',
|
|
33
|
-
description: 'The family of the CPU (INTEL_XEON or AMD_OPTERON)'
|
|
34
|
-
|
|
35
|
-
option :ram,
|
|
36
|
-
short: '-r RAM',
|
|
37
|
-
long: '--ram RAM',
|
|
38
|
-
description: 'The amount of RAM in MB'
|
|
39
|
-
|
|
40
|
-
option :availability_zone,
|
|
41
|
-
short: '-a AVAILABILITY_ZONE',
|
|
42
|
-
long: '--availability-zone AVAILABILITY_ZONE',
|
|
43
|
-
description: 'The availability zone of the server'
|
|
44
|
-
|
|
45
|
-
option :boot_volume,
|
|
46
|
-
long: '--boot-volume VOLUME_ID',
|
|
47
|
-
description: 'Reference to a volume used for booting'
|
|
48
|
-
|
|
49
|
-
option :boot_cdrom,
|
|
50
|
-
long: '--boot-cdrom CDROM_ID',
|
|
51
|
-
description: 'Reference to a CD-ROM used for booting'
|
|
52
|
-
|
|
53
|
-
attr_reader :description, :required_options
|
|
54
|
-
|
|
55
|
-
def initialize(args = [])
|
|
56
|
-
super(args)
|
|
57
|
-
@description =
|
|
58
|
-
'Updates information about a Ionoscloud Server.'
|
|
59
|
-
@required_options = [:datacenter_id, :server_id, :ionoscloud_username, :ionoscloud_password]
|
|
60
|
-
@updatable_fields = [:name, :cores, :cpu_family, :ram, :availability_zone, :boot_volume, :boot_cdrom]
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def run
|
|
64
|
-
$stdout.sync = true
|
|
65
|
-
handle_extra_config
|
|
66
|
-
validate_required_params(@required_options, config)
|
|
67
|
-
|
|
68
|
-
server_api = Ionoscloud::ServerApi.new(api_client)
|
|
69
|
-
|
|
70
|
-
if @updatable_fields.map { |el| config[el] }.any?
|
|
71
|
-
print "#{ui.color('Updating Server...', :magenta)}"
|
|
72
|
-
|
|
73
|
-
_, _, headers = server_api.datacenters_servers_patch_with_http_info(
|
|
74
|
-
config[:datacenter_id],
|
|
75
|
-
config[:server_id],
|
|
76
|
-
Ionoscloud::ServerProperties.new(
|
|
77
|
-
name: config[:name],
|
|
78
|
-
cores: config[:cores],
|
|
79
|
-
cpu_family: config[:cpu_family],
|
|
80
|
-
ram: config[:ram],
|
|
81
|
-
availability_zone: config[:availability_zone],
|
|
82
|
-
boot_cdrom: config.key?(:boot_cdrom) ? { id: config[:boot_cdrom] } : nil,
|
|
83
|
-
boot_volume: config.key?(:boot_volume) ? { id: config[:boot_volume] } : nil,
|
|
84
|
-
),
|
|
85
|
-
)
|
|
86
|
-
|
|
87
|
-
dot = ui.color('.', :magenta)
|
|
88
|
-
api_client.wait_for { print dot; is_done? get_request_id headers }
|
|
89
|
-
else
|
|
90
|
-
ui.warn("Nothing to update, please set one of the attributes #{@updatable_fields}.")
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
print_server(server_api.datacenters_servers_find_by_id(config[:datacenter_id], config[:server_id]))
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
end
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
require_relative 'ionoscloud_base'
|
|
2
|
-
|
|
3
|
-
class Chef
|
|
4
|
-
class Knife
|
|
5
|
-
class IonoscloudShareGet < Knife
|
|
6
|
-
include Knife::IonoscloudBase
|
|
7
|
-
|
|
8
|
-
banner 'knife ionoscloud share get (options)'
|
|
9
|
-
|
|
10
|
-
option :group_id,
|
|
11
|
-
short: '-G GROUP_ID',
|
|
12
|
-
long: '--group-id GROUP_ID',
|
|
13
|
-
description: 'ID of the group.'
|
|
14
|
-
|
|
15
|
-
option :resource_id,
|
|
16
|
-
short: '-R RESOURCE_ID',
|
|
17
|
-
long: '--resource-id RESOURCE_ID',
|
|
18
|
-
description: 'The ID of the resource.'
|
|
19
|
-
|
|
20
|
-
attr_reader :description, :required_options
|
|
21
|
-
|
|
22
|
-
def initialize(args = [])
|
|
23
|
-
super(args)
|
|
24
|
-
@description =
|
|
25
|
-
'Retrieves the attributes of a given Group Share.'
|
|
26
|
-
@required_options = [:group_id, :resource_id, :ionoscloud_username, :ionoscloud_password]
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def run
|
|
30
|
-
$stdout.sync = true
|
|
31
|
-
handle_extra_config
|
|
32
|
-
validate_required_params(@required_options, config)
|
|
33
|
-
|
|
34
|
-
print_share(Ionoscloud::UserManagementApi.new(api_client).um_groups_shares_find_by_resource_id(config[:group_id], config[:resource_id]))
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
require_relative 'ionoscloud_base'
|
|
2
|
-
|
|
3
|
-
class Chef
|
|
4
|
-
class Knife
|
|
5
|
-
class IonoscloudShareUpdate < Knife
|
|
6
|
-
include Knife::IonoscloudBase
|
|
7
|
-
|
|
8
|
-
banner 'knife ionoscloud share update (options)'
|
|
9
|
-
|
|
10
|
-
option :group_id,
|
|
11
|
-
short: '-G GROUP_ID',
|
|
12
|
-
long: '--group-id GROUP_ID',
|
|
13
|
-
description: 'ID of the group.'
|
|
14
|
-
|
|
15
|
-
option :resource_id,
|
|
16
|
-
short: '-R RESOURCE_ID',
|
|
17
|
-
long: '--resource-id RESOURCE_ID',
|
|
18
|
-
description: 'The ID of the resource.'
|
|
19
|
-
|
|
20
|
-
option :edit_privilege,
|
|
21
|
-
long: '--edit EDIT_PRIVILEGE',
|
|
22
|
-
description: 'The group has permission to edit privileges on this resource.'
|
|
23
|
-
|
|
24
|
-
option :share_privilege,
|
|
25
|
-
short: '-s SHARE_PRIVILEGE',
|
|
26
|
-
long: '--share SHARE_PRIVILEGE',
|
|
27
|
-
description: 'The group has permission to share this resource.'
|
|
28
|
-
|
|
29
|
-
attr_reader :description, :required_options
|
|
30
|
-
|
|
31
|
-
def initialize(args = [])
|
|
32
|
-
super(args)
|
|
33
|
-
@description =
|
|
34
|
-
'Updates information about a Ionoscloud Group Share.'
|
|
35
|
-
@required_options = [:group_id, :resource_id, :ionoscloud_username, :ionoscloud_password]
|
|
36
|
-
@updatable_fields = [:edit_privilege, :share_privilege]
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def run
|
|
40
|
-
$stdout.sync = true
|
|
41
|
-
handle_extra_config
|
|
42
|
-
validate_required_params(@required_options, config)
|
|
43
|
-
|
|
44
|
-
user_management_api = Ionoscloud::UserManagementApi.new(api_client)
|
|
45
|
-
|
|
46
|
-
if @updatable_fields.map { |el| config[el] }.any?
|
|
47
|
-
print "#{ui.color('Updating Group Share...', :magenta)}"
|
|
48
|
-
|
|
49
|
-
share = user_management_api.um_groups_shares_find_by_resource_id(config[:group_id], config[:resource_id])
|
|
50
|
-
|
|
51
|
-
new_share = Ionoscloud::GroupShare.new(
|
|
52
|
-
properties: Ionoscloud::GroupShareProperties.new(
|
|
53
|
-
edit_privilege: (config.key?(:edit_privilege) ? config[:edit_privilege].to_s.downcase == 'true' : share.properties.edit_privilege),
|
|
54
|
-
share_privilege: (config.key?(:share_privilege) ? config[:share_privilege].to_s.downcase == 'true' : share.properties.share_privilege),
|
|
55
|
-
),
|
|
56
|
-
)
|
|
57
|
-
|
|
58
|
-
_, _, headers = user_management_api.um_groups_shares_put_with_http_info(config[:group_id], config[:resource_id], new_share)
|
|
59
|
-
|
|
60
|
-
dot = ui.color('.', :magenta)
|
|
61
|
-
api_client.wait_for { print dot; is_done? get_request_id headers }
|
|
62
|
-
else
|
|
63
|
-
ui.warn("Nothing to update, please set one of the attributes #{@updatable_fields}.")
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
print_share(user_management_api.um_groups_shares_find_by_resource_id(config[:group_id], config[:resource_id]))
|
|
67
|
-
end
|
|
68
|
-
end
|
|
69
|
-
end
|
|
70
|
-
end
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
require_relative 'ionoscloud_base'
|
|
2
|
-
|
|
3
|
-
class Chef
|
|
4
|
-
class Knife
|
|
5
|
-
class IonoscloudSnapshotGet < Knife
|
|
6
|
-
include Knife::IonoscloudBase
|
|
7
|
-
|
|
8
|
-
banner 'knife ionoscloud snapshot get (options)'
|
|
9
|
-
|
|
10
|
-
option :snapshot_id,
|
|
11
|
-
short: '-S SNAPSHOT_ID',
|
|
12
|
-
long: '--snapshot-id SNAPSHOT_ID',
|
|
13
|
-
description: 'ID of the group.'
|
|
14
|
-
|
|
15
|
-
attr_reader :description, :required_options
|
|
16
|
-
|
|
17
|
-
def initialize(args = [])
|
|
18
|
-
super(args)
|
|
19
|
-
@description =
|
|
20
|
-
'Retrieves the attributes of a given Snapshot.'
|
|
21
|
-
@required_options = [:snapshot_id, :ionoscloud_username, :ionoscloud_password]
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def run
|
|
25
|
-
$stdout.sync = true
|
|
26
|
-
handle_extra_config
|
|
27
|
-
validate_required_params(@required_options, config)
|
|
28
|
-
print_snapshot(Ionoscloud::SnapshotApi.new(api_client).snapshots_find_by_id(config[:snapshot_id]))
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
require_relative 'ionoscloud_base'
|
|
2
|
-
|
|
3
|
-
class Chef
|
|
4
|
-
class Knife
|
|
5
|
-
class IonoscloudSnapshotUpdate < Knife
|
|
6
|
-
include Knife::IonoscloudBase
|
|
7
|
-
|
|
8
|
-
banner 'knife ionoscloud snapshot update (options)'
|
|
9
|
-
|
|
10
|
-
option :snapshot_id,
|
|
11
|
-
short: '-S SNAPSHOT_ID',
|
|
12
|
-
long: '--snapshot-id SNAPSHOT_ID',
|
|
13
|
-
description: 'ID of the Snapshot.'
|
|
14
|
-
|
|
15
|
-
option :name,
|
|
16
|
-
short: '-n NAME',
|
|
17
|
-
long: '--name NAME',
|
|
18
|
-
description: 'Name of the server'
|
|
19
|
-
|
|
20
|
-
option :description,
|
|
21
|
-
long: '--description DESCRIPTION',
|
|
22
|
-
description: 'The number of processor cores'
|
|
23
|
-
|
|
24
|
-
option :sec_auth_protection,
|
|
25
|
-
long: '--sec-auth-protection SEC_AUTH_PROTECTION',
|
|
26
|
-
description: 'Boolean value representing if the snapshot requires extra protection e.g. two factor protection'
|
|
27
|
-
|
|
28
|
-
option :licence_type,
|
|
29
|
-
short: '-l LICENCE',
|
|
30
|
-
long: '--licence-type LICENCE',
|
|
31
|
-
description: 'The licence type of the snapshot (LINUX, WINDOWS, UNKNOWN, OTHER)'
|
|
32
|
-
|
|
33
|
-
option :cpu_hot_plug,
|
|
34
|
-
long: '--cpu-hot-plug CPU_HOT_PLUG',
|
|
35
|
-
description: 'The licence type of the snapshot (LINUX, WINDOWS, UNKNOWN, OTHER)'
|
|
36
|
-
|
|
37
|
-
option :cpu_hot_unplug,
|
|
38
|
-
long: '--cpu-hot-unplug CPU_HOT_UNPLUG',
|
|
39
|
-
description: 'The licence type of the snapshot (LINUX, WINDOWS, UNKNOWN, OTHER)'
|
|
40
|
-
|
|
41
|
-
option :ram_hot_plug,
|
|
42
|
-
long: '--ram-hot-plug RAM_HOT_PLUG',
|
|
43
|
-
description: 'The licence type of the snapshot (LINUX, WINDOWS, UNKNOWN, OTHER)'
|
|
44
|
-
|
|
45
|
-
option :ram_hot_unplug,
|
|
46
|
-
long: '--ram-hot-unplug RAM_HOT_UNPLUG',
|
|
47
|
-
description: 'The licence type of the snapshot (LINUX, WINDOWS, UNKNOWN, OTHER)'
|
|
48
|
-
|
|
49
|
-
option :nic_hot_plug,
|
|
50
|
-
long: '--nic-hot-plug NIC_HOT_PLUG',
|
|
51
|
-
description: 'The licence type of the snapshot (LINUX, WINDOWS, UNKNOWN, OTHER)'
|
|
52
|
-
|
|
53
|
-
option :nic_hot_unplug,
|
|
54
|
-
long: '--nic-hot-unplug NIC_HOT_UNPLUG',
|
|
55
|
-
description: 'The licence type of the snapshot (LINUX, WINDOWS, UNKNOWN, OTHER)'
|
|
56
|
-
|
|
57
|
-
option :disc_virtio_hot_plug,
|
|
58
|
-
long: '--disc-virtio-hot_plug DISC_VIRTIO_HOT_PLUG',
|
|
59
|
-
description: 'The licence type of the snapshot (LINUX, WINDOWS, UNKNOWN, OTHER)'
|
|
60
|
-
|
|
61
|
-
option :disc_virtio_hot_unplug,
|
|
62
|
-
long: '--disc-virtio-hot_unplug DISC_VIRTIO_HOT_UNPLUG',
|
|
63
|
-
description: 'The licence type of the snapshot (LINUX, WINDOWS, UNKNOWN, OTHER)'
|
|
64
|
-
|
|
65
|
-
option :disc_scsi_hot_plug,
|
|
66
|
-
long: '--disc-scsi-hot-plug DISC_SCSI_HOT_PLUG',
|
|
67
|
-
description: 'The licence type of the snapshot (LINUX, WINDOWS, UNKNOWN, OTHER)'
|
|
68
|
-
|
|
69
|
-
option :disc_scsi_hot_unplug,
|
|
70
|
-
long: '--disc-scsi-hot-unplug DISC_SCSI_HOT_UNPLUG',
|
|
71
|
-
description: 'The licence type of the snapshot (LINUX, WINDOWS, UNKNOWN, OTHER)'
|
|
72
|
-
|
|
73
|
-
attr_reader :description, :required_options
|
|
74
|
-
|
|
75
|
-
def initialize(args = [])
|
|
76
|
-
super(args)
|
|
77
|
-
@description =
|
|
78
|
-
'Updates information about a Ionoscloud Snapshot.'
|
|
79
|
-
@required_options = [:snapshot_id, :ionoscloud_username, :ionoscloud_password]
|
|
80
|
-
@updatable_fields = [
|
|
81
|
-
:name, :description, :sec_auth_protection, :licence_type, :cpu_hot_plug, :cpu_hot_unplug, :ram_hot_plug, :ram_hot_unplug,
|
|
82
|
-
:nic_hot_plug, :nic_hot_unplug, :disc_virtio_hot_plug, :disc_virtio_hot_unplug, :disc_scsi_hot_plug, :disc_scsi_hot_unplug,
|
|
83
|
-
]
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
def run
|
|
87
|
-
$stdout.sync = true
|
|
88
|
-
handle_extra_config
|
|
89
|
-
validate_required_params(@required_options, config)
|
|
90
|
-
|
|
91
|
-
server_api = Ionoscloud::SnapshotApi.new(api_client)
|
|
92
|
-
|
|
93
|
-
if @updatable_fields.map { |el| config[el] }.any?
|
|
94
|
-
print "#{ui.color('Updating Snapshot...', :magenta)}"
|
|
95
|
-
|
|
96
|
-
_, _, headers = server_api.snapshots_patch_with_http_info(
|
|
97
|
-
config[:snapshot_id],
|
|
98
|
-
Ionoscloud::SnapshotProperties.new(
|
|
99
|
-
name: config[:name],
|
|
100
|
-
description: config[:description],
|
|
101
|
-
sec_auth_protection: (config.key?(:sec_auth_protection) ? config[:sec_auth_protection].to_s.downcase == 'true' : nil),
|
|
102
|
-
licence_type: config[:licence_type],
|
|
103
|
-
cpu_hot_plug: (config.key?(:cpu_hot_plug) ? config[:cpu_hot_plug].to_s.downcase == 'true' : nil),
|
|
104
|
-
cpu_hot_unplug: (config.key?(:cpu_hot_unplug) ? config[:cpu_hot_unplug].to_s.downcase == 'true' : nil),
|
|
105
|
-
ram_hot_plug: (config.key?(:ram_hot_plug) ? config[:ram_hot_plug].to_s.downcase == 'true' : nil),
|
|
106
|
-
ram_hot_unplug: (config.key?(:ram_hot_unplug) ? config[:ram_hot_unplug].to_s.downcase == 'true' : nil),
|
|
107
|
-
nic_hot_plug: (config.key?(:nic_hot_plug) ? config[:nic_hot_plug].to_s.downcase == 'true' : nil),
|
|
108
|
-
nic_hot_unplug: (config.key?(:nic_hot_unplug) ? config[:nic_hot_unplug].to_s.downcase == 'true' : nil),
|
|
109
|
-
disc_virtio_hot_plug: (config.key?(:disc_virtio_hot_plug) ? config[:disc_virtio_hot_plug].to_s.downcase == 'true' : nil),
|
|
110
|
-
disc_virtio_hot_unplug: (config.key?(:disc_virtio_hot_unplug) ? config[:disc_virtio_hot_unplug].to_s.downcase == 'true' : nil),
|
|
111
|
-
disc_scsi_hot_plug: (config.key?(:disc_scsi_hot_plug) ? config[:disc_scsi_hot_plug].to_s.downcase == 'true' : nil),
|
|
112
|
-
disc_scsi_hot_unplug: (config.key?(:disc_scsi_hot_unplug) ? config[:disc_scsi_hot_unplug].to_s.downcase == 'true' : nil),
|
|
113
|
-
),
|
|
114
|
-
)
|
|
115
|
-
|
|
116
|
-
dot = ui.color('.', :magenta)
|
|
117
|
-
api_client.wait_for { print dot; is_done? get_request_id headers }
|
|
118
|
-
else
|
|
119
|
-
ui.warn("Nothing to update, please set one of the attributes #{@updatable_fields}.")
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
print_snapshot(server_api.snapshots_find_by_id(config[:snapshot_id]))
|
|
123
|
-
end
|
|
124
|
-
end
|
|
125
|
-
end
|
|
126
|
-
end
|