NodeJS SDK for IBM Cloud Code Engine
Node.js client library to interact with the Code Engine API.
Table of Contents
Overview
The IBM Cloud Code Engine Node.js SDK allows developers to programmatically interact with the following IBM Cloud services:
| Code Engine | @ibm-cloud/ibm-code-engine-sdk/code-engine/v2 |
| Code Engine | ibm-code-engine-sdk/ibm-cloud-code-engine/v1 |
Prerequisites
- You need an IBM Cloud account.
- Node.js >=14: This SDK is tested with Node.js versions 14 and up. It may work on previous versions but this is not officially supported.
Breaking Changes (April 2026)
As part of the introduction of persistent_data_stores as a Volume Mount type for apps and jobs, the optional name property of entries in run_volume_mounts is no longer supported.
If you used the optional name property, remove it from the prototype of the app or job.
Breaking Changes (March 2026)
For consistency, the March 2026 update introduces pluralized list APIs, new outbound destination types, and updated constructor/patch models. These changes require updates to existing client code.
-
Method renames (pluralization)
Update all list calls:
const response = await codeEngineService.listAllowedOutboundDestination(params);
const response = await codeEngineService.listAllowedOutboundDestinations(params);
const response = await codeEngineService.listPersistentDataStore(params);
const response = await codeEngineService.listPersistentDataStores(params);
-
Pager class renames
Switch to the new pager names:
const pager = new CodeEngineV2.AllowedOutboundDestinationPager(codeEngineService, params);
const pager = new CodeEngineV2.AllowedOutboundDestinationsPager(codeEngineService, params);
const pager = new CodeEngineV2.PersistentDataStorePager(codeEngineService, params);
const pager = new CodeEngineV2.PersistentDataStoresPager(codeEngineService, params);
-
Allowed outbound destination patch payloads changed
Do not send type in patch payloads anymore. Use the specific fields instead:
const patch = {
type: 'cidr_block',
cidr_block: '10.0.1.0/24',
};
const patch = {
cidr_block: '10.0.1.0/24',
};
-
Allowed outbound destination prototypes now require name
The name field is now required when creating allowed outbound destinations. Ensure you set it for all create flows:
const prototype = {
type: 'cidr_block',
name: 'allow-all',
cidr_block: '10.0.0.0/24',
};
For Private Path service gateway (new type):
const prototype = {
type: 'private_path_service_gateway',
name: 'pps-to-service-x',
private_path_service_gateway_crn: '<private-path-service-gateway-crn>',
isolation_policy: 'shared',
};
Action checklist:
Installation
npm install @ibm-cloud/ibm-code-engine-sdk
Using the SDK
Examples and a demo are available in the examples folder.
For general SDK usage information, please see
this link
Questions
If you are having difficulties using this SDK or have a question about the IBM Cloud services,
please ask a question at
Stack Overflow.
Issues
If you encounter an issue with the SDK, you are welcome to submit
a bug report.
Before that, please search for similar issues. It's possible someone has
already encountered this issue.
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.