https://github.com/entraptaj/ts-vcenter
TypeScript Node Module for interacting with vCenter
https://github.com/entraptaj/ts-vcenter
typescript vcenter vcenter-api vmware
Last synced: 10 months ago
JSON representation
TypeScript Node Module for interacting with vCenter
- Host: GitHub
- URL: https://github.com/entraptaj/ts-vcenter
- Owner: EntraptaJ
- Created: 2019-06-13T19:48:31.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-12T01:42:47.000Z (over 3 years ago)
- Last Synced: 2025-10-04T13:46:15.651Z (10 months ago)
- Topics: typescript, vcenter, vcenter-api, vmware
- Language: TypeScript
- Homepage: https://kristianjones.dev/TSModules
- Size: 1.32 MB
- Stars: 2
- Watchers: 0
- Forks: 1
- Open Issues: 41
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TS-vCenter
TS-vCenter is a NodeJS module for interacting with a vCenter Server via the Automation REST API
TypeDoc [Documentation](https://kristianfjones.github.io/TS-vCenter/docs/classes/_vcenter_.vcenter.html)
## Working
- Combo method of Content Library, Items, and Info
- VM Templates - List, Deployment
- VMs
- Hosts
- Datastores
- Most Content Library Stuff
- Folders
- Datacenters
- Clusters
## Usage
First you need to get a session token
```typescript
import { loginVCSA, vCenter } from 'ts-vcenter';
const Start = async () => {
const token = await loginVCSA({
username: 'Administrator@vsphere.local',
url: 'https://vsphere.local',
password: 'password',
});
const vcsa = new vCenter({ url: 'https://vsphere.local', token });
const VMs = await vcsa.getVMs();
console.log(VMs);
}
Start()
};
```
### Get Hosts
```typescript
const getHosts = async () => {
const Hosts = await vcsa.getHosts();
Hosts.map(host => console.log(host.name, host.connection_state, host.power_state));
};
```
For more examples checkout the JSDoc/TSDoc defs on each method.
## Extras
If you need any more methods added just open an issue on the GitHub repo and I'll have it added within a day. Or open a PR if you would like.
All requests are done with the internal this.vCenterGetRequest or this.vCenterPostRequest methods in the vCenter class
Example
```typescript
public getHosts = async (filter?: HostsFilter): Promise => this.vCenterGetRequest('/vcenter/host', filter);
```