Using the vRealize Suite Lifecycle Manager (vRSLCM) API for vRSLCM Day 2 Operations - Managing Global NTP
vRealize Suite Lifecycle Manager vRSLCM API
Published on 1 December 2021 by Christopher Lewis. Words: 785. Reading Time: 4 mins.
In this post, we will look at how we can use the VMware vRealize Suite Lifecycle Manager (vRSLCM) API to complete Day 2 Operations for managing the configuration of Global Network Time Protocol (NTP) Servers to be used by vRSLCM.
Within vRSLCM, we can optionally configure NTP Servers that can be shared across environments and product deployments. We are going to be using cURL to run API calls to complete the following operational tasks for managing global NTP servers:
- View existing Global NTP Server(s)
- Adding a Global NTP Server
- Deleting a Global NTP Server
Note: The REST API call for deleting NTP servers is a deprecated function.
This post is a part of a series that covers how we can install, configure and manage the vRealize Suite using the vRSLCM API.
Prerequisites
The following prerequisites are required for this blog post:
- vRSLCM 8.6.x (or above) has been deployed successfully within the environment.
- vRSLCM local administrator (admin@local) credentials.
Walkthrough
View existing Global NTP Servers
Overview
Using the vRSLCM REST API, we can view the vRSLCM configuration to see if there are any existing NTP Servers configured for use with the Product deployments.
API Request
The following REST API request is required:
- Request Type: GET
- Request URL: https://{vrslcm.fqdn}/lcm/lcops/api/v2/settings/ntp-servers
- Request Header(s):
- Accept: application/json
- Content-Type: application/json
- Authorization: Basic {admin@local credential hash}
- Request Body Values:
- None
API Example
An example cURL command for this REST API is:
curl --location --request GET 'https://{vrslcm.fqdn}/lcm/lcops/api/v2/settings/ntp-servers' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic {admin@local credential hash}'
Note:
The –insecure flag is also required if you are using self-signed SSL certificates.
API Response
If you have no NTP Servers set, the response returned will be:
[]
If you have previously set a NTP Server, the response will be similar to:
[
{
"name": "NTP Server 1",
"hostName": "1.europe.pool.ntp.org"
}
]
As we can see, we currently have one existing Global NTP server configured and if we logged into vRSLCM using the UI (and navigate to Lifecycle Operations > Settings > NTP Servers), we would now see:
Let us go ahead and add another NTP Server to give us some availability as correct time is SO important!
Adding a Global NTP Server
Overview
In this section we are going to use the vRSLCM API to add another Global NTP Server.
API Request
The following REST API request is required:
- Request Type: POST
- Request URL: https://{vrslcm.fqdn}/lcm/lcops/api/v2/settings/ntp-servers
- Request Header(s):
- Accept: application/json
- Content-Type: application/json
- Authorization: Basic {insert credential hash}
- Request Body Values:
- hostName - the IP address/hostname of the NTP Server.
- name - the user friendly name of the NTP Server in the UI.
API Example
An example cURL command for this REST API is:
curl --location --request POST 'https://{vrslcm.fqdn}/lcm/lcops/api/v2/settings/ntp-servers' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic {admin@local credential hash}' \
--data-raw '{
"hostName": "2.europe.pool.ntp.org",
"name": "NTP Server 2"
}'
Note:
The –insecure flag is also required if you are using self-signed SSL certificates.
API Response
The response returned from a successful request (Status Code=200 OK) will be something like:
{
"name": "NTP Server 2",
"hostName": "2.europe.pool.ntp.org"
}
If we logged into vRSLCM using the UI (and navigate to Lifecycle Operations > Settings > NTP Servers), we would now see the following NTP servers configured:
Delete a Global DNS Server
Overview
Over time, there maybe cause to replace NTP Servers (or maybe someone just configured the wrong ones to start with). In this section we will look at the API call required to delete an existing Global NTP Server.
Note:
The v2 API to delete NTP Servers is deprecated. Hence we will be using the new v3 API!
API Request
The following REST API request is required:
-
Request Type: DELETE
-
Request URL: https://{vrslcm.fqdn}/lcm/lcops/api/v3/settings/ntp-servers?ntpHostname={ntp.server}
- ntpHostname - hostname/ip address of the configured NTP server (represented by the
hostName
value in the GET request).
- ntpHostname - hostname/ip address of the configured NTP server (represented by the
-
Request Header(s):
- Accept: application/json
- Content-Type: application/json
- Authorization: Basic {insert credential hash}
-
Request Parameters:
-
Request Body Values:
- None
API Example
An example cURL command for this REST API is:
curl --location --request DELETE 'https://{vrslcm.fqdn}/lcm/lcops/api/v3/settings/ntp-servers?ntpHostname={ntp.server}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic {admin@local credential hash}'
API Response
The expected response returned from a successful request (Status Code=200) will be the information on the NTP server that has been removed:
{
"name": "NTP Server 2",
"hostName": "2.europe.pool.ntp.org"
}
If we logged into vRSLCM using the UI (and navigate to Lifecycle Operations > Settings > NTP Servers), we would see a single NTP Server configured:
Wrapping It All Up!
In this short post we have explored the way we can manage Global NTP Servers in vRSLCM using the API.
If this API this snippet has been helpful, make sure you checkout the rest of the series !
Published on 1 December 2021 by Christopher Lewis. Words: 785. Reading Time: 4 mins.
- Using the vRealize Suite Lifecycle Manager (vRSLCM) API for vRSLCM Day 2 Operations - Managing Global DNS ()
- Using the vRealize Suite Lifecycle Manager (vRSLCM) API for vRSLCM Day 2 Operations - Managing Datacenters ()
- Using the vRealize Suite Lifecycle Manager (vRSLCM) API for vRSLCM Day 2 Operations - Managing Storage ()
- Using the vRealize Suite Lifecycle Manager (vRSLCM) API to track vRSLCM Requests ()
- Using the vRealize Suite Lifecycle Manager (vRSLCM) API to manage Locker Credentials ()
- Operating a Private Cloud - Part 3: Creating a Pricing Card in VMware Aria Automation
- Operating a Private Cloud - Part 2: Creating a Pricing Card in VMware Aria Operations
- Operating a Private Cloud - Part 1: Understanding Pricing Cards in VMware Aria
- Zero2Hero - Using Aria Automation to Deploy Multiple Machines with Multiple Disks - Part 5
- Zero2Hero - Using Aria Automation to Deploy Multiple Machines with Multiple Disks - Part 4