@ibm-cloud/secrets-manager 0.0.4 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth/index.d.ts +2 -2
- package/auth/index.js +9 -9
- package/auth/index.js.map +1 -1
- package/lib/common.d.ts +3 -0
- package/lib/common.js +6 -2
- package/lib/common.js.map +1 -1
- package/package.json +22 -16
- package/readme.md +81 -29
- package/secrets-manager/v1.d.ts +1138 -0
- package/{ibm-cloud-secrets-manager-api → secrets-manager}/v1.js +184 -121
- package/secrets-manager/v1.js.map +1 -0
- package/ibm-cloud-secrets-manager-api/v1.d.ts +0 -842
- package/ibm-cloud-secrets-manager-api/v1.js.map +0 -1
package/auth/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* (C) Copyright IBM Corp. 2019.
|
|
2
|
+
* (C) Copyright IBM Corp. 2019, 2020.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -13,4 +13,4 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export { NoAuthAuthenticator, BasicAuthenticator, BearerTokenAuthenticator, IamAuthenticator, CloudPakForDataAuthenticator, IamTokenManager, Cp4dTokenManager, getAuthenticatorFromEnvironment
|
|
16
|
+
export { NoAuthAuthenticator, BasicAuthenticator, BearerTokenAuthenticator, IamAuthenticator, CloudPakForDataAuthenticator, IamTokenManager, Cp4dTokenManager, getAuthenticatorFromEnvironment } from 'ibm-cloud-sdk-core';
|
package/auth/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* (C) Copyright IBM Corp. 2019.
|
|
3
|
+
* (C) Copyright IBM Corp. 2019, 2020.
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
* you may not use this file except in compliance with the License.
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
var ibm_cloud_sdk_core_1 = require("ibm-cloud-sdk-core");
|
|
19
|
-
exports
|
|
20
|
-
exports
|
|
21
|
-
exports
|
|
22
|
-
exports
|
|
23
|
-
exports
|
|
24
|
-
exports
|
|
25
|
-
exports
|
|
26
|
-
exports
|
|
19
|
+
Object.defineProperty(exports, "NoAuthAuthenticator", { enumerable: true, get: function () { return ibm_cloud_sdk_core_1.NoAuthAuthenticator; } });
|
|
20
|
+
Object.defineProperty(exports, "BasicAuthenticator", { enumerable: true, get: function () { return ibm_cloud_sdk_core_1.BasicAuthenticator; } });
|
|
21
|
+
Object.defineProperty(exports, "BearerTokenAuthenticator", { enumerable: true, get: function () { return ibm_cloud_sdk_core_1.BearerTokenAuthenticator; } });
|
|
22
|
+
Object.defineProperty(exports, "IamAuthenticator", { enumerable: true, get: function () { return ibm_cloud_sdk_core_1.IamAuthenticator; } });
|
|
23
|
+
Object.defineProperty(exports, "CloudPakForDataAuthenticator", { enumerable: true, get: function () { return ibm_cloud_sdk_core_1.CloudPakForDataAuthenticator; } });
|
|
24
|
+
Object.defineProperty(exports, "IamTokenManager", { enumerable: true, get: function () { return ibm_cloud_sdk_core_1.IamTokenManager; } });
|
|
25
|
+
Object.defineProperty(exports, "Cp4dTokenManager", { enumerable: true, get: function () { return ibm_cloud_sdk_core_1.Cp4dTokenManager; } });
|
|
26
|
+
Object.defineProperty(exports, "getAuthenticatorFromEnvironment", { enumerable: true, get: function () { return ibm_cloud_sdk_core_1.getAuthenticatorFromEnvironment; } });
|
|
27
27
|
//# sourceMappingURL=index.js.map
|
package/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../auth/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAEH,yDAS4B;AAR1B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../auth/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAEH,yDAS4B;AAR1B,yHAAA,mBAAmB,OAAA;AACnB,wHAAA,kBAAkB,OAAA;AAClB,8HAAA,wBAAwB,OAAA;AACxB,sHAAA,gBAAgB,OAAA;AAChB,kIAAA,4BAA4B,OAAA;AAC5B,qHAAA,eAAe,OAAA;AACf,sHAAA,gBAAgB,OAAA;AAChB,qIAAA,+BAA+B,OAAA"}
|
package/lib/common.d.ts
CHANGED
|
@@ -16,4 +16,7 @@
|
|
|
16
16
|
export declare type SdkHeaders = {
|
|
17
17
|
'User-Agent': string;
|
|
18
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* Get the request headers to be sent in requests by the SDK.
|
|
21
|
+
*/
|
|
19
22
|
export declare function getSdkHeaders(serviceName: string, serviceVersion: string, operationId: string): SdkHeaders | {};
|
package/lib/common.js
CHANGED
|
@@ -15,9 +15,13 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.getSdkHeaders = void 0;
|
|
18
19
|
var os = require("os");
|
|
19
20
|
// tslint:disable-next-line:no-var-requires
|
|
20
|
-
var pkg = require('
|
|
21
|
+
var pkg = require('../package.json');
|
|
22
|
+
/**
|
|
23
|
+
* Get the request headers to be sent in requests by the SDK.
|
|
24
|
+
*/
|
|
21
25
|
function getSdkHeaders(serviceName, serviceVersion, operationId) {
|
|
22
26
|
var sdkName = 'secrets-manager-nodejs-sdk';
|
|
23
27
|
var sdkVersion = pkg.version;
|
|
@@ -25,7 +29,7 @@ function getSdkHeaders(serviceName, serviceVersion, operationId) {
|
|
|
25
29
|
var osVersion = os.release();
|
|
26
30
|
var nodeVersion = process.version;
|
|
27
31
|
var headers = {
|
|
28
|
-
'User-Agent': sdkName + "/" + sdkVersion + " (lang=node.js; os.name=" + osName + " os.version=" + osVersion + " node.version=" + nodeVersion + ")"
|
|
32
|
+
'User-Agent': sdkName + "/" + sdkVersion + " (lang=node.js; os.name=" + osName + " os.version=" + osVersion + " node.version=" + nodeVersion + ")"
|
|
29
33
|
};
|
|
30
34
|
return headers;
|
|
31
35
|
}
|
package/lib/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../lib/common.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../lib/common.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,uBAA0B;AAE1B,2CAA2C;AAC3C,IAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAMvC;;GAEG;AACH,SAAgB,aAAa,CAAC,WAAmB,EAAE,cAAsB,EAAE,WAAmB;IAC5F,IAAM,OAAO,GAAG,4BAA4B,CAAC;IAC7C,IAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,IAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC7B,IAAM,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC/B,IAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAEpC,IAAM,OAAO,GAAG;QACd,YAAY,EAAK,OAAO,SAAI,UAAU,gCAA2B,MAAM,oBAAe,SAAS,sBAAiB,WAAW,MAAG;KAC/H,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAZD,sCAYC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibm-cloud/secrets-manager",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Client library for IBM Cloud Secrets Manager",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -18,51 +18,57 @@
|
|
|
18
18
|
"tslint:check": "tslint -p . -c ./tslint.json",
|
|
19
19
|
"lint": "npm run eslint:check && npm run tslint:check",
|
|
20
20
|
"lint-fix": "npm run eslint:fix && npm run tslint:fix",
|
|
21
|
+
"build": "tsc && cp package.json dist/ && cp README.md dist/",
|
|
22
|
+
"postversion": "tsc-publish --no-checks --dry-run",
|
|
23
|
+
"publishDist": "npm run build && cd dist && npm publish --access public",
|
|
21
24
|
"jest": "jest",
|
|
22
25
|
"test": "npm run build && npm run lint && jest test/",
|
|
23
26
|
"test-unit": "npm run build && jest test/unit/",
|
|
24
27
|
"test-integration": "npm run build && jest test/integration",
|
|
28
|
+
"test-examples": "npm run build && jest examples/",
|
|
29
|
+
"test-travis": "jest --runInBand --testNamePattern='^((?!@slow).)*$' test/",
|
|
30
|
+
"test-unit-travis": "jest --runInBand test/unit/",
|
|
31
|
+
"test-integration-travis": "jest --runInBand --no-colors --testNamePattern='^((?!@slow).)*$' --json test/integration > test-output.log",
|
|
25
32
|
"report-coverage": "codecov",
|
|
26
|
-
"check-packages": "installed-check -e -d -v"
|
|
27
|
-
"build": "tsc",
|
|
28
|
-
"prepublishOnly": "npm run build",
|
|
29
|
-
"postversion": "tsc-publish --no-checks --dry-run",
|
|
30
|
-
"publishDist": "cp {package.json,readme.md} dist/ && cd dist && npm publish --access public"
|
|
33
|
+
"check-packages": "installed-check -e -d -v"
|
|
31
34
|
},
|
|
32
35
|
"license": "Apache-2.0",
|
|
33
36
|
"engines": {
|
|
34
|
-
"node": ">=
|
|
37
|
+
"node": ">=10.0.0"
|
|
35
38
|
},
|
|
36
39
|
"dependencies": {
|
|
37
40
|
"@types/node": "^12.0.8",
|
|
38
41
|
"extend": "^3.0.2",
|
|
39
|
-
"ibm-cloud-sdk-core": "^2.0
|
|
40
|
-
"tsc-publish": "^0.5.2"
|
|
42
|
+
"ibm-cloud-sdk-core": "^2.8.0"
|
|
41
43
|
},
|
|
42
44
|
"devDependencies": {
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
+
"@semantic-release/changelog": "5.0.1",
|
|
46
|
+
"@semantic-release/git": "9.0.0",
|
|
47
|
+
"axios": "^0.21.1",
|
|
48
|
+
"codecov": "^3.7.0",
|
|
49
|
+
"dotenv": "^8.2.0",
|
|
45
50
|
"eslint": "^5.16.0",
|
|
46
51
|
"eslint-config-google": "^0.12.0",
|
|
47
52
|
"eslint-config-prettier": "^4.2.0",
|
|
48
53
|
"eslint-plugin-node": "^9.0.0",
|
|
49
54
|
"eslint-plugin-prettier": "^3.0.1",
|
|
50
55
|
"installed-check": "^2.2.0",
|
|
51
|
-
"jest": "^
|
|
56
|
+
"jest": "^25.4.0",
|
|
52
57
|
"prettier": "^1.17.1",
|
|
53
|
-
"
|
|
58
|
+
"tsc-publish": "^0.5.2",
|
|
54
59
|
"tslint": "^5.16.0",
|
|
55
60
|
"tslint-config-prettier": "^1.18.0",
|
|
56
61
|
"tslint-eslint-rules": "^5.4.0",
|
|
57
62
|
"typedoc": "^0.15.0",
|
|
58
|
-
"typescript": "^3.
|
|
63
|
+
"typescript": "^3.8.3"
|
|
59
64
|
},
|
|
60
65
|
"jest": {
|
|
61
66
|
"collectCoverage": true,
|
|
62
67
|
"coverageDirectory": "./coverage/",
|
|
63
68
|
"coveragePathIgnorePatterns": [
|
|
64
|
-
"<rootDir>/test/"
|
|
69
|
+
"<rootDir>/test/",
|
|
70
|
+
"<rootDir>/examples/"
|
|
65
71
|
],
|
|
66
72
|
"testEnvironment": "node"
|
|
67
73
|
}
|
|
68
|
-
}
|
|
74
|
+
}
|
package/readme.md
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
# IBM Cloud Secrets Manager Node.js SDK
|
|
4
4
|
|
|
5
|
-
A Node.js client library to
|
|
5
|
+
A Node.js client library to interact with
|
|
6
|
+
the [IBM Cloud® Secrets Manager APIs](https://cloud.ibm.com/apidocs/secrets-manager).
|
|
6
7
|
|
|
7
8
|
<details>
|
|
8
9
|
<summary>Table of Contents</summary>
|
|
@@ -12,18 +13,32 @@ A Node.js client library to use the IBM Cloud® Secrets Manager APIs.
|
|
|
12
13
|
* [Installation](#installation)
|
|
13
14
|
* [Authentication](#authentication)
|
|
14
15
|
* [Using the SDK](#using-the-sdk)
|
|
15
|
-
* [Documentation](#documentation)
|
|
16
16
|
* [Tests](#tests)
|
|
17
|
+
* [Questions](#questions)
|
|
18
|
+
* [Issues](#issues)
|
|
19
|
+
* [Contributing](#contributing)
|
|
20
|
+
* [License](#license)
|
|
21
|
+
|
|
17
22
|
</details>
|
|
18
23
|
|
|
19
24
|
## Overview
|
|
20
25
|
|
|
21
|
-
The IBM Cloud Secrets Manager Node.js SDK allows developers to programmatically interact with IBM Cloud
|
|
26
|
+
The IBM Cloud Secrets Manager Node.js SDK allows developers to programmatically interact with the following IBM Cloud
|
|
27
|
+
services:
|
|
28
|
+
|
|
29
|
+
Service name | Import path
|
|
30
|
+
--- | ---
|
|
31
|
+
[Secrets Manager](https://cloud.ibm.com/apidocs/secrets-manager) | @ibm-cloud/secrets-manager/secrets-manager/v1
|
|
22
32
|
|
|
23
33
|
## Prerequisites
|
|
24
|
-
- You need an [IBM Cloud account](https://cloud.ibm.com/registration).
|
|
25
34
|
|
|
26
|
-
-
|
|
35
|
+
- An [IBM Cloud account](https://cloud.ibm.com/registration).
|
|
36
|
+
- A [Secrets Manager service instance](https://cloud.ibm.com/catalog/services/secrets-manager).
|
|
37
|
+
- An [IBM Cloud API key](https://cloud.ibm.com/iam/apikeys) that allows the SDK to access your account.
|
|
38
|
+
- Node.js version 12 or above.
|
|
39
|
+
|
|
40
|
+
This SDK is tested with Node versions 12 and up. The SDK may work on previous versions, but this is not supported
|
|
41
|
+
officially.
|
|
27
42
|
|
|
28
43
|
## Installation
|
|
29
44
|
|
|
@@ -33,15 +48,20 @@ npm install @ibm-cloud/secrets-manager
|
|
|
33
48
|
|
|
34
49
|
## Authentication
|
|
35
50
|
|
|
36
|
-
|
|
51
|
+
Secrets Manager uses token-based Identity and Access Management (IAM) authentication.
|
|
37
52
|
|
|
38
|
-
IAM authentication
|
|
39
|
-
Access tokens are valid for a limited amount of time and must be
|
|
53
|
+
With IAM authentication, you supply an API key that is used to generate an access token. Then, the access token is
|
|
54
|
+
included in each API request to Secrets Manager. Access tokens are valid for a limited amount of time and must be
|
|
55
|
+
regenerated.
|
|
40
56
|
|
|
41
|
-
Authentication
|
|
57
|
+
Authentication for this SDK is accomplished by
|
|
58
|
+
using [IAM authenticators](https://github.com/IBM/ibm-cloud-sdk-common/blob/master/README.md#authentication). Import
|
|
59
|
+
authenticators from `@ibm-cloud/secrets-manager/auth`.
|
|
42
60
|
|
|
43
61
|
### Examples
|
|
62
|
+
|
|
44
63
|
#### Programmatic credentials
|
|
64
|
+
|
|
45
65
|
```js
|
|
46
66
|
import { IamAuthenticator } from '@ibm-cloud/secrets-manager/auth';
|
|
47
67
|
|
|
@@ -51,6 +71,7 @@ const authenticator = new IamAuthenticator({
|
|
|
51
71
|
```
|
|
52
72
|
|
|
53
73
|
#### External configuration
|
|
74
|
+
|
|
54
75
|
```js
|
|
55
76
|
import { getAuthenticatorFromEnvironment } from '@ibm-cloud/secrets-manager/auth';
|
|
56
77
|
|
|
@@ -60,20 +81,25 @@ import { getAuthenticatorFromEnvironment } from '@ibm-cloud/secrets-manager/auth
|
|
|
60
81
|
const iamAuthenticator = getAuthenticatorFromEnvironment('SECRETS_MANAGER_API');
|
|
61
82
|
```
|
|
62
83
|
|
|
63
|
-
To learn more about
|
|
84
|
+
To learn more about IAM authenticators and how to use them in your Node.js application, see
|
|
85
|
+
the [IBM Node.js SDK Core documentation](https://github.com/IBM/node-sdk-core/blob/master/Authentication.md).
|
|
64
86
|
|
|
65
87
|
## Using the SDK
|
|
66
|
-
### Basic usage
|
|
67
88
|
|
|
68
|
-
|
|
69
|
-
If using async/await, use try/catch for handling errors.
|
|
89
|
+
### Basic usage
|
|
70
90
|
|
|
71
|
-
-
|
|
91
|
+
- All methods return a Promise that either resolves with the response from the service or rejects with an Error. The
|
|
92
|
+
response contains the body, the headers, the status code, and the status text. If using async/await, use try/catch for
|
|
93
|
+
handling errors.
|
|
94
|
+
- Use the `serviceUrl` parameter to set the endpoint URL that is specific to your Secrets Manager service instance. To
|
|
95
|
+
find your endpoint URL, you can copy it from the **Endpoints** page in the Secrets Manager UI.
|
|
72
96
|
|
|
73
97
|
#### Examples
|
|
74
|
-
|
|
98
|
+
|
|
99
|
+
Construct a service client and use it to create and retrieve a secret from your Secrets Manager instance.
|
|
100
|
+
|
|
75
101
|
```js
|
|
76
|
-
const
|
|
102
|
+
const SecretsManager = require('@ibm-cloud/secrets-manager/secrets-manager/v1');
|
|
77
103
|
const { IamAuthenticator } = require('@ibm-cloud/secrets-manager/auth');
|
|
78
104
|
|
|
79
105
|
|
|
@@ -84,14 +110,14 @@ async function secretsManagerSdkExample() {
|
|
|
84
110
|
});
|
|
85
111
|
|
|
86
112
|
// Create an instance of the SDK by providing an authentication mechanism and your Secrets Manager instance URL
|
|
87
|
-
const
|
|
113
|
+
const secretsManager = new SecretsManager({
|
|
88
114
|
authenticator,
|
|
89
115
|
serviceUrl:
|
|
90
116
|
'https://example-instance.us-south.secrets-manager.appdomain.cloud',
|
|
91
117
|
});
|
|
92
118
|
|
|
93
119
|
// Use the Secrets Manager API to create a secret
|
|
94
|
-
let res = await
|
|
120
|
+
let res = await secretsManager.createSecret({
|
|
95
121
|
secretType: 'username_password',
|
|
96
122
|
'metadata': {
|
|
97
123
|
'collection_type': 'application/vnd.ibm.secrets-manager.secret+json',
|
|
@@ -100,7 +126,7 @@ async function secretsManagerSdkExample() {
|
|
|
100
126
|
'resources': [
|
|
101
127
|
{
|
|
102
128
|
'name': 'example-username-password-secret',
|
|
103
|
-
'description': '
|
|
129
|
+
'description': 'Extended description for this secret.',
|
|
104
130
|
'username': 'user123',
|
|
105
131
|
'password': '123456789',
|
|
106
132
|
'labels': ['label1', 'label2'],
|
|
@@ -115,12 +141,12 @@ async function secretsManagerSdkExample() {
|
|
|
115
141
|
const secretId = res.result.resources[0].id;
|
|
116
142
|
|
|
117
143
|
// Use the Secrets Manager API to get the secret using the secret ID
|
|
118
|
-
res = await
|
|
144
|
+
res = await secretsManager.getSecret({
|
|
119
145
|
secretType: 'username_password',
|
|
120
146
|
id: secretId,
|
|
121
147
|
});
|
|
122
148
|
|
|
123
|
-
console.log('Get
|
|
149
|
+
console.log('Get secret:\n', JSON.stringify(res.result.resources, null, 2));
|
|
124
150
|
}
|
|
125
151
|
|
|
126
152
|
secretsManagerSdkExample();
|
|
@@ -128,6 +154,7 @@ secretsManagerSdkExample();
|
|
|
128
154
|
```
|
|
129
155
|
|
|
130
156
|
To delete a secret, specify the `secretType` and its `id`.
|
|
157
|
+
|
|
131
158
|
```js
|
|
132
159
|
res = await secretsManagerApi.deleteSecret({
|
|
133
160
|
secretType: 'username_password',
|
|
@@ -139,6 +166,7 @@ To delete a secret, specify the `secretType` and its `id`.
|
|
|
139
166
|
```
|
|
140
167
|
|
|
141
168
|
Create a secret group, and then add a new secret to this group.
|
|
169
|
+
|
|
142
170
|
```js
|
|
143
171
|
// Create a secret group
|
|
144
172
|
const createGroupParams = {
|
|
@@ -163,7 +191,7 @@ Create a secret group, and then add a new secret to this group.
|
|
|
163
191
|
{
|
|
164
192
|
secret_group_id: secretGroupId,
|
|
165
193
|
name: "Test secret",
|
|
166
|
-
description: 'Secret used for testing',
|
|
194
|
+
description: 'Secret used for testing.',
|
|
167
195
|
username: 'test_user',
|
|
168
196
|
password: 'test_password',
|
|
169
197
|
labels: ['label1'],
|
|
@@ -174,6 +202,7 @@ Create a secret group, and then add a new secret to this group.
|
|
|
174
202
|
```
|
|
175
203
|
|
|
176
204
|
Create a rotation policy of one month for a secret.
|
|
205
|
+
|
|
177
206
|
```js
|
|
178
207
|
let res = await ibmCloudSecretsManagerApiService.putPolicy({
|
|
179
208
|
metadata: {
|
|
@@ -194,23 +223,46 @@ Create a rotation policy of one month for a secret.
|
|
|
194
223
|
});
|
|
195
224
|
```
|
|
196
225
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
For more information about Secrets Manager, check out the [Secrets Manager documentation](https://cloud.ibm.com/docs/secrets-manager) and [API reference](https://cloud.ibm.com/apidocs/secrets-manager).
|
|
226
|
+
For more information and IBM Cloud SDK usage examples for Node.js, see
|
|
227
|
+
the [IBM Cloud SDK Common documentation](https://github.com/IBM/ibm-cloud-sdk-common/blob/master/README.md)
|
|
200
228
|
|
|
201
229
|
## Tests
|
|
202
230
|
|
|
203
231
|
This project includes unit tests `test/unit` and integration tests `test/integration`.
|
|
204
232
|
|
|
205
|
-
The integration
|
|
233
|
+
The integration tests are run against an actual Secrets Manager instance and require the following environment variables
|
|
234
|
+
to be set:
|
|
235
|
+
|
|
206
236
|
```
|
|
207
237
|
SECRETS_MANAGER_API_AUTH_TYPE=iam;
|
|
208
|
-
SECRETS_MANAGER_API_APIKEY=<
|
|
209
|
-
SERVICE_URL=<
|
|
238
|
+
SECRETS_MANAGER_API_APIKEY=<API_KEY>
|
|
239
|
+
SERVICE_URL=<SECRETS_MANAGER_ENDPOINT_URL>
|
|
210
240
|
```
|
|
211
241
|
|
|
212
|
-
|
|
242
|
+
To run the tests:
|
|
243
|
+
|
|
213
244
|
```sh
|
|
214
245
|
npm test
|
|
215
246
|
```
|
|
216
247
|
|
|
248
|
+
## Questions
|
|
249
|
+
|
|
250
|
+
If you're having difficulties using this SDK, you can ask questions about this project by
|
|
251
|
+
using [Stack Overflow](https://stackoverflow.com/questions/tagged/ibm-cloud+secrets-manager). Be sure to include
|
|
252
|
+
the `ibm-cloud` and `secrets-manager` tags.
|
|
253
|
+
|
|
254
|
+
You can also check out the [Secrets Manager documentation](https://cloud.ibm.com/docs/secrets-manager)
|
|
255
|
+
and [API reference](https://cloud.ibm.com/apidocs/secrets-manager) for more information about the service.
|
|
256
|
+
|
|
257
|
+
## Issues
|
|
258
|
+
|
|
259
|
+
If you encounter an issue with the project, you're welcome to submit
|
|
260
|
+
a [bug report](https://github.com/IBM/secrets-manager-nodejs-sdk/issues) to help us improve.
|
|
261
|
+
|
|
262
|
+
## Contributing
|
|
263
|
+
|
|
264
|
+
For general contribution guidelines, see [CONTRIBUTING](CONTRIBUTING.md).
|
|
265
|
+
|
|
266
|
+
## License
|
|
267
|
+
|
|
268
|
+
This SDK project is released under the Apache 2.0 license. The license's full text can be found in [LICENSE](LICENSE).
|