Changeset 84618 in vbox for trunk/src/VBox/Frontends/VBoxManage
- Timestamp:
- May 29, 2020 6:43:11 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 138352
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VBoxManage/VBoxManageCloud.cpp
r83279 r84618 2084 2084 2085 2085 2086 static RTEXITCODE setupCloudNetworkEnv(HandlerArg *a, int iFirst, PCLOUDCOMMONOPT pCommonOpts) 2087 { 2088 RT_NOREF(pCommonOpts); 2089 HRESULT hrc = S_OK; 2090 static const RTGETOPTDEF s_aOptions[] = 2091 { 2092 { "--gateway-os-name", 'n', RTGETOPT_REQ_STRING }, 2093 { "--gateway-os-version", 'v', RTGETOPT_REQ_STRING }, 2094 { "--gateway-shape", 's', RTGETOPT_REQ_STRING }, 2095 { "--tunnel-network-name", 't', RTGETOPT_REQ_STRING }, 2096 { "--tunnel-network-range", 'r', RTGETOPT_REQ_STRING }, 2097 }; 2098 RTGETOPTSTATE GetState; 2099 RTGETOPTUNION ValueUnion; 2100 int vrc = RTGetOptInit(&GetState, a->argc, a->argv, s_aOptions, RT_ELEMENTS(s_aOptions), iFirst, 0); 2101 AssertRCReturn(vrc, RTEXITCODE_FAILURE); 2102 2103 Bstr strGatewayOsName; 2104 Bstr strGatewayOsVersion; 2105 Bstr strGatewayShape; 2106 Bstr strTunnelNetworkName; 2107 Bstr strTunnelNetworkRange; 2108 2109 int c; 2110 while ((c = RTGetOpt(&GetState, &ValueUnion)) != 0) 2111 { 2112 switch (c) 2113 { 2114 case 'n': 2115 strGatewayOsName=ValueUnion.psz; 2116 break; 2117 case 'v': 2118 strGatewayOsVersion=ValueUnion.psz; 2119 break; 2120 case 's': 2121 strGatewayShape=ValueUnion.psz; 2122 break; 2123 case 't': 2124 strTunnelNetworkName=ValueUnion.psz; 2125 break; 2126 case 'r': 2127 strTunnelNetworkRange=ValueUnion.psz; 2128 break; 2129 case VINF_GETOPT_NOT_OPTION: 2130 return errorUnknownSubcommand(ValueUnion.psz); 2131 default: 2132 return errorGetOpt(c, &ValueUnion); 2133 } 2134 } 2135 2136 /* Delayed check. It allows us to print help information.*/ 2137 hrc = checkAndSetCommonOptions(a, pCommonOpts); 2138 if (FAILED(hrc)) 2139 return RTEXITCODE_FAILURE; 2140 2141 // if (strGatewayOsName.isEmpty()) 2142 // return errorArgument("Missing --gateway-os-name parameter"); 2143 // if (strGatewayOsVersion.isEmpty()) 2144 // return errorArgument("Missing --gateway-os-version parameter"); 2145 // if (strGatewayShape.isEmpty()) 2146 // return errorArgument("Missing --gateway-shape parameter"); 2147 // if (strTunnelNetworkName.isEmpty()) 2148 // strTunnelNetworkName = "VirtualBox Tunneling Network"; 2149 2150 ComPtr<ICloudProfile> pCloudProfile = pCommonOpts->profile.pCloudProfile; 2151 2152 ComObjPtr<ICloudClient> oCloudClient; 2153 CHECK_ERROR2_RET(hrc, pCloudProfile, 2154 CreateCloudClient(oCloudClient.asOutParam()), 2155 RTEXITCODE_FAILURE); 2156 2157 ComPtr<IVirtualBox> pVirtualBox = a->virtualBox; 2158 ComPtr<ICloudNetworkEnvironmentInfo> cloudNetworkEnv; 2159 ComPtr<IProgress> progress; 2160 CHECK_ERROR2_RET(hrc, oCloudClient, 2161 SetupCloudNetworkEnvironment(strTunnelNetworkName.raw(), strTunnelNetworkRange.raw(), 2162 strGatewayOsName.raw(), strGatewayOsVersion.raw(), strGatewayShape.raw(), 2163 cloudNetworkEnv.asOutParam(), progress.asOutParam()), 2164 RTEXITCODE_FAILURE); 2165 2166 hrc = showProgress(progress); 2167 CHECK_PROGRESS_ERROR_RET(progress, ("Setting up cloud network environment failed"), RTEXITCODE_FAILURE); 2168 2169 Bstr tunnelNetworkId; 2170 hrc = cloudNetworkEnv->COMGETTER(TunnelNetworkId)(tunnelNetworkId.asOutParam()); 2171 RTPrintf("Cloud network environment was set up successfully. Tunnel network id is: %ls\n", tunnelNetworkId.raw()); 2172 2173 return SUCCEEDED(hrc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE; 2174 } 2175 2176 2086 2177 static RTEXITCODE handleCloudNetwork(HandlerArg *a, int iFirst, PCLOUDCOMMONOPT pCommonOpts) 2087 2178 { … … 2094 2185 { "info", 1001, RTGETOPT_REQ_NOTHING }, 2095 2186 { "update", 1002, RTGETOPT_REQ_NOTHING }, 2096 { "delete", 1003, RTGETOPT_REQ_NOTHING } 2187 { "delete", 1003, RTGETOPT_REQ_NOTHING }, 2188 { "setup", 1004, RTGETOPT_REQ_NOTHING } 2097 2189 }; 2098 2190 … … 2116 2208 case 1003: 2117 2209 return deleteCloudNetwork(a, GetState.iNext, pCommonOpts); 2210 case 1004: 2211 return setupCloudNetworkEnv(a, GetState.iNext, pCommonOpts); 2118 2212 case VINF_GETOPT_NOT_OPTION: 2119 2213 return errorUnknownSubcommand(ValueUnion.psz);
Note:
See TracChangeset
for help on using the changeset viewer.