Skip to content

Commit 96dff43

Browse files
Extract NSX-V/T SDDC info for HCX C2C Migration
1 parent 26efd8c commit 96dff43

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

shell/vmc_v2t_hcx_migration_info.sh

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#!/bin/bash
2+
# Author: William Lam (@lamw)
3+
# Description: Script to help extract NSX-V and NSX-T SDDC Information for HCX V2T Migration (Cloud2Cloud)
4+
5+
if [ ${#} -lt 6 ]; then
6+
echo -e "Usage: \n\t$0 [NSXV_REFRESH_TOKEN] [NSXV_ORGID] [NSXV_SDDCID] [NSXT_REFRESH_TOKEN] [NSXT_ORGID] [NSXT_SDDCID] <SHOW_CLOUD_ADMIN_CREDS>\n"
7+
exit 1
8+
fi
9+
10+
type jq > /dev/null 2&>1
11+
if [ $? -eq 1 ]; then
12+
echo "It does not look like you have jq installed. This script uses jq to parse the JSON output"
13+
exit 1
14+
fi
15+
16+
NSXV_REFRESH_TOKEN=$1
17+
NSXV_ORGID=$2
18+
NSXV_SDDCID=$3
19+
NSXT_REFRESH_TOKEN=$4
20+
NSXT_ORGID=$5
21+
NSXT_SDDCID=$6
22+
SHOW_CREDS=$7
23+
24+
RESULTS=$(curl -s -X POST -H "application/x-www-form-urlencoded" "https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize" -d "refresh_token=$NSXV_REFRESH_TOKEN")
25+
NSXV_CSP_ACCESS_TOKEN=$(echo $RESULTS | jq -r .access_token)
26+
RESULTS=$(curl -s -X POST -H "application/x-www-form-urlencoded" "https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize" -d "refresh_token=$NSXT_REFRESH_TOKEN")
27+
NSXT_CSP_ACCESS_TOKEN=$(echo $RESULTS | jq -r .access_token)
28+
29+
VSDDC_RESULTS="VSDDC_RESULTS"
30+
TSDDC_RESULTS="TSDDC_RESULTS"
31+
32+
# NSX-V SDDC Info
33+
curl -s -X GET -H "Content-Type: application/json" -H "csp-auth-token: ${NSXV_CSP_ACCESS_TOKEN}" -o ${VSDDC_RESULTS} "https://vmc.vmware.com/vmc/api/orgs/${NSXV_ORGID}/sddcs/${NSXV_SDDCID}"
34+
# NSX-T SDDC Info
35+
curl -s -X GET -H "Content-Type: application/json" -H "csp-auth-token: ${NSXT_CSP_ACCESS_TOKEN}" -o ${TSDDC_RESULTS} "https://vmc.vmware.com/vmc/api/orgs/${NSXT_ORGID}/sddcs/${NSXT_SDDCID}"
36+
37+
38+
VSDDC_CREDS="<hidden>"
39+
TSDDC_CREDS="<hidden>"
40+
if [[ ! -z ${SHOW_CREDS} ]] && [[ ${SHOW_CREDS} -eq 1 ]]; then
41+
VSDDC_CREDS=$(cat ${VSDDC_RESULTS} | jq -r .resource_config.cloud_password)
42+
TSDDC_CREDS=$(cat ${TSDDC_RESULTS} | jq -r .resource_config.cloud_password)
43+
fi
44+
45+
cat << EOF
46+
47+
NSX-V SDDC (Source):
48+
Name: $(cat ${VSDDC_RESULTS} | jq -r .name)
49+
VC: $(cat ${VSDDC_RESULTS} | jq -r .resource_config.vc_url)
50+
HCX: $(cat ${VSDDC_RESULTS} | jq -r .resource_config.vc_url | sed 's/vcenter/hcx/g')
51+
CloudAdminPassword: ${VSDDC_CREDS}
52+
PoPIP: $(cat ${VSDDC_RESULTS}|jq -r .resource_config.agent.internal_ip)
53+
54+
NSX-T SDDC (Destination):
55+
Name: $(cat ${TSDDC_RESULTS} | jq -r .name)
56+
vCenter: $(cat ${TSDDC_RESULTS} | jq -r .resource_config.vc_url)
57+
HCX: $(cat ${TSDDC_RESULTS} | jq -r .resource_config.vc_url | sed 's/vcenter/hcx/g')
58+
CloudAdminPassword: ${TSDDC_CREDS}
59+
60+
EOF
61+
62+
rm -f ${VSDDC_RESULTS}
63+
rm -f ${TSDDC_RESULTS}

0 commit comments

Comments
 (0)