masterodin-cloud-sdk-core v1.4.0
node-sdk-core
This project contains the core functionality used by Node SDK's generated by the IBM OpenAPI 3 SDK Generator (openapi-sdkgen
).
Code generated by openapi-sdkgen
will depend on the functionality contained in this project.
Installation
`npm install ibm-cloud-sdk-core`
Usage
This package exports a single object containing a number of modules as top level properties.
Example:
// this is TypeScript, since the `openapi-sdkgen` project generates TypeScript
import { BaseService } from 'ibm-cloud-sdk-core';
class YourSDK extends BaseService { ... }
Authentication
This library provides a set of Authenticators used to authenticate requests from an SDK. There are authenticators for the following authentication schemes:
- No Auth
- Basic
- Bearer Token
- IAM
- CP4D
There are two ways to create an authenticator:
1. Creating an instance and providing credentials programmatically
2. Using the getAuthenticatorFromEnvironment
function to create an authenticator from externally-provided configuration
For more information about the various authentication types and how to use them with your services, click here.
Examples
Programmatic
import { IamAuthenticator } from 'ibm-cloud-sdk-core';
const authenticator = new IamAuthenticator({
apikey: '{apikey}',
});
External configuration
import { getAuthenticatorFromEnvironment } from 'ibm-cloud-sdk-core';
// env vars
// MY_SERVICE_AUTH_TYPE=iam
// MY_SERVICE_APIKEY=<apikey>
const iamAuthenticator = getAuthenticatorFromEnvironment('my-service');
Logging
This package uses debug for logging.
- Logging is disabled by default.
- Logging has been configured to use log levels which are assumed to be numerically ascending from most important to least important.
- In order to see the log output, set the environment variable
DEBUG
including the desired log level.DEBUG=ibm-cloud-sdk-core:error
enables error logsDEBUG=ibm-cloud-sdk-core:warning
enables warning logs and belowDEBUG=ibm-cloud-sdk-core:info
enables info logs and belowDEBUG=ibm-cloud-sdk-core:verbose
enables verbose logs and belowDEBUG=ibm-cloud-sdk-core:debug
enables debug logs and below
To see the output from all of the debugging levels you can use:
DEBUG=ibm-cloud-sdk-core*
The debug logger can be configured to be used for more than one library. In example, you can set a comma-separated string:
DEBUG=ibm-cloud-sdk-core:debug,other-lib:debug
Issues
If you encounter an issue with this project, you are welcome to submit a bug report. Before opening a new issue, please search for similar issues. It's possible that someone has already reported it.
Tests
Run all test suites:
npm test
Contributing
See CONTRIBUTING.
License
This library is licensed under Apache 2.0. Full license text is available in LICENSE.