· 6 years ago · Sep 04, 2019, 12:32 PM
1# Trigger CDM to refresh metadata from vCD
2
3Import-Module Rubrik
4$Key = "[API key]" # Key must be assigned to a user with Admin credentials to trigger metadata refresh
5$vcdid = "[ID of vCD Server] # Ex: Vcd:::f96a2b1b-a06d-4f17-b6be-52141795532e
6
7# Connect to Envoy, or CDM
8Connect-Rubrik -Server [Server:Port] -Token $Key | Out-Null
9
10# Refresh vCD
11$refresh = Invoke-RubrikRESTCall -Endpoint "vcd/cluster/$($vcdid)/refresh" -Method POST -api internal
12$url = $refresh.links.href
13$endpoint = $url -replace "^.*?(vcd\/cluster\/request\/.*?)$", '$1'
14
15$refreshtask = Invoke-RubrikRESTCall -Endpoint $endpoint -Method GET -api internal
16Write-Output "vCD Refresh Status: $($refreshtask.status)"
17
18sleep 5
19$counter = 0
20
21while($refreshtask.status -ne "SUCCEEDED")
22{
23 Write-Output "vCD Refresh Status: $($refreshtask.status)"
24 sleep 5
25 $refreshtask = Invoke-RubrikRESTCall -Endpoint $endpoint -Method GET -api internal
26 $counter += 1
27 if($counter -eq 12) { throw "Refresh task took too long" }
28}
29
30Write-Output "vCD Refresh Status: $($refreshtask.status)"