Changeset 91133 in vbox for trunk/src/VBox
- Timestamp:
- Sep 6, 2021 10:38:23 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VBoxManage/VBoxManageCloud.cpp
r90220 r91133 450 450 static RTEXITCODE handleCloudLists(HandlerArg *a, int iFirst, PCLOUDCOMMONOPT pCommonOpts) 451 451 { 452 enum 453 { 454 kCloudListIota = 1000, 455 kCloudList_Images, 456 kCloudList_Instances, 457 kCloudList_Machines, 458 kCloudList_Networks, 459 kCloudList_Objects, 460 kCloudList_Subnets, 461 kCloudList_Vcns, 462 }; 463 464 static const RTGETOPTDEF s_aOptions[] = 465 { 466 { "images", kCloudList_Images, RTGETOPT_REQ_NOTHING }, 467 { "instances", kCloudList_Instances, RTGETOPT_REQ_NOTHING }, 468 { "machines", kCloudList_Machines, RTGETOPT_REQ_NOTHING }, 469 { "networks", kCloudList_Networks, RTGETOPT_REQ_NOTHING }, 470 { "objects", kCloudList_Objects, RTGETOPT_REQ_NOTHING }, 471 { "subnets", kCloudList_Subnets, RTGETOPT_REQ_NOTHING }, 472 { "vcns", kCloudList_Vcns, RTGETOPT_REQ_NOTHING }, 473 474 { "help", 'h', RTGETOPT_REQ_NOTHING }, 475 { "-?", 'h', RTGETOPT_REQ_NOTHING }, 476 { "-help", 'h', RTGETOPT_REQ_NOTHING }, 477 { "--help", 'h', RTGETOPT_REQ_NOTHING }, 478 }; 479 452 480 if (a->argc == iFirst) 453 481 { … … 457 485 } 458 486 459 static const RTGETOPTDEF s_aOptions[] =460 {461 { "images", 1000, RTGETOPT_REQ_NOTHING },462 { "instances", 1001, RTGETOPT_REQ_NOTHING },463 { "networks", 1002, RTGETOPT_REQ_NOTHING },464 { "subnets", 1003, RTGETOPT_REQ_NOTHING },465 { "vcns", 1004, RTGETOPT_REQ_NOTHING },466 { "objects", 1005, RTGETOPT_REQ_NOTHING },467 { "help", 1006, RTGETOPT_REQ_NOTHING },468 { "--help", 1007, RTGETOPT_REQ_NOTHING },469 { "machines", 1008, RTGETOPT_REQ_NOTHING }470 };471 472 487 RTGETOPTSTATE GetState; 473 488 int vrc = RTGetOptInit(&GetState, a->argc, a->argv, s_aOptions, RT_ELEMENTS(s_aOptions), iFirst, 0); … … 480 495 switch (c) 481 496 { 482 case 1000:497 case kCloudList_Images: 483 498 setCurrentSubcommand(HELP_SCOPE_CLOUDLIST_IMAGES); 484 499 return listCloudImages(a, GetState.iNext, pCommonOpts); 485 case 1001: 500 501 case kCloudList_Instances: 486 502 setCurrentSubcommand(HELP_SCOPE_CLOUDLIST_INSTANCES); 487 503 return listCloudInstances(a, GetState.iNext, pCommonOpts); 488 case 1006: 489 case 1007: 490 printHelp(g_pStdOut); 491 return RTEXITCODE_SUCCESS; 492 493 case 1008: /* machines */ 504 505 case kCloudList_Machines: 494 506 return listCloudMachines(a, GetState.iNext, 495 507 pCommonOpts->provider.pszProviderName, 496 508 pCommonOpts->profile.pszProfileName); 509 510 case 'h': 511 printHelp(g_pStdOut); 512 return RTEXITCODE_SUCCESS; 497 513 498 514 case VINF_GETOPT_NOT_OPTION: … … 1106 1122 static RTEXITCODE handleCloudInstance(HandlerArg *a, int iFirst, PCLOUDCOMMONOPT pCommonOpts) 1107 1123 { 1124 enum 1125 { 1126 kCloudInstanceIota = 1000, 1127 kCloudInstance_Create, 1128 kCloudInstance_Info, 1129 kCloudInstance_Pause, 1130 kCloudInstance_Start, 1131 kCloudInstance_Terminate, 1132 kCloudInstance_Update, 1133 }; 1134 1135 static const RTGETOPTDEF s_aOptions[] = 1136 { 1137 { "create", kCloudInstance_Create, RTGETOPT_REQ_NOTHING }, 1138 { "info", kCloudInstance_Info, RTGETOPT_REQ_NOTHING }, 1139 { "pause", kCloudInstance_Pause, RTGETOPT_REQ_NOTHING }, 1140 { "start", kCloudInstance_Start, RTGETOPT_REQ_NOTHING }, 1141 { "terminate", kCloudInstance_Terminate, RTGETOPT_REQ_NOTHING }, 1142 { "update", kCloudInstance_Update, RTGETOPT_REQ_NOTHING }, 1143 1144 { "help", 'h', RTGETOPT_REQ_NOTHING }, 1145 { "-?", 'h', RTGETOPT_REQ_NOTHING }, 1146 { "-help", 'h', RTGETOPT_REQ_NOTHING }, 1147 { "--help", 'h', RTGETOPT_REQ_NOTHING }, 1148 }; 1149 1108 1150 if (a->argc == iFirst) 1109 1151 { … … 1113 1155 } 1114 1156 1115 static const RTGETOPTDEF s_aOptions[] =1116 {1117 { "create", 1000, RTGETOPT_REQ_NOTHING },1118 { "start", 1001, RTGETOPT_REQ_NOTHING },1119 { "pause", 1002, RTGETOPT_REQ_NOTHING },1120 { "info", 1003, RTGETOPT_REQ_NOTHING },1121 { "update", 1004, RTGETOPT_REQ_NOTHING },1122 { "terminate", 1005, RTGETOPT_REQ_NOTHING },1123 { "help", 1006, RTGETOPT_REQ_NOTHING },1124 { "--help", 1007, RTGETOPT_REQ_NOTHING }1125 };1126 1127 1157 RTGETOPTSTATE GetState; 1128 1158 int vrc = RTGetOptInit(&GetState, a->argc, a->argv, s_aOptions, RT_ELEMENTS(s_aOptions), iFirst, 0); … … 1136 1166 { 1137 1167 /* Sub-commands: */ 1138 case 1000:1168 case kCloudInstance_Create: 1139 1169 setCurrentSubcommand(HELP_SCOPE_CLOUDINSTANCE_CREATE); 1140 1170 return createCloudInstance(a, GetState.iNext, pCommonOpts); 1141 case 1001: 1171 1172 case kCloudInstance_Start: 1142 1173 setCurrentSubcommand(HELP_SCOPE_CLOUDINSTANCE_START); 1143 1174 return startCloudInstance(a, GetState.iNext, pCommonOpts); 1144 case 1002: 1175 1176 case kCloudInstance_Pause: 1145 1177 setCurrentSubcommand(HELP_SCOPE_CLOUDINSTANCE_PAUSE); 1146 1178 return pauseCloudInstance(a, GetState.iNext, pCommonOpts); 1147 case 1003: 1179 1180 case kCloudInstance_Info: 1148 1181 setCurrentSubcommand(HELP_SCOPE_CLOUDINSTANCE_INFO); 1149 1182 return showCloudInstanceInfo(a, GetState.iNext, pCommonOpts); 1150 case 1004: 1183 1184 case kCloudInstance_Update: 1151 1185 // setCurrentSubcommand(HELP_SCOPE_CLOUDINSTANCE_UPDATE); 1152 1186 return updateCloudInstance(a, GetState.iNext, pCommonOpts); 1153 case 1005: 1187 1188 case kCloudInstance_Terminate: 1154 1189 setCurrentSubcommand(HELP_SCOPE_CLOUDINSTANCE_TERMINATE); 1155 1190 return terminateCloudInstance(a, GetState.iNext, pCommonOpts); 1156 case 1006: 1157 case 1007:1191 1192 case 'h': 1158 1193 printHelp(g_pStdOut); 1159 1194 return RTEXITCODE_SUCCESS; 1195 1160 1196 case VINF_GETOPT_NOT_OPTION: 1161 1197 return errorUnknownSubcommand(ValueUnion.psz); … … 1740 1776 static RTEXITCODE handleCloudImage(HandlerArg *a, int iFirst, PCLOUDCOMMONOPT pCommonOpts) 1741 1777 { 1778 enum 1779 { 1780 kCloudImageIota = 1000, 1781 kCloudImage_Create, 1782 kCloudImage_Delete, 1783 kCloudImage_Export, 1784 kCloudImage_Import, 1785 kCloudImage_Info, 1786 kCloudImage_Update, 1787 }; 1788 1789 static const RTGETOPTDEF s_aOptions[] = 1790 { 1791 { "create", kCloudImage_Create, RTGETOPT_REQ_NOTHING }, 1792 { "delete", kCloudImage_Delete, RTGETOPT_REQ_NOTHING }, 1793 { "export", kCloudImage_Export, RTGETOPT_REQ_NOTHING }, 1794 { "import", kCloudImage_Import, RTGETOPT_REQ_NOTHING }, 1795 { "info", kCloudImage_Info, RTGETOPT_REQ_NOTHING }, 1796 { "update", kCloudImage_Update, RTGETOPT_REQ_NOTHING }, 1797 1798 { "help", 'h', RTGETOPT_REQ_NOTHING }, 1799 { "-?", 'h', RTGETOPT_REQ_NOTHING }, 1800 { "-help", 'h', RTGETOPT_REQ_NOTHING }, 1801 { "--help", 'h', RTGETOPT_REQ_NOTHING }, 1802 }; 1803 1742 1804 if (a->argc == iFirst) 1743 1805 { … … 1747 1809 } 1748 1810 1749 static const RTGETOPTDEF s_aOptions[] =1750 {1751 { "create", 1000, RTGETOPT_REQ_NOTHING },1752 { "export", 1001, RTGETOPT_REQ_NOTHING },1753 { "import", 1002, RTGETOPT_REQ_NOTHING },1754 { "info", 1003, RTGETOPT_REQ_NOTHING },1755 { "update", 1004, RTGETOPT_REQ_NOTHING },1756 { "delete", 1005, RTGETOPT_REQ_NOTHING },1757 { "help", 1006, RTGETOPT_REQ_NOTHING },1758 { "--help", 1007, RTGETOPT_REQ_NOTHING }1759 };1760 1761 1811 RTGETOPTSTATE GetState; 1762 1812 int vrc = RTGetOptInit(&GetState, a->argc, a->argv, s_aOptions, RT_ELEMENTS(s_aOptions), iFirst, 0); … … 1770 1820 { 1771 1821 /* Sub-commands: */ 1772 case 1000:1822 case kCloudImage_Create: 1773 1823 setCurrentSubcommand(HELP_SCOPE_CLOUDIMAGE_CREATE); 1774 1824 return createCloudImage(a, GetState.iNext, pCommonOpts); 1775 case 1001: 1825 1826 case kCloudImage_Export: 1776 1827 setCurrentSubcommand(HELP_SCOPE_CLOUDIMAGE_EXPORT); 1777 1828 return exportCloudImage(a, GetState.iNext, pCommonOpts); 1778 case 1002: 1829 1830 case kCloudImage_Import: 1779 1831 setCurrentSubcommand(HELP_SCOPE_CLOUDIMAGE_IMPORT); 1780 1832 return importCloudImage(a, GetState.iNext, pCommonOpts); 1781 case 1003: 1833 1834 case kCloudImage_Info: 1782 1835 setCurrentSubcommand(HELP_SCOPE_CLOUDIMAGE_INFO); 1783 1836 return showCloudImageInfo(a, GetState.iNext, pCommonOpts); 1784 case 1004: 1837 1838 case kCloudImage_Update: 1785 1839 // setCurrentSubcommand(HELP_SCOPE_CLOUDIMAGE_UPDATE); 1786 1840 return updateCloudImage(a, GetState.iNext, pCommonOpts); 1787 case 1005: 1841 1842 case kCloudImage_Delete: 1788 1843 setCurrentSubcommand(HELP_SCOPE_CLOUDIMAGE_DELETE); 1789 1844 return deleteCloudImage(a, GetState.iNext, pCommonOpts); 1790 case 1006: 1791 case 1007:1845 1846 case 'h': 1792 1847 printHelp(g_pStdOut); 1793 1848 return RTEXITCODE_SUCCESS; 1849 1794 1850 case VINF_GETOPT_NOT_OPTION: 1795 1851 return errorUnknownSubcommand(ValueUnion.psz); … … 2707 2763 static RTEXITCODE handleCloudNetwork(HandlerArg *a, int iFirst, PCLOUDCOMMONOPT pCommonOpts) 2708 2764 { 2765 enum 2766 { 2767 kCloudNetworkIota = 1000, 2768 kCloudNetwork_Create, 2769 kCloudNetwork_Delete, 2770 kCloudNetwork_Info, 2771 kCloudNetwork_Setup, 2772 kCloudNetwork_Update, 2773 }; 2774 2775 static const RTGETOPTDEF s_aOptions[] = 2776 { 2777 { "create", kCloudNetwork_Create, RTGETOPT_REQ_NOTHING }, 2778 { "delete", kCloudNetwork_Delete, RTGETOPT_REQ_NOTHING }, 2779 { "info", kCloudNetwork_Info, RTGETOPT_REQ_NOTHING }, 2780 { "setup", kCloudNetwork_Setup, RTGETOPT_REQ_NOTHING } 2781 { "update", kCloudNetwork_Update, RTGETOPT_REQ_NOTHING }, 2782 }; 2783 2709 2784 if (a->argc < 1) 2710 2785 return errorNoSubcommand(); 2711 2712 static const RTGETOPTDEF s_aOptions[] =2713 {2714 { "create", 1000, RTGETOPT_REQ_NOTHING },2715 { "info", 1001, RTGETOPT_REQ_NOTHING },2716 { "update", 1002, RTGETOPT_REQ_NOTHING },2717 { "delete", 1003, RTGETOPT_REQ_NOTHING },2718 { "setup", 1004, RTGETOPT_REQ_NOTHING }2719 };2720 2786 2721 2787 RTGETOPTSTATE GetState; … … 2730 2796 { 2731 2797 /* Sub-commands: */ 2732 case 1000:2798 case kCloudNetwork_Create: 2733 2799 return createCloudNetwork(a, GetState.iNext, pCommonOpts); 2734 case 1001: 2800 2801 case kCloudNetwork_Info: 2735 2802 return showCloudNetworkInfo(a, GetState.iNext, pCommonOpts); 2736 case 1002: 2803 2804 case kCloudNetwork_Update: 2737 2805 return updateCloudNetwork(a, GetState.iNext, pCommonOpts); 2738 case 1003: 2806 2807 case kCloudNetwork_Delete: 2739 2808 return deleteCloudNetwork(a, GetState.iNext, pCommonOpts); 2740 case 1004: 2809 2810 case kCloudNetwork_Setup: 2741 2811 return setupCloudNetworkEnv(a, GetState.iNext, pCommonOpts); 2812 2742 2813 case VINF_GETOPT_NOT_OPTION: 2743 2814 return errorUnknownSubcommand(ValueUnion.psz); … … 2755 2826 RTEXITCODE handleCloud(HandlerArg *a) 2756 2827 { 2828 enum 2829 { 2830 kCloudIota = 1000, 2831 kCloud_Image, 2832 kCloud_Instance, 2833 kCloud_List, 2834 kCloud_Machine, 2835 kCloud_Network, 2836 kCloud_Object, 2837 kCloud_Volume, 2838 }; 2839 2840 static const RTGETOPTDEF s_aOptions[] = 2841 { 2842 /* common options */ 2843 { "--provider", 'v', RTGETOPT_REQ_STRING }, 2844 { "--profile", 'f', RTGETOPT_REQ_STRING }, 2845 2846 { "image", kCloud_Image, RTGETOPT_REQ_NOTHING }, 2847 { "instance", kCloud_Instance, RTGETOPT_REQ_NOTHING }, 2848 { "list", kCloud_List, RTGETOPT_REQ_NOTHING }, 2849 { "machine", kCloud_Machine, RTGETOPT_REQ_NOTHING }, 2850 { "network", kCloud_Network, RTGETOPT_REQ_NOTHING }, 2851 { "object", kCloud_Object, RTGETOPT_REQ_NOTHING }, 2852 { "volume", kCloud_Volume, RTGETOPT_REQ_NOTHING }, 2853 }; 2854 2757 2855 if (a->argc < 1) 2758 2856 return errorNoSubcommand(); 2759 2760 static const RTGETOPTDEF s_aOptions[] =2761 {2762 /* common options */2763 { "--provider", 'v', RTGETOPT_REQ_STRING },2764 { "--profile", 'f', RTGETOPT_REQ_STRING },2765 { "list", 1000, RTGETOPT_REQ_NOTHING },2766 { "image", 1001, RTGETOPT_REQ_NOTHING },2767 { "instance", 1002, RTGETOPT_REQ_NOTHING },2768 { "network", 1003, RTGETOPT_REQ_NOTHING },2769 { "volume", 1004, RTGETOPT_REQ_NOTHING },2770 { "object", 1005, RTGETOPT_REQ_NOTHING },2771 { "machine", 1006, RTGETOPT_REQ_NOTHING }2772 };2773 2857 2774 2858 RTGETOPTSTATE GetState; … … 2786 2870 commonOpts.provider.pszProviderName = ValueUnion.psz; 2787 2871 break; 2872 2788 2873 case 'f': // --profile 2789 2874 commonOpts.profile.pszProfileName = ValueUnion.psz; 2790 2875 break; 2876 2791 2877 /* Sub-commands: */ 2792 case 1000:2878 case kCloud_List: 2793 2879 return handleCloudLists(a, GetState.iNext, &commonOpts); 2794 case 1001: 2880 2881 case kCloud_Image: 2795 2882 return handleCloudImage(a, GetState.iNext, &commonOpts); 2796 case 1002: 2883 2884 case kCloud_Instance: 2797 2885 return handleCloudInstance(a, GetState.iNext, &commonOpts); 2886 2798 2887 #ifdef VBOX_WITH_CLOUD_NET 2799 case 1003:2888 case kCloud_Network: 2800 2889 return handleCloudNetwork(a, GetState.iNext, &commonOpts); 2801 2890 #endif /* VBOX_WITH_CLOUD_NET */ 2802 case 1006: 2891 2892 case kCloud_Machine: 2803 2893 return handleCloudMachine(a, GetState.iNext, 2804 2894 commonOpts.provider.pszProviderName,
Note:
See TracChangeset
for help on using the changeset viewer.