Awesome
IBM Cloud VPC Node.js SDK
Node.js client library to interact with various VPC APIs.
This SDK uses Semantic Versioning, and as such there may be backward-incompatible changes for any new 0.y.z
version.
Table of Contents
<!-- The TOC below is generated using the `markdown-toc` node package. https://github.com/jonschlinkert/markdown-toc You should regenerate the TOC after making changes to this file. npx markdown-toc -i README.md --> <!-- toc -->- Overview
- Prerequisites
- Installation
- Using the SDK
- Questions
- Issues
- Open source @ IBM
- Contributing
- License
Overview
The IBM Cloud VPC Node.js SDK allows developers to programmatically interact with the following IBM Cloud services:
Service Name | Import Path |
---|---|
VPC | ibm-vpc/vpc/v1 |
Prerequisites
- An IBM Cloud account
- Node.js version 18 or newer
Installation
npm install ibm-vpc
Using the SDK
For general SDK usage information, see the IBM Cloud SDK Common README
Example set up for VPC
const { IamAuthenticator } = require("ibm-vpc/auth");
const vpcV1 = require("ibm-vpc/vpc/v1");
const options = {
authenticator: new IamAuthenticator({
apikey: process.env.IC_API_KEY, //IBMCLOUD_API_KEY
}),
serviceUrl: "https://us-south.iaas.cloud.ibm.com/v1",
};
const service = vpcV1.newInstance(options);
// Retrieve the list of regions for your account.
const response = service.listRegions({});
response.then(function(result) {
result.result.regions.forEach(region => {
regionserviceUrl = region.endpoint+"/v1";
const regionSpecificOptions = {
authenticator: new IamAuthenticator({
apikey: process.env.IC_API_KEY,
}),
serviceUrl: regionserviceUrl,
};
const regionSpecificService = vpcV1.newInstance(regionSpecificOptions);
const instanceprofilesresponse = regionSpecificService.listInstanceProfiles({});
instanceprofilesresponse.then(function(profileCollection) {
console.log(profileCollection.result.profiles[0].href)
})
})
})
// Retrieve the list of vpcs for your account.
try {
const responses = service.listVpcs();
responses.then(function(result) {
result.result.vpcs.forEach(vpc => {
console.log("vpc-id"+" "+vpc.id);
});
})
} catch (err) {
console.warn(err);
}
// Retrieve the list of subnets for your account.
try {
const responses = service.listSubnets();
responses.then(function(result) {
result.result.subnets.forEach(subnet => {
console.log("subnet-id"+" "+subnet.id);
});
})
} catch (err) {
console.warn(err);
}
Questions
If you have difficulties using this SDK or you have a question about the IBM Cloud services, ask a question at Stack Overflow.
Issues
If you encounter an issue with the SDK, you are welcome to submit a bug report. Before you create a new issue, search for similar issues. It's possible someone has already reported the problem.
Open source @ IBM
Find more open source projects on the IBM GitHub Page
Contributing
See CONTRIBUTING.
License
This project is released under the Apache 2.0 license. The license's full text can be found in LICENSE.