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
|
@@ -28,16 +28,18 @@ describe Chef::Knife::IonoscloudNodepoolList do
|
|
|
28
28
|
subject.ui.color('K8s Version', :bold),
|
|
29
29
|
subject.ui.color('Datacenter ID', :bold),
|
|
30
30
|
subject.ui.color('Node Count', :bold),
|
|
31
|
+
subject.ui.color('Lan Count', :bold),
|
|
31
32
|
subject.ui.color('State', :bold),
|
|
32
33
|
k8s_nodepools.items.first.id,
|
|
33
34
|
k8s_nodepools.items.first.properties.name,
|
|
34
35
|
k8s_nodepools.items.first.properties.k8s_version,
|
|
35
36
|
k8s_nodepools.items.first.properties.datacenter_id,
|
|
36
37
|
k8s_nodepools.items.first.properties.node_count.to_s,
|
|
38
|
+
k8s_nodepools.items.first.properties.lans.length,
|
|
37
39
|
k8s_nodepools.items.first.metadata.state,
|
|
38
40
|
]
|
|
39
41
|
|
|
40
|
-
expect(subject.ui).to receive(:list).with(nodepool_list, :uneven_columns_across,
|
|
42
|
+
expect(subject.ui).to receive(:list).with(nodepool_list, :uneven_columns_across, 7)
|
|
41
43
|
|
|
42
44
|
mock_call_api(
|
|
43
45
|
subject,
|
|
@@ -12,7 +12,7 @@ describe Chef::Knife::IonoscloudPccCreate do
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
describe '#run' do
|
|
15
|
-
it 'should call
|
|
15
|
+
it 'should call PrivateCrossConnectsApi.pccs_post with the expected arguments and output based on what it receives' do
|
|
16
16
|
pcc = pcc_mock
|
|
17
17
|
datacenter_ids = pcc.properties.connectable_datacenters.map { |datacenter| datacenter.id }
|
|
18
18
|
lan_ids = pcc.properties.peers.map { |peer| peer.id }
|
|
@@ -26,14 +26,11 @@ describe Chef::Knife::IonoscloudPccCreate do
|
|
|
26
26
|
|
|
27
27
|
subject_config.each { |key, value| subject.config[key] = value }
|
|
28
28
|
|
|
29
|
-
peers = pcc.properties.peers.map { |peer| peer.id }
|
|
30
|
-
datacenters = pcc.properties.connectable_datacenters.map { |datacenter| datacenter.id }
|
|
31
|
-
|
|
32
29
|
expect(subject).to receive(:puts).with("ID: #{pcc.id}")
|
|
33
30
|
expect(subject).to receive(:puts).with("Name: #{pcc.properties.name}")
|
|
34
31
|
expect(subject).to receive(:puts).with("Description: #{pcc.properties.description}")
|
|
35
|
-
expect(subject).to receive(:puts).with("Peers: #{peers.to_s}")
|
|
36
|
-
expect(subject).to receive(:puts).with("
|
|
32
|
+
expect(subject).to receive(:puts).with("Peers: #{pcc.properties.peers.to_s}")
|
|
33
|
+
expect(subject).to receive(:puts).with("Datacenters: #{pcc.properties.connectable_datacenters.to_s}")
|
|
37
34
|
|
|
38
35
|
3.times { mock_wait_for(subject) }
|
|
39
36
|
mock_call_api(
|
|
@@ -42,7 +39,7 @@ describe Chef::Knife::IonoscloudPccCreate do
|
|
|
42
39
|
{
|
|
43
40
|
method: 'POST',
|
|
44
41
|
path: '/pccs',
|
|
45
|
-
operation: :'
|
|
42
|
+
operation: :'PrivateCrossConnectsApi.pccs_post',
|
|
46
43
|
return_type: 'PrivateCrossConnect',
|
|
47
44
|
body: { properties: { name: pcc.properties.name, description: pcc.properties.description } },
|
|
48
45
|
result: pcc,
|
|
@@ -50,14 +47,14 @@ describe Chef::Knife::IonoscloudPccCreate do
|
|
|
50
47
|
{
|
|
51
48
|
method: 'GET',
|
|
52
49
|
path: "/pccs/#{pcc.id}",
|
|
53
|
-
operation: :'
|
|
50
|
+
operation: :'PrivateCrossConnectsApi.pccs_find_by_id',
|
|
54
51
|
return_type: 'PrivateCrossConnect',
|
|
55
52
|
result: pcc,
|
|
56
53
|
},
|
|
57
54
|
{
|
|
58
55
|
method: 'PATCH',
|
|
59
56
|
path: "/datacenters/#{pcc.properties.connectable_datacenters[0].id}/lans/#{pcc.properties.peers[0].id}",
|
|
60
|
-
operation: :'
|
|
57
|
+
operation: :'LansApi.datacenters_lans_patch',
|
|
61
58
|
return_type: 'Lan',
|
|
62
59
|
body: { pcc: pcc.id },
|
|
63
60
|
result: pcc.properties.peers[0],
|
|
@@ -65,7 +62,7 @@ describe Chef::Knife::IonoscloudPccCreate do
|
|
|
65
62
|
{
|
|
66
63
|
method: 'PATCH',
|
|
67
64
|
path: "/datacenters/#{pcc.properties.connectable_datacenters[1].id}/lans/#{pcc.properties.peers[1].id}",
|
|
68
|
-
operation: :'
|
|
65
|
+
operation: :'LansApi.datacenters_lans_patch',
|
|
69
66
|
return_type: 'Lan',
|
|
70
67
|
body: { pcc: pcc.id },
|
|
71
68
|
result: pcc.properties.peers[1],
|
|
@@ -73,7 +70,7 @@ describe Chef::Knife::IonoscloudPccCreate do
|
|
|
73
70
|
{
|
|
74
71
|
method: 'GET',
|
|
75
72
|
path: "/pccs/#{pcc.id}",
|
|
76
|
-
operation: :'
|
|
73
|
+
operation: :'PrivateCrossConnectsApi.pccs_find_by_id',
|
|
77
74
|
return_type: 'PrivateCrossConnect',
|
|
78
75
|
result: pcc,
|
|
79
76
|
},
|
|
@@ -12,7 +12,7 @@ describe Chef::Knife::IonoscloudPccDelete do
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
describe '#run' do
|
|
15
|
-
it 'should call
|
|
15
|
+
it 'should call PrivateCrossConnectsApi.pccs_delete when the ID is valid' do
|
|
16
16
|
pcc = pcc_mock
|
|
17
17
|
subject_config = {
|
|
18
18
|
ionoscloud_username: 'email',
|
|
@@ -30,7 +30,7 @@ describe Chef::Knife::IonoscloudPccDelete do
|
|
|
30
30
|
expect(subject).to receive(:puts).with("Name: #{pcc.properties.name}")
|
|
31
31
|
expect(subject).to receive(:puts).with("Description: #{pcc.properties.description}")
|
|
32
32
|
expect(subject).to receive(:puts).with("Peers: #{peers.to_s}")
|
|
33
|
-
expect(subject).to receive(:puts).with("
|
|
33
|
+
expect(subject).to receive(:puts).with("Datacenters: #{datacenters.to_s}")
|
|
34
34
|
expect(subject.ui).to receive(:warn).with("Deleted PCC #{pcc.id}. Request ID: ")
|
|
35
35
|
|
|
36
36
|
expect(subject.api_client).not_to receive(:wait_for)
|
|
@@ -41,14 +41,14 @@ describe Chef::Knife::IonoscloudPccDelete do
|
|
|
41
41
|
{
|
|
42
42
|
method: 'GET',
|
|
43
43
|
path: "/pccs/#{pcc.id}",
|
|
44
|
-
operation: :'
|
|
44
|
+
operation: :'PrivateCrossConnectsApi.pccs_find_by_id',
|
|
45
45
|
return_type: 'PrivateCrossConnect',
|
|
46
46
|
result: pcc,
|
|
47
47
|
},
|
|
48
48
|
{
|
|
49
49
|
method: 'DELETE',
|
|
50
50
|
path: "/pccs/#{pcc.id}",
|
|
51
|
-
operation: :'
|
|
51
|
+
operation: :'PrivateCrossConnectsApi.pccs_delete',
|
|
52
52
|
},
|
|
53
53
|
],
|
|
54
54
|
)
|
|
@@ -56,7 +56,7 @@ describe Chef::Knife::IonoscloudPccDelete do
|
|
|
56
56
|
expect { subject.run }.not_to raise_error(Exception)
|
|
57
57
|
end
|
|
58
58
|
|
|
59
|
-
it 'should not call
|
|
59
|
+
it 'should not call PrivateCrossConnectsApi.pccs_delete when the ID is not valid' do
|
|
60
60
|
pcc_id = 'invalid_id'
|
|
61
61
|
subject_config = {
|
|
62
62
|
ionoscloud_username: 'email',
|
|
@@ -75,7 +75,7 @@ describe Chef::Knife::IonoscloudPccDelete do
|
|
|
75
75
|
{
|
|
76
76
|
method: 'GET',
|
|
77
77
|
path: "/pccs/#{pcc_id}",
|
|
78
|
-
operation: :'
|
|
78
|
+
operation: :'PrivateCrossConnectsApi.pccs_find_by_id',
|
|
79
79
|
return_type: 'PrivateCrossConnect',
|
|
80
80
|
exception: Ionoscloud::ApiError.new(code: 404),
|
|
81
81
|
},
|
|
@@ -12,7 +12,7 @@ describe Chef::Knife::IonoscloudPccList do
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
describe '#run' do
|
|
15
|
-
it 'should call
|
|
15
|
+
it 'should call PrivateCrossConnectsApi.pccs_get' do
|
|
16
16
|
pccs = pccs_mock
|
|
17
17
|
subject_config = {
|
|
18
18
|
ionoscloud_username: 'email',
|
|
@@ -38,7 +38,7 @@ describe Chef::Knife::IonoscloudPccList do
|
|
|
38
38
|
{
|
|
39
39
|
method: 'GET',
|
|
40
40
|
path: '/pccs',
|
|
41
|
-
operation: :'
|
|
41
|
+
operation: :'PrivateCrossConnectsApi.pccs_get',
|
|
42
42
|
return_type: 'PrivateCrossConnects',
|
|
43
43
|
result: pccs,
|
|
44
44
|
},
|
|
@@ -7,7 +7,6 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
7
7
|
before :each do
|
|
8
8
|
subject { Chef::Knife::IonoscloudRequestList.new }
|
|
9
9
|
|
|
10
|
-
@request_path = '/requests'
|
|
11
10
|
@requests = requests_mock
|
|
12
11
|
@request_list = request_list = [
|
|
13
12
|
subject.ui.color('ID', :bold),
|
|
@@ -29,7 +28,7 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
29
28
|
end
|
|
30
29
|
|
|
31
30
|
describe '#run' do
|
|
32
|
-
it 'should call
|
|
31
|
+
it 'should call RequestsApi.resources_get with default options when nothing is set' do
|
|
33
32
|
subject_config = {
|
|
34
33
|
ionoscloud_username: 'email',
|
|
35
34
|
ionoscloud_password: 'password',
|
|
@@ -44,8 +43,8 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
44
43
|
[
|
|
45
44
|
{
|
|
46
45
|
method: 'GET',
|
|
47
|
-
path:
|
|
48
|
-
operation: :'
|
|
46
|
+
path: '/requests',
|
|
47
|
+
operation: :'RequestsApi.requests_get',
|
|
49
48
|
options: { depth: 2, limit: 20, offset: 0 },
|
|
50
49
|
return_type: 'Requests',
|
|
51
50
|
result: @requests,
|
|
@@ -56,7 +55,7 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
56
55
|
expect { subject.run }.not_to raise_error(Exception)
|
|
57
56
|
end
|
|
58
57
|
|
|
59
|
-
it 'should call
|
|
58
|
+
it 'should call RequestsApi.resources_get with set options if present' do
|
|
60
59
|
subject_config = {
|
|
61
60
|
ionoscloud_username: 'email',
|
|
62
61
|
ionoscloud_password: 'password',
|
|
@@ -73,8 +72,8 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
73
72
|
[
|
|
74
73
|
{
|
|
75
74
|
method: 'GET',
|
|
76
|
-
path:
|
|
77
|
-
operation: :'
|
|
75
|
+
path: '/requests',
|
|
76
|
+
operation: :'RequestsApi.requests_get',
|
|
78
77
|
options: { depth: 2, limit: subject_config[:limit], offset: subject_config[:offset] },
|
|
79
78
|
return_type: 'Requests',
|
|
80
79
|
result: @requests,
|
|
@@ -85,7 +84,7 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
85
84
|
expect { subject.run }.not_to raise_error(Exception)
|
|
86
85
|
end
|
|
87
86
|
|
|
88
|
-
it 'should call
|
|
87
|
+
it 'should call RequestsApi.resources_get with default limit if it is not an Integer' do
|
|
89
88
|
subject_config = {
|
|
90
89
|
ionoscloud_username: 'email',
|
|
91
90
|
ionoscloud_password: 'password',
|
|
@@ -103,8 +102,8 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
103
102
|
[
|
|
104
103
|
{
|
|
105
104
|
method: 'GET',
|
|
106
|
-
path:
|
|
107
|
-
operation: :'
|
|
105
|
+
path: '/requests',
|
|
106
|
+
operation: :'RequestsApi.requests_get',
|
|
108
107
|
options: { depth: 2, limit: 20, offset: subject_config[:offset] },
|
|
109
108
|
return_type: 'Requests',
|
|
110
109
|
result: @requests,
|
|
@@ -115,7 +114,7 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
115
114
|
expect { subject.run }.not_to raise_error(Exception)
|
|
116
115
|
end
|
|
117
116
|
|
|
118
|
-
it 'should call
|
|
117
|
+
it 'should call RequestsApi.resources_get with default offset if it is not an Integers' do
|
|
119
118
|
subject_config = {
|
|
120
119
|
ionoscloud_username: 'email',
|
|
121
120
|
ionoscloud_password: 'password',
|
|
@@ -133,8 +132,8 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
133
132
|
[
|
|
134
133
|
{
|
|
135
134
|
method: 'GET',
|
|
136
|
-
path:
|
|
137
|
-
operation: :'
|
|
135
|
+
path: '/requests',
|
|
136
|
+
operation: :'RequestsApi.requests_get',
|
|
138
137
|
options: { depth: 2, limit: subject_config[:limit], offset: 0 },
|
|
139
138
|
return_type: 'Requests',
|
|
140
139
|
result: @requests,
|
|
@@ -145,7 +144,7 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
145
144
|
expect { subject.run }.not_to raise_error(Exception)
|
|
146
145
|
end
|
|
147
146
|
|
|
148
|
-
it 'should call
|
|
147
|
+
it 'should call RequestsApi.resources_get with the expected status when set' do
|
|
149
148
|
subject_config = {
|
|
150
149
|
ionoscloud_username: 'email',
|
|
151
150
|
ionoscloud_password: 'password',
|
|
@@ -162,8 +161,8 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
162
161
|
[
|
|
163
162
|
{
|
|
164
163
|
method: 'GET',
|
|
165
|
-
path:
|
|
166
|
-
operation: :'
|
|
164
|
+
path: '/requests',
|
|
165
|
+
operation: :'RequestsApi.requests_get',
|
|
167
166
|
options: { depth: 2, limit: subject_config[:limit], offset: 0, filter_request_status: subject_config[:status] },
|
|
168
167
|
return_type: 'Requests',
|
|
169
168
|
result: @requests,
|
|
@@ -174,7 +173,7 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
174
173
|
expect { subject.run }.not_to raise_error(Exception)
|
|
175
174
|
end
|
|
176
175
|
|
|
177
|
-
it 'should call
|
|
176
|
+
it 'should call RequestsApi.resources_get with no status when set wrong' do
|
|
178
177
|
subject_config = {
|
|
179
178
|
ionoscloud_username: 'email',
|
|
180
179
|
ionoscloud_password: 'password',
|
|
@@ -192,8 +191,8 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
192
191
|
[
|
|
193
192
|
{
|
|
194
193
|
method: 'GET',
|
|
195
|
-
path:
|
|
196
|
-
operation: :'
|
|
194
|
+
path: '/requests',
|
|
195
|
+
operation: :'RequestsApi.requests_get',
|
|
197
196
|
options: { depth: 2, limit: subject_config[:limit], offset: 0 },
|
|
198
197
|
return_type: 'Requests',
|
|
199
198
|
result: @requests,
|
|
@@ -205,7 +204,7 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
205
204
|
end
|
|
206
205
|
|
|
207
206
|
|
|
208
|
-
it 'should call
|
|
207
|
+
it 'should call RequestsApi.resources_get with the expected method when set' do
|
|
209
208
|
subject_config = {
|
|
210
209
|
ionoscloud_username: 'email',
|
|
211
210
|
ionoscloud_password: 'password',
|
|
@@ -222,8 +221,8 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
222
221
|
[
|
|
223
222
|
{
|
|
224
223
|
method: 'GET',
|
|
225
|
-
path:
|
|
226
|
-
operation: :'
|
|
224
|
+
path: '/requests',
|
|
225
|
+
operation: :'RequestsApi.requests_get',
|
|
227
226
|
options: { depth: 2, limit: subject_config[:limit], offset: 0, filter_method: subject_config[:method] },
|
|
228
227
|
return_type: 'Requests',
|
|
229
228
|
result: @requests,
|
|
@@ -234,7 +233,7 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
234
233
|
expect { subject.run }.not_to raise_error(Exception)
|
|
235
234
|
end
|
|
236
235
|
|
|
237
|
-
it 'should call
|
|
236
|
+
it 'should call RequestsApi.resources_get with no method when set wrong' do
|
|
238
237
|
subject_config = {
|
|
239
238
|
ionoscloud_username: 'email',
|
|
240
239
|
ionoscloud_password: 'password',
|
|
@@ -252,8 +251,8 @@ describe Chef::Knife::IonoscloudRequestList do
|
|
|
252
251
|
[
|
|
253
252
|
{
|
|
254
253
|
method: 'GET',
|
|
255
|
-
path:
|
|
256
|
-
operation: :'
|
|
254
|
+
path: '/requests',
|
|
255
|
+
operation: :'RequestsApi.requests_get',
|
|
257
256
|
options: { depth: 2, limit: subject_config[:limit], offset: 0 },
|
|
258
257
|
return_type: 'Requests',
|
|
259
258
|
result: @requests,
|
|
@@ -7,7 +7,7 @@ describe Chef::Knife::IonoscloudRequestStatus do
|
|
|
7
7
|
subject { Chef::Knife::IonoscloudRequestStatus.new }
|
|
8
8
|
|
|
9
9
|
describe '#run' do
|
|
10
|
-
it 'should call
|
|
10
|
+
it 'should call RequestsApi.requests_status_get and output the received status when the request ID is valid' do
|
|
11
11
|
request_status = request_status_mock
|
|
12
12
|
subject_config = {
|
|
13
13
|
ionoscloud_username: 'email',
|
|
@@ -26,7 +26,7 @@ describe Chef::Knife::IonoscloudRequestStatus do
|
|
|
26
26
|
{
|
|
27
27
|
method: 'GET',
|
|
28
28
|
path: "/requests/#{subject_config[:request_id]}/status",
|
|
29
|
-
operation: :'
|
|
29
|
+
operation: :'RequestsApi.requests_status_get',
|
|
30
30
|
return_type: 'RequestStatus',
|
|
31
31
|
result: request_status,
|
|
32
32
|
},
|
|
@@ -58,7 +58,7 @@ describe Chef::Knife::IonoscloudRequestStatus do
|
|
|
58
58
|
{
|
|
59
59
|
method: 'GET',
|
|
60
60
|
path: "/requests/#{request_id}/status",
|
|
61
|
-
operation: :'
|
|
61
|
+
operation: :'RequestsApi.requests_status_get',
|
|
62
62
|
return_type: 'RequestStatus',
|
|
63
63
|
exception: Ionoscloud::ApiError.new(code: 404),
|
|
64
64
|
},
|
|
@@ -12,7 +12,7 @@ describe Chef::Knife::IonoscloudS3keyCreate do
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
describe '#run' do
|
|
15
|
-
it 'should call
|
|
15
|
+
it 'should call UserS3KeysApi.um_users_s3keys_post with the expected arguments and output based on what it receives' do
|
|
16
16
|
s3_key = s3_key_mock
|
|
17
17
|
subject_config = {
|
|
18
18
|
ionoscloud_username: 'email',
|
|
@@ -33,7 +33,7 @@ describe Chef::Knife::IonoscloudS3keyCreate do
|
|
|
33
33
|
{
|
|
34
34
|
method: 'POST',
|
|
35
35
|
path: "/um/users/#{subject_config[:user_id]}/s3keys",
|
|
36
|
-
operation: :'
|
|
36
|
+
operation: :'UserS3KeysApi.um_users_s3keys_post',
|
|
37
37
|
return_type: 'S3Key',
|
|
38
38
|
result: s3_key,
|
|
39
39
|
},
|
|
@@ -12,7 +12,7 @@ describe Chef::Knife::IonoscloudS3keyDelete do
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
describe '#run' do
|
|
15
|
-
it 'should call
|
|
15
|
+
it 'should call UserS3KeysApi.um_users_s3keys_delete when the ID is valid' do
|
|
16
16
|
s3_key = s3_key_mock
|
|
17
17
|
subject_config = {
|
|
18
18
|
ionoscloud_username: 'email',
|
|
@@ -37,14 +37,14 @@ describe Chef::Knife::IonoscloudS3keyDelete do
|
|
|
37
37
|
{
|
|
38
38
|
method: 'GET',
|
|
39
39
|
path: "/um/users/#{subject_config[:user_id]}/s3keys/#{s3_key.id}",
|
|
40
|
-
operation: :'
|
|
40
|
+
operation: :'UserS3KeysApi.um_users_s3keys_find_by_key_id',
|
|
41
41
|
return_type: 'S3Key',
|
|
42
42
|
result: s3_key,
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
method: 'DELETE',
|
|
46
46
|
path: "/um/users/#{subject_config[:user_id]}/s3keys/#{s3_key.id}",
|
|
47
|
-
operation: :'
|
|
47
|
+
operation: :'UserS3KeysApi.um_users_s3keys_delete',
|
|
48
48
|
},
|
|
49
49
|
],
|
|
50
50
|
)
|
|
@@ -52,7 +52,7 @@ describe Chef::Knife::IonoscloudS3keyDelete do
|
|
|
52
52
|
expect { subject.run }.not_to raise_error(Exception)
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
-
it 'should not call
|
|
55
|
+
it 'should not call UserS3KeysApi.um_users_s3keys_delete when the ID is not valid' do
|
|
56
56
|
s3_key_id = 'invalid_id'
|
|
57
57
|
subject_config = {
|
|
58
58
|
ionoscloud_username: 'email',
|
|
@@ -72,7 +72,7 @@ describe Chef::Knife::IonoscloudS3keyDelete do
|
|
|
72
72
|
{
|
|
73
73
|
method: 'GET',
|
|
74
74
|
path: "/um/users/#{subject_config[:user_id]}/s3keys/#{s3_key_id}",
|
|
75
|
-
operation: :'
|
|
75
|
+
operation: :'UserS3KeysApi.um_users_s3keys_find_by_key_id',
|
|
76
76
|
return_type: 'S3Key',
|
|
77
77
|
exception: Ionoscloud::ApiError.new(code: 404),
|
|
78
78
|
},
|
|
@@ -12,7 +12,7 @@ describe Chef::Knife::IonoscloudS3keyList do
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
describe '#run' do
|
|
15
|
-
it 'should call
|
|
15
|
+
it 'should call UserS3KeysApi.um_users_s3keys_get' do
|
|
16
16
|
s3_keys = s3_keys_mock
|
|
17
17
|
subject_config = {
|
|
18
18
|
ionoscloud_username: 'email',
|
|
@@ -39,7 +39,7 @@ describe Chef::Knife::IonoscloudS3keyList do
|
|
|
39
39
|
{
|
|
40
40
|
method: 'GET',
|
|
41
41
|
path: "/um/users/#{subject_config[:user_id]}/s3keys",
|
|
42
|
-
operation: :'
|
|
42
|
+
operation: :'UserS3KeysApi.um_users_s3keys_get',
|
|
43
43
|
return_type: 'S3Keys',
|
|
44
44
|
result: s3_keys,
|
|
45
45
|
},
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'ionoscloud_server_console'
|
|
3
|
+
|
|
4
|
+
Chef::Knife::IonoscloudServerConsole.load_deps
|
|
5
|
+
|
|
6
|
+
describe Chef::Knife::IonoscloudServerConsole do
|
|
7
|
+
subject { Chef::Knife::IonoscloudServerConsole.new }
|
|
8
|
+
|
|
9
|
+
describe '#run' do
|
|
10
|
+
it 'should call ServersApi.datacenters_servers_remote_console_get and output the received url when the server ID is valid' do
|
|
11
|
+
datacenter = datacenter_mock
|
|
12
|
+
server = server_mock
|
|
13
|
+
console = console_mock
|
|
14
|
+
subject_config = {
|
|
15
|
+
ionoscloud_username: 'email',
|
|
16
|
+
ionoscloud_password: 'password',
|
|
17
|
+
datacenter_id: datacenter.id,
|
|
18
|
+
server_id: server.id,
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
subject_config.each { |key, value| subject.config[key] = value }
|
|
22
|
+
|
|
23
|
+
expect(subject).to receive(:puts).with(console.url)
|
|
24
|
+
|
|
25
|
+
expect(subject.api_client).not_to receive(:wait_for)
|
|
26
|
+
mock_call_api(
|
|
27
|
+
subject,
|
|
28
|
+
[
|
|
29
|
+
{
|
|
30
|
+
method: 'GET',
|
|
31
|
+
path: "/datacenters/#{datacenter.id}/servers/#{server.id}/remoteconsole",
|
|
32
|
+
operation: :'ServersApi.datacenters_servers_remote_console_get',
|
|
33
|
+
return_type: 'RemoteConsoleUrl',
|
|
34
|
+
result: console,
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
expect { subject.run }.not_to raise_error(Exception)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
it 'should output an error when the server is not found' do
|
|
43
|
+
datacenter = datacenter_mock
|
|
44
|
+
server_id = 'invalid_id'
|
|
45
|
+
subject_config = {
|
|
46
|
+
ionoscloud_username: 'email',
|
|
47
|
+
ionoscloud_password: 'password',
|
|
48
|
+
datacenter_id: datacenter.id,
|
|
49
|
+
server_id: server_id,
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
subject_config.each { |key, value| subject.config[key] = value }
|
|
53
|
+
|
|
54
|
+
allow(subject).to receive(:puts)
|
|
55
|
+
allow(subject).to receive(:print)
|
|
56
|
+
|
|
57
|
+
expect(subject.ui).to receive(:error).with("Server ID #{server_id} not found.")
|
|
58
|
+
|
|
59
|
+
expect(subject.api_client).not_to receive(:wait_for)
|
|
60
|
+
mock_call_api(
|
|
61
|
+
subject,
|
|
62
|
+
[
|
|
63
|
+
{
|
|
64
|
+
method: 'GET',
|
|
65
|
+
path: "/datacenters/#{datacenter.id}/servers/#{server_id}/remoteconsole",
|
|
66
|
+
operation: :'ServersApi.datacenters_servers_remote_console_get',
|
|
67
|
+
return_type: 'RemoteConsoleUrl',
|
|
68
|
+
exception: Ionoscloud::ApiError.new(code: 404),
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
expect { subject.run }.not_to raise_error(Exception)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
it 'should not make any call if any required option is missing' do
|
|
77
|
+
required_options = subject.instance_variable_get(:@required_options)
|
|
78
|
+
allow(subject).to receive(:puts)
|
|
79
|
+
allow(subject).to receive(:print)
|
|
80
|
+
|
|
81
|
+
arrays_without_one_element(required_options).each {
|
|
82
|
+
|test_case|
|
|
83
|
+
|
|
84
|
+
test_case[:array].each { |value| subject.config[value] = 'test' }
|
|
85
|
+
|
|
86
|
+
expect(subject).to receive(:puts).with("Missing required parameters #{test_case[:removed]}")
|
|
87
|
+
expect(subject.api_client).not_to receive(:call_api)
|
|
88
|
+
|
|
89
|
+
expect { subject.run }.to raise_error(SystemExit) do |error|
|
|
90
|
+
expect(error.status).to eq(1)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
required_options.each { |value| subject.config[value] = nil }
|
|
94
|
+
}
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
end
|
|
@@ -12,7 +12,7 @@ describe Chef::Knife::IonoscloudServerCreate do
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
describe '#run' do
|
|
15
|
-
it 'should call
|
|
15
|
+
it 'should call ServersApi.datacenters_servers_post with the expected arguments and output based on what it receives' do
|
|
16
16
|
server = server_mock
|
|
17
17
|
subject_config = {
|
|
18
18
|
ionoscloud_username: 'email',
|
|
@@ -45,7 +45,7 @@ describe Chef::Knife::IonoscloudServerCreate do
|
|
|
45
45
|
{
|
|
46
46
|
method: 'POST',
|
|
47
47
|
path: "/datacenters/#{subject_config[:datacenter_id]}/servers",
|
|
48
|
-
operation: :'
|
|
48
|
+
operation: :'ServersApi.datacenters_servers_post',
|
|
49
49
|
return_type: 'Server',
|
|
50
50
|
body: { properties: server.properties.to_hash },
|
|
51
51
|
result: server,
|
|
@@ -53,7 +53,7 @@ describe Chef::Knife::IonoscloudServerCreate do
|
|
|
53
53
|
{
|
|
54
54
|
method: 'GET',
|
|
55
55
|
path: "/datacenters/#{subject_config[:datacenter_id]}/servers/#{server.id}",
|
|
56
|
-
operation: :'
|
|
56
|
+
operation: :'ServersApi.datacenters_servers_find_by_id',
|
|
57
57
|
return_type: 'Server',
|
|
58
58
|
result: server,
|
|
59
59
|
},
|
|
@@ -12,7 +12,7 @@ describe Chef::Knife::IonoscloudServerDelete do
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
describe '#run' do
|
|
15
|
-
it 'should call
|
|
15
|
+
it 'should call ServersApi.datacenters_servers_delete when the ID is valid' do
|
|
16
16
|
server = server_mock
|
|
17
17
|
subject_config = {
|
|
18
18
|
ionoscloud_username: 'email',
|
|
@@ -42,14 +42,14 @@ describe Chef::Knife::IonoscloudServerDelete do
|
|
|
42
42
|
{
|
|
43
43
|
method: 'GET',
|
|
44
44
|
path: "/datacenters/#{subject_config[:datacenter_id]}/servers/#{server.id}",
|
|
45
|
-
operation: :'
|
|
45
|
+
operation: :'ServersApi.datacenters_servers_find_by_id',
|
|
46
46
|
return_type: 'Server',
|
|
47
47
|
result: server,
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
method: 'DELETE',
|
|
51
51
|
path: "/datacenters/#{subject_config[:datacenter_id]}/servers/#{server.id}",
|
|
52
|
-
operation: :'
|
|
52
|
+
operation: :'ServersApi.datacenters_servers_delete',
|
|
53
53
|
},
|
|
54
54
|
],
|
|
55
55
|
)
|
|
@@ -57,7 +57,7 @@ describe Chef::Knife::IonoscloudServerDelete do
|
|
|
57
57
|
expect { subject.run }.not_to raise_error(Exception)
|
|
58
58
|
end
|
|
59
59
|
|
|
60
|
-
it 'should not call
|
|
60
|
+
it 'should not call ServersApi.datacenters_servers_delete when the server ID is not valid' do
|
|
61
61
|
server_id = 'invalid_id'
|
|
62
62
|
subject_config = {
|
|
63
63
|
ionoscloud_username: 'email',
|
|
@@ -77,7 +77,7 @@ describe Chef::Knife::IonoscloudServerDelete do
|
|
|
77
77
|
{
|
|
78
78
|
method: 'GET',
|
|
79
79
|
path: "/datacenters/#{subject_config[:datacenter_id]}/servers/#{server_id}",
|
|
80
|
-
operation: :'
|
|
80
|
+
operation: :'ServersApi.datacenters_servers_find_by_id',
|
|
81
81
|
return_type: 'Server',
|
|
82
82
|
exception: Ionoscloud::ApiError.new(code: 404),
|
|
83
83
|
},
|