Skyline Insight API Powershell example
Short example on how to use the new Skyline Insight API with Powershell
Install the following module which will simplify the usage.
1Install-Module -Name PSGraphQL -Repository PSGallery -Scope CurrentUser
You have to create a API token for your Skyline ORG: https://docs.vmware.com/en/VMware-Skyline/1.0/skyline-api-guide/GUID-44592D1C-647D-4578-974A-C75D1D670B36.html
The Script:
- you have to replace REFRESHTOKEN with your generated refresh token
- you have to adjust your query based on your needs
1$Header = @{
2 "Accept" = "application/json"
3 "Content-Type" = "application/x-www-form-urlencoded"
4}
5
6$Body = @{
7 refresh_token = "REFRESHTOKEN"
8}
9
10
11$FULLTOKEN = Invoke-RestMethod -method Post -Uri 'https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize?grant_type=refresh_token' -Headers $Header -Body $Body
12
13$MYTOKEN = $FULLTOKEN.access_token
14
15$headers = @{Authorization="Bearer $MYTOKEN"}
16$uri = "https://skyline.vmware.com/public/api/data"
17
18$myQuery = '
19 query {
20 activeFindings(
21 filter: {
22 findingId: "vSphere-VIBAcceptanceLevels",
23 product: "vcsa.local"
24 }
25 limit: 200
26 ) {
27 findings {
28 findingId
29 accountId
30 findingDisplayName
31 severity
32 products
33 findingDescription
34 findingImpact
35 recommendations
36 kbLinkURLs
37 recommendationsVCF
38 kbLinkURLsVCF
39 categoryName
40 findingTypes
41 firstObserved
42 totalAffectedObjectsCount
43 }
44 totalRecords
45 timeTaken
46 }
47 }
48'
49
50$response = Invoke-GraphQLQuery -Query $myQuery -Headers $headers -Uri $uri
51$response | ConvertTo-Json -Depth 100
Example Output:
1PS /Users/hemmi/Documents> ./skyline_insight_api.ps1
2{
3 "data": {
4 "activeFindings": {
5 "findings": [
6 {
7 "findingId": "vSphere-VIBAcceptanceLevels",
8 "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
9 "findingDisplayName": "vSphere-VIBAcceptanceLevels",
10 "severity": "TRIVIAL",
11 "products": [
12 "vcsa.local"
13 ],
14 "findingDescription": "ESXi host has one or more VIBs which is not VMware or Partner supported.",
15 "findingImpact": "Environmental Stability",
16 "recommendations": [
17 "Please work with 3rd party to validate if this VIB is necessary or can be updated. It is possible to run into a problem with secure boot when having VIBs that do not have appropriate VIB acceptance levels."
18 ],
19 "kbLinkURLs": [
20 "https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-751034F3-5337-4DB2-8272-8DAC0980EACA.html"
21 ],
22 "recommendationsVCF": [
23 ""
24 ],
25 "kbLinkURLsVCF": [
26 ""
27 ],
28 "categoryName": "Compute",
29 "findingTypes": [
30 "TROUBLESHOOTING"
31 ],
32 "firstObserved": 1622285726305,
33 "totalAffectedObjectsCount": 1
34 }
35 ],
36 "totalRecords": 1,
37 "timeTaken": 27
38 }
39 }
40}