Merge branch 'v2-dev' into v2-plugin

This commit is contained in:
xiaojunnuo
2025-04-04 20:14:24 +08:00
327 changed files with 422584 additions and 122 deletions
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.31.11](https://github.com/certd/certd/compare/v1.31.10...v1.31.11) (2025-04-02)
### Bug Fixes
* 修复ssh支持键盘事件登录 ([8145808](https://github.com/certd/certd/commit/8145808c4370364377b4ffe3ae88ff465b49f20b))
### Performance Improvements
* 支持部署到京东云cdn ([6f17c70](https://github.com/certd/certd/commit/6f17c700b84965baa01b40fe2abaa0a91bcbaffd))
* 支持京东云dns申请证书 ([04d79f9](https://github.com/certd/certd/commit/04d79f9117670be504960b018fd49ae3bf7c1c11))
## [1.31.10](https://github.com/certd/certd/compare/v1.31.9...v1.31.10) (2025-03-29)
### Performance Improvements
+1 -1
View File
@@ -1 +1 @@
01:49
00:33
+8
View File
@@ -124,6 +124,14 @@ export default defineConfig({
]
}
],
"/deploy/":[
{
text: "部署任务",
items: [
{ text: "部署到ESXi", link: "/deploy/ESXi/index.md" },
]
}
],
"/comm/": [
{
text: "商业版",
Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

+17
View File
@@ -0,0 +1,17 @@
# 部署证书到ESXi
使用`部署证书到主机插件`即可
## 开启ssh
登陆ESXi Web后台,点击 主机 -> 操作 -> 服务 -> 启用 Secure ShellSSH)打开SSH
## 添加部署到主机任务
![img.png](./images/ssh.png)
## 配置重启脚本
```bash
/etc/init.d/hostd restart
/etc/init.d/vpxa restart
```
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.31.11](https://github.com/certd/certd/compare/v1.31.10...v1.31.11) (2025-04-02)
### Bug Fixes
* 修复ssh支持键盘事件登录 ([8145808](https://github.com/certd/certd/commit/8145808c4370364377b4ffe3ae88ff465b49f20b))
### Performance Improvements
* 支持部署到京东云cdn ([6f17c70](https://github.com/certd/certd/commit/6f17c700b84965baa01b40fe2abaa0a91bcbaffd))
* 支持京东云dns申请证书 ([04d79f9](https://github.com/certd/certd/commit/04d79f9117670be504960b018fd49ae3bf7c1c11))
## [1.31.10](https://github.com/certd/certd/compare/v1.31.9...v1.31.10) (2025-03-29)
### Performance Improvements
+1 -1
View File
@@ -9,5 +9,5 @@
}
},
"npmClient": "pnpm",
"version": "1.31.10"
"version": "1.31.11"
}
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.31.11](https://github.com/publishlab/node-acme-client/compare/v1.31.10...v1.31.11) (2025-04-02)
**Note:** Version bump only for package @certd/acme-client
## [1.31.10](https://github.com/publishlab/node-acme-client/compare/v1.31.9...v1.31.10) (2025-03-29)
**Note:** Version bump only for package @certd/acme-client
+3 -3
View File
@@ -3,7 +3,7 @@
"description": "Simple and unopinionated ACME client",
"private": false,
"author": "nmorsman",
"version": "1.31.10",
"version": "1.31.11",
"type": "module",
"module": "scr/index.js",
"main": "src/index.js",
@@ -18,7 +18,7 @@
"types"
],
"dependencies": {
"@certd/basic": "^1.31.10",
"@certd/basic": "^1.31.11",
"@peculiar/x509": "^1.11.0",
"asn1js": "^3.0.5",
"axios": "^1.7.2",
@@ -67,5 +67,5 @@
"bugs": {
"url": "https://github.com/publishlab/node-acme-client/issues"
},
"gitHead": "2e30fff221c19e46e098b0dc3250a6b7c5e6a5e0"
"gitHead": "8374c3941a9d1398989b8f38fd4bfa2a2f29937b"
}
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.31.11](https://github.com/certd/certd/compare/v1.31.10...v1.31.11) (2025-04-02)
**Note:** Version bump only for package @certd/basic
## [1.31.10](https://github.com/certd/certd/compare/v1.31.9...v1.31.10) (2025-03-29)
**Note:** Version bump only for package @certd/basic
+1 -1
View File
@@ -1 +1 @@
01:43
00:28
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@certd/basic",
"private": false,
"version": "1.31.10",
"version": "1.31.11",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
@@ -44,5 +44,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "2e30fff221c19e46e098b0dc3250a6b7c5e6a5e0"
"gitHead": "8374c3941a9d1398989b8f38fd4bfa2a2f29937b"
}
+6
View File
@@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.31.11](https://github.com/certd/certd/compare/v1.31.10...v1.31.11) (2025-04-02)
### Performance Improvements
* 支持部署到京东云cdn ([6f17c70](https://github.com/certd/certd/commit/6f17c700b84965baa01b40fe2abaa0a91bcbaffd))
## [1.31.10](https://github.com/certd/certd/compare/v1.31.9...v1.31.10) (2025-03-29)
### Performance Improvements
+4 -4
View File
@@ -1,7 +1,7 @@
{
"name": "@certd/pipeline",
"private": false,
"version": "1.31.10",
"version": "1.31.11",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
@@ -16,8 +16,8 @@
"test": "mocha --loader=ts-node/esm"
},
"dependencies": {
"@certd/basic": "^1.31.10",
"@certd/plus-core": "^1.31.10",
"@certd/basic": "^1.31.11",
"@certd/plus-core": "^1.31.11",
"dayjs": "^1.11.7",
"lodash-es": "^4.17.21",
"reflect-metadata": "^0.1.13"
@@ -43,5 +43,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "2e30fff221c19e46e098b0dc3250a6b7c5e6a5e0"
"gitHead": "8374c3941a9d1398989b8f38fd4bfa2a2f29937b"
}
+4 -3
View File
@@ -19,14 +19,15 @@ export class PluginGroup {
export const pluginGroups = {
cert: new PluginGroup("cert", "证书申请", 1, "ph:certificate"),
host: new PluginGroup("host", "主机", 2, "clarity:host-line"),
cdn: new PluginGroup("cdn", "CDN", 2, "svg:icon-cdn"),
panel: new PluginGroup("panel", "面板", 2, "fluent:panel-left-header-32-filled"),
aliyun: new PluginGroup("aliyun", "阿里云", 2, "svg:icon-aliyun"),
huawei: new PluginGroup("huawei", "华为云", 3, "svg:icon-huawei"),
tencent: new PluginGroup("tencent", "腾讯云", 4, "svg:icon-tencentcloud"),
volcengine: new PluginGroup("volcengine", "火山引擎", 4, "svg:icon-volcengine"),
jdcloud: new PluginGroup("jdcloud", "京东云", 4, "svg:icon-jdcloud"),
qiniu: new PluginGroup("qiniu", "七牛云", 5, "svg:icon-qiniuyun"),
aws: new PluginGroup("aws", "亚马逊云", 6, "svg:icon-aws"),
host: new PluginGroup("host", "主机", 7, "clarity:host-line"),
cdn: new PluginGroup("cdn", "CDN", 8, "svg:icon-cdn"),
panel: new PluginGroup("panel", "面板", 9, "fluent:panel-left-header-32-filled"),
other: new PluginGroup("other", "其他", 10, "clarity:plugin-line"),
};
@@ -6,6 +6,7 @@ export type Registrable = {
desc?: string;
group?: string;
deprecated?: string;
order?: number;
};
export type RegistryItem<T> = {
+6
View File
@@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.31.11](https://github.com/certd/certd/compare/v1.31.10...v1.31.11) (2025-04-02)
### Performance Improvements
* 支持京东云dns申请证书 ([04d79f9](https://github.com/certd/certd/commit/04d79f9117670be504960b018fd49ae3bf7c1c11))
## [1.31.10](https://github.com/certd/certd/compare/v1.31.9...v1.31.10) (2025-03-29)
### Performance Improvements
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@certd/lib-huawei",
"private": false,
"version": "1.31.10",
"version": "1.31.11",
"main": "./dist/bundle.js",
"module": "./dist/bundle.js",
"types": "./dist/d/index.d.ts",
@@ -23,5 +23,5 @@
"prettier": "^2.8.8",
"tslib": "^2.8.1"
},
"gitHead": "2e30fff221c19e46e098b0dc3250a6b7c5e6a5e0"
"gitHead": "8374c3941a9d1398989b8f38fd4bfa2a2f29937b"
}
+1 -1
View File
@@ -30,7 +30,7 @@ module.exports = {
allowSyntheticDefaultImports: true,
}),
json(),
terser(),
// terser(),
],
external: ["vue", "lodash-es", "dayjs", "log4js", "@midwayjs/core", "@certd/pipeline", "axios"],
};
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.31.11](https://github.com/certd/certd/compare/v1.31.10...v1.31.11) (2025-04-02)
**Note:** Version bump only for package @certd/lib-iframe
## [1.31.10](https://github.com/certd/certd/compare/v1.31.9...v1.31.10) (2025-03-29)
**Note:** Version bump only for package @certd/lib-iframe
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@certd/lib-iframe",
"private": false,
"version": "1.31.10",
"version": "1.31.11",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
@@ -30,5 +30,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "2e30fff221c19e46e098b0dc3250a6b7c5e6a5e0"
"gitHead": "8374c3941a9d1398989b8f38fd4bfa2a2f29937b"
}
+22
View File
@@ -0,0 +1,22 @@
{
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint"
],
"extends": [
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended",
"prettier"
],
"env": {
"mocha": true
},
"rules": {
"@typescript-eslint/no-var-requires": "off",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/ban-ts-ignore": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/no-unused-vars": "off"
}
}
+28
View File
@@ -0,0 +1,28 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
test/user.secret.ts
.rollup.cache
+3
View File
@@ -0,0 +1,3 @@
node_modules
src
.rollup.cache
+1
View File
@@ -0,0 +1 @@
language: node_js
+11
View File
@@ -0,0 +1,11 @@
# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.31.11](https://github.com/certd/certd/compare/v1.31.10...v1.31.11) (2025-04-02)
### Performance Improvements
* 支持部署到京东云cdn ([6f17c70](https://github.com/certd/certd/commit/6f17c700b84965baa01b40fe2abaa0a91bcbaffd))
* 支持京东云dns申请证书 ([04d79f9](https://github.com/certd/certd/commit/04d79f9117670be504960b018fd49ae3bf7c1c11))
+201
View File
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+177
View File
@@ -0,0 +1,177 @@
---
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
# 简介 #
欢迎使用京东云开发者Node.js工具套件(Node.js SDK)。使用京东云Node.js SDK,您无需复杂编程就可以访问京东云提供的各种服务。
为了方便您理解SDK中的一些概念和参数的含义,使用SDK前建议您先查看[京东云OpenAPI使用入门](http://www.jdcloud.com/help/detail/355/isCatalog/0)。要了解每个API的具体参数和含义,请参考程序注释或参考OpenAPI&SDK下具体产品线的API文档。
# 环境准备 #
1.京东云Node.js SDK适用于Node.js 8.6.0及以上,npm 5.6.0及以上。
2.在开始调用京东云open API之前,需提前在京东云用户中心账户管理下的[AccessKey管理页面](https://uc.jdcloud.com/accesskey/index)申请accesskey和secretKey密钥对(简称AK/SK)。AK/SK信息请妥善保管,如果遗失可能会造成非法用户使用此信息操作您在云上的资源,给你造成数据和财产损失。
# SDK使用方法 #
建议使用npm安装京东云Node.js SDK,如下所示:
npm install jdcloud-sdk-js
您还可以下载sdk源代码自行使用,[源代码地址](https://github.com/jdcloud-api/jdcloud-sdk-nodejs)。
SDK使用中的任何问题,欢迎您在[SDK使用问题反馈页面](https://github.com/jdcloud-api/jdcloud-sdk-nodejs/issues)交流。
注意:京东云并没有提供其他下载方式,请务必使用上述官方下载方式!
# 调用SDK #
## 两种引用方式 ##
var JDCloud = require('jdcloud-sdk-js');
这种引用方式会加载所有的可用的services
var NC = require('jdcloud-sdk-js/services/nativecontainer');
这种引用方式只会加载用到的service,此时仍然可以使用var JDCloud = require('jdcloud-sdk-js/global')来引用JDCloud对象
## 配置方法 ##
对JDCloud的配置为通用配置,所有services共享配置:
JDCloud.config.update({//*配置项/*/});
对某个service的配置会覆盖通用配置:
var NC = require('jdcloud-sdk-js/services/nativecontainer');
var nc = new NATIVECONTAINER({//*配置项/*/});
## 配置项 ##
let config = {
credentials: {
accessKeyId: global.accessKeyId, secretAccessKey: global.secretAccessKey
},
regionId: 'cn-north-1' //地域信息,某个api调用可以单独传参regionId,如果不传则会使用此配置中的regionId
}
## 调用示例 ##
以下是查询单个云主机实例详情的调用示例
### 引用和配置 ###
var VM = require('jdcloud-sdk-js/services/vm')
var vm = new VM({
credentials: {
accessKeyId: global.accessKeyId,
secretAccessKey: global.secretAccessKey
},
regionId: 'cn-north-1'
})
### Promise方式调用 ####
vm.createInstances({
instanceSpec: {
instanceType: 'g.s1.micro',
az: 'cn-north-1a',
imageId: '98d44a0f-88c1-451a-8971-f1f769073b6c',
name: 'node-sdk-test',
elasticIp: {
bandwidthMbps: 2, provider: 'BGP'
},
primaryNetworkInterface: {
networkInterface: {
subnetId: 'subnet-3dm13k30gh',
az: 'cn-north-1a'
}
},
systemDisk: {
diskCategory: 'local'
},
description: 'sdk'
},
maxCount: 1
},'cn-north-1').then(function(data){ // 返回数据处理 data
},
function(e){ // 调用API失败,错误处理
})
### callback方式调用 ###
vm.createInstances({
instanceSpec: {
instanceType: 'g.s1.micro',
az: 'cn-north-1a',
imageId: '98d44a0f-88c1-451a-8971-f1f769073b6c',
name: 'node-sdk-test',
elasticIp: {
bandwidthMbps: 2,
provider: 'BGP'
},
primaryNetworkInterface: {
networkInterface: {
subnetId: 'subnet-3dm13k30gh',
az: 'cn-north-1a'
}
},
systemDisk: {
diskCategory: 'local'
},
description: 'sdk'
},
maxCount: 1
},'cn-north-1',
function(err, data){
if(err){ // 调用API失败,错误处理
}
else { // 返回数据处理 data
}
})
如果需要设置访问点,配置超时,额外请求头等,请参考如下更复杂的例子:
```
var nc = new NATIVECONTAINER({
credentials: {
accessKeyId: global.accessKeyId,
secretAccessKey: global.secretAccessKey
},
endpoint: {
host: 'nativecontainer.internal.cn-north-1.jdcloud-api.com', //指定非默认Endpoint
protocol: 'http' //设置使用HTTP而不是HTTPSvpc专用域名不支持HTTPS
},
'x-extra-header': { //指定额外header
"x-jdcloud-security-token" : "xxx", //要调用开启了MFA操作保护的接口需要传递
"x-jdcloud-content-sha256" : "xxx", //body过大,希望用此value替代对body进行哈希的过程
"MyOwn" : "xxx"
},
version: {
nativecontainer: 'v1'
}
})
```
更多调用示例参考 [SDK使用Demo](https://github.com/jdcloud-api/jdcloud-sdk-nodejs/tree/master/test)
+64
View File
@@ -0,0 +1,64 @@
{
"name": "@certd/jdcloud",
"version": "1.31.11",
"description": "jdcloud openApi sdk",
"main": "./dist/bundle.js",
"module": "./dist/bundle.js",
"types": "./dist/d/index.d.ts",
"scripts": {
"test": "cross-env NODE_CONFIG_DIR=./test/config mocha --recursive --require babel-register",
"dev": "babel src --out-dir babel -w",
"build": "rollup -c ",
"dev-build": "npm run build"
},
"author": "",
"license": "Apache",
"dependencies": {
"babel-register": "^6.26.0",
"buffer": "^5.0.8",
"create-hash": "^1.1.3",
"create-hmac": "^1.1.6",
"debug": "^3.1.0",
"node-fetch": "^2.1.2",
"querystring": "^0.2.0",
"rollup": "^3.7.4",
"url": "^0.11.0",
"uuid": "^3.1.0"
},
"devDependencies": {
"@rollup/plugin-typescript": "^11.0.0",
"@typescript-eslint/eslint-plugin": "^8.26.1",
"@typescript-eslint/parser": "^8.26.1",
"babel-cli": "^6.26.0",
"babel-preset-env": "^1.6.1",
"chai": "^4.1.2",
"config": "^1.30.0",
"cross-env": "^5.1.4",
"js-yaml": "^3.11.0",
"mocha": "^5.0.0",
"prettier": "^2.8.8",
"tslib": "^2.8.1"
},
"engines": {
"node": ">= 8.6.0",
"npm": ">= 5.6.0"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 9"
],
"standard": {
"env": [
"node",
"mocha",
"browser"
],
"globals": [
"Request",
"Headers",
"fetch"
]
},
"gitHead": "8374c3941a9d1398989b8f38fd4bfa2a2f29937b"
}
@@ -0,0 +1,36 @@
const resolve = require("@rollup/plugin-node-resolve");
const commonjs = require("@rollup/plugin-commonjs");
//const Typescript = require("rollup-plugin-typescript2");
const Typescript = require("@rollup/plugin-typescript");
const json = require("@rollup/plugin-json");
const terser = require("@rollup/plugin-terser");
module.exports = {
input: "src/index.ts",
output: {
file: "dist/bundle.js",
format: "cjs",
},
plugins: [
// 解析第三方依赖
resolve(),
// 识别 commonjs 模式第三方依赖
commonjs({
// dynamicRequireRoot: "../../../../",
// dynamicRequireTargets: [
// // include using a glob pattern (either a string or an array of strings)
// "../../../../**/shelljs/src/*",
// ],
}),
Typescript({
target: "esnext",
rootDir: "src",
declaration: true,
declarationDir: "dist/d",
exclude: ["./node_modules/**", "./src/**/*.vue", "./src/**/*.spec.ts"],
allowSyntheticDefaultImports: true,
}),
json(),
// terser(),
],
external: ["vue", "lodash-es", "dayjs", "log4js", "@midwayjs/core", "@certd/pipeline", "axios"],
};
+2
View File
@@ -0,0 +1,2 @@
require('./lib/node_loader')
module.exports = require('./lib/core')
+11
View File
@@ -0,0 +1,11 @@
import jdCloud from "./lib/core.js";
import jdService from './lib/service.js'
import domainService from './repo/domainservice/v2/domainservice.js'
import cdnService from './repo/cdn/v1/cdn.js'
import sslService from './repo/ssl/v1/ssl.js'
export const JDCloud = jdCloud;
export const JDService = jdService;
export const JDDomainService = domainService;
export const JDCdnService = cdnService;
export const JDSslService = sslService;
+1
View File
@@ -0,0 +1 @@
module.exports = require('./lib/jc')
@@ -0,0 +1,5 @@
require('babel-polyfill')
require('./browser_loader')
var JC = require('./core')
require('../services/all')
module.exports = JC
@@ -0,0 +1,13 @@
var util = require('./util')
util.crypto.lib = {
createHash: require('create-hash'),
createHmac: require('create-hmac')
}
util.Buffer = require('buffer/').Buffer
util.url = require('url/')
util.querystring = require('querystring/')
util.environment = 'js'
var JC = require('./core')
module.exports = JC
@@ -0,0 +1,6 @@
require('./core')
require('./config')
require('./request')
require('./service')
require('./credentials')
@@ -0,0 +1,78 @@
var JDCloud = require('./core')
let defaultValues = {
credentials: null,
regionId: null,
apiVersions: null,
endpoint: {},
version: {},
logger: function (string, level = 'INFO') {
// level: INFO / DEBUG / ERROR / WARN
console.log(string)
}
}
JDCloud.Config = class Config {
constructor (options = {}) {
options = this.extractCredentials(options)
JDCloud.util.each.call(this, defaultValues, function (key, value) {
if (options[key] === undefined) {
this[key] = value
} else {
this[key] = options[key]
}
})
JDCloud.util.each.call(this, JDCloud.Service._services, function (
key,
value
) {
if (options[key] !== undefined) {
this[key] = options[key]
}
})
}
extractCredentials (options) {
if (options.accessKeyId && options.secretAccessKey) {
options = Object.assign({}, options)
options.credentials = new JDCloud.Credentials(options)
}
return options
}
getCredentials () {
var p = new Promise((resolve, reject) => {
if (this.credentials) {
if (typeof this.credentials.get === 'function') {
} else if (
this.credentials.accessKeyId &&
this.credentials.secretAccessKey
) {
resolve()
} else {
reject(new Error('missing credentials'))
}
} else if (this.credentialProvider) {
} else {
reject(new Error('get credentials failed'))
}
})
return p
}
update (options, allowUnknownKeys = false) {
options = this.extractCredentials(options)
JDCloud.util.each.call(this, options, function (key, value) {
if (
allowUnknownKeys ||
defaultValues.hasOwnProperty(key) ||
JDCloud.Service.hasService(key)
) {
this[key] = options[key]
}
})
}
}
JDCloud.config = new JDCloud.Config()
+13
View File
@@ -0,0 +1,13 @@
require('node-fetch')
var JDCloud = {
util: require('./util'),
// todo swaggerVar
VERSION: ''
}
module.exports = JDCloud
require('./service')
require('./config')
require('./request')
@@ -0,0 +1,21 @@
var JDCloud = require('./core')
JDCloud.Credentials = class Credentials {
constructor () {
this.expired = false
this.expireTime = null
if (arguments.length === 1 && typeof arguments[0] === 'object') {
var creds = arguments[0].credentials || arguments[0]
this.accessKeyId = creds.accessKeyId
this.secretAccessKey = creds.secretAccessKey
this.sessionToken = creds.sessionToken
} else {
this.accessKeyId = arguments[0]
this.secretAccessKey = arguments[1]
this.sessionToken = arguments[2]
}
}
}
module.exports = JDCloud.Credentials
+4
View File
@@ -0,0 +1,4 @@
require('./node_loader')
var JDCloud = require('./core')
require('../services/all')
module.exports = JDCloud
@@ -0,0 +1,12 @@
var util = require('./util')
util.crypto.lib = require('crypto')
util.Buffer = require('buffer').Buffer
util.url = require('url')
util.querystring = require('querystring')
util.environment = 'nodejs'
let JDCloud = require('./core')
JDCloud.fetch = require('node-fetch')
module.exports = JDCloud
require('./credentials')
@@ -0,0 +1,159 @@
var JDCloud = require('./core')
let util = JDCloud.util
JDCloud.JCRequest = class JCRequest {
constructor (
service,
path,
httpMethod,
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType
) {
this.service = service
var endpoint = service.config.endpoint
pathParams.regionId = pathParams.regionId || service.config.regionId
this.regionId = pathParams.regionId
this.path = this.buildPath(path, pathParams)
this.path = util.uriEscapePath(this.path)
var queryString = this.buildQuery(queryParams)
var url = this.path
if (queryString) {
url = this.path + '?' + queryString
}
var contentType = this.jsonPreferredMime(contentTypes) || 'application/json'
headerParams['content-type'] = contentType
var requestHeaders = this.buildHeaders(headerParams)
var requestInit = {
method: httpMethod || 'GET',
headers: requestHeaders
}
if (contentType === 'application/x-www-form-urlencoded') {
} else if (contentType === 'multipart/form-data') {
} else if (postBody) {
requestInit.body = JSON.stringify(postBody)
}
var fetchUrl = endpoint.protocol + '://' + endpoint.host + url
JDCloud.config.logger(
`make request where url is :${fetchUrl} \nwith fetch config:${JSON.stringify(
requestInit
)}`
)
this.request = new JDCloud.fetch.Request(fetchUrl, requestInit)
}
buildPath (path, pathParams) {
var uri = (this.service.config.basePath || '') + path
uri = uri.replace(/\{([\w-]+)\}/g, (fullMatch, key) => {
var value
if (pathParams.hasOwnProperty(key)) {
value = pathParams[key]
} else {
value = fullMatch
}
return value
})
return uri
}
buildQuery (queryParams) {
var queryParamsWithoutEmptyItem = {}
var keys = Object.keys(queryParams)
for (let key of keys) {
if (queryParams[key] !== undefined) {
queryParamsWithoutEmptyItem[key] = queryParams[key]
}
}
return JDCloud.util.querystring.stringify(queryParamsWithoutEmptyItem)
}
search () {
var query = this.request.url.split('?', 2)[1]
if (query) {
query = JDCloud.util.querystring.parse(query)
return JDCloud.util.queryParamsToString(query)
}
return ''
}
digitizationArray (key, obj) {
var result = key
if (Array.isArray(obj)) {
JDCloud.util.arrayEach(obj, (arrayValue, index) => {
result += this.digitizationArray(`.${index + 1}`, arrayValue)
})
} else if (typeof obj === 'object' && obj != null) {
JDCloud.util.each(obj, (key, ObjValue) => {
result += `.name=${key}&${result}.values` + this.digitizationArray()
result +=
key +
'.name=' +
ObjValue +
'&' +
this.digitizationArray(key + '.values', ObjValue)
})
} else {
result += key + '=' + encodeURI(obj)
}
return result
}
buildHeaders (headerParams) {
var headers = new JDCloud.fetch.Headers({
accept: 'application/json'
})
util.each.call(this, headerParams, function (key) {
if (headerParams[key] !== undefined && headerParams[key] != null) {
headers.append(key, headerParams[key])
}
})
return headers
}
/**
* Checks whether the given content type represents JSON.<br>
* JSON content type examples:<br>
* <ul>
* <li>application/json</li>
* <li>application/json; charset=UTF8</li>
* <li>APPLICATION/JSON</li>
* </ul>
* @param {String} contentType The MIME content type to check.
* @returns {Boolean} <code>true</code> if <code>contentType</code> represents JSON, otherwise <code>false</code>.
*/
isJsonMime (contentType) {
return Boolean(
contentType != null && contentType.match(/^application\/json(;.*)?$/i)
)
}
/**
* Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first.
* @param {Array.<String>} contentTypes
* @returns {String} The chosen content type, preferring JSON.
*/
jsonPreferredMime (contentTypes) {
for (var i = 0; i < contentTypes.length; i++) {
if (this.isJsonMime(contentTypes[i])) {
return contentTypes[i]
}
}
return contentTypes[0]
}
}
module.exports = JDCloud.JCRequest
@@ -0,0 +1,231 @@
var JDCloud = require('./core')
var SignerV2 = require('./signers/v2')
JDCloud.Service = class Service {
constructor (serviceId, config = {}) {
this.serviceId = serviceId
this.init(config)
}
init (config) {
// 某个服务类型的全局配置
var serviceConfig = JDCloud.config[this.serviceId]
// 全局配置
this.config = new JDCloud.Config(JDCloud.config)
if (serviceConfig) {
this.config.update(serviceConfig, true)
}
if (config) {
if (!this.config.endpoint.host && !config.endpoint) {
config.endpoint = config._defaultEndpoint
}
delete config._defaultEndpoint
this.config.update(config, true)
}
}
makeRequest (
path,
httpMethod,
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
) {
var request = new JDCloud.JCRequest(
this,
path,
httpMethod,
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType
)
var signer = new SignerV2(request, this.serviceId)
return this.config.getCredentials().then(() => {
signer.addAuthorization(this.config.credentials)
return JDCloud.fetch(signer.request.request).then(response => {
return response.json().then(
result => {
result.responseObj = response
if (response.ok) {
return result
}
return Promise.reject(result)
},
error => {
error.responseObj = response
if (error.type === 'invalid-json') {
// oss没有返回json
if (response.ok) {
return Promise.resolve({
requestId: response.headers.get('x-jdcloud-request-id') || ''
})
} else {
/* eslint-disable */
return Promise.reject({
requestId: response.headers.get('x-jdcloud-request-id') || ''
})
/* eslint-enable */
}
}
throw error
}
)
})
})
}
buildCollectionParam (param, collectionFormat) {
if (param === null || param === undefined) {
return param
}
switch (collectionFormat) {
case 'csv':
return param.map(this.paramToString).join(',')
case 'ssv':
return param.map(this.paramToString).join(' ')
case 'tsv':
return param.map(this.paramToString).join('\t')
case 'pipes':
return param.map(this.paramToString).join('|')
case 'multi':
// return the array directly as SuperAgent will handle it as expected
return param.map(this.paramToString)
default:
throw new Error('Unknown collection format: ' + collectionFormat)
}
}
/**
* filter is a special type of array
* only contains:
* [
* { name: someString , values:[ someString, someString ] ,operator: someString}
* ]
*
*/
buildFilterParam (param, key) {
var result = {}
if (Array.isArray(param)) {
let index = 0
for (var i = 0; i < param.length; i++) {
var obj = param[i]
// 兼容空字符串
if (obj.values !== '' && !Array.isArray(obj.values)) {
throw new Error('The type of filters.values should be Array!')
}
if (obj.name && obj.values) {
if (!obj.values.length) continue
result[`${key}.${index + 1}.name`] = obj.name
for (var j = 0; j < obj.values.length; j++) {
var someString = obj.values[j]
result[`${key}.${index + 1}.values.${j + 1}`] = someString
}
if (obj.operator) {
result[`${key}.${index + 1}.operator`] = obj.operator
}
index++
}
}
}
return result
}
buildTagFilterParam (param = [], key) {
var result = {}
if (!Array.isArray(param)) {
throw new Error(`The type of param 'param' should be Array!`)
}
for (var i = 0; i < param.length; i++) {
var obj = param[i]
if (obj.values && !Array.isArray(obj.values)) {
throw new Error(
`The type of param 'param[${i}].values' should be Array or NULL!`
)
}
if (obj.key) {
result[`${key}.${i + 1}.key`] = obj.key
if (obj.values) {
for (var j = 0; j < obj.values.length; j++) {
var someString = obj.values[j]
result[`${key}.${i + 1}.values.${j + 1}`] = someString
}
}
}
}
return result
}
buildSortParam (param = [], key) {
var result = {}
if (!Array.isArray(param)) {
throw new Error(`The type of param 'param' should be Array!`)
}
var index = 0
for (var i = 0; i < param.length; i++) {
var obj = param[i]
if (obj.name && obj.direction) {
index++
result[`${key}.${index}.name`] = obj.name
result[`${key}.${index}.direction`] = obj.direction
}
}
return result
}
// arr=[a,b,c] => arr={arr1:a, arr2:b, arr3:c}
buildArrayParam (param = [], key) {
var result = {}
if (!Array.isArray(param)) {
throw new Error(`The type of param 'param' should be Array!`)
}
for (var i = 0; i < param.length; i++) {
var value = param[i]
result[`${key}.${i + 1}`] = value
}
return result
}
/**
* Returns a string representation for an actual parameter.
* @param param The actual parameter.
* @returns {String} The string representation of <code>param</code>.
*/
paramToString (param) {
if (param === undefined || param === null) {
return ''
}
if (param instanceof Date) {
return param.toJSON()
}
return param.toString()
}
static hasService (id) {
return JDCloud.Service._services.hasOwnProperty(id)
}
}
JDCloud.Service._services = {}
module.exports = JDCloud.Service
@@ -0,0 +1,13 @@
module.exports = class RequestSigner {
constructor (request) {
this.request = request
}
setServiceClientId (id) {
this.serviceClientId = id
}
getServiceClientId () {
return this.serviceClientId
}
}
@@ -0,0 +1,190 @@
// Copyright 2018 JDCLOUD.COM
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License
// This signer is modified from AWS V4 signer algorithm.
var util = require('../util')
var RequestSigner = require('./request_signer')
var v2Credentials = require('./v2_credentials')
var uuid = require('uuid')
var JDCloud = require('../core')
module.exports = class SignerV2 extends RequestSigner {
constructor (request, serviceName, options = {}) {
super(request)
this.signatureCache = true
this.algorithm = 'JDCLOUD2-HMAC-SHA256'
this.unsignableHeaders = ['authorization', 'user-agent']
this.serviceName = serviceName
// this.signatureCache = typeof options.signatureCache === 'boolean' ? options.signatureCache : true;
}
// 签名流程见 https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html
addAuthorization (credentials, date) {
// var datetime = '20180119T070300Z';
var datetime = util.date.iso8601(date).replace(/[:-]|\.\d{3}/g, '')
this.addHeaders(credentials, datetime)
this.request.request.headers.set(
'Authorization',
this.authorization(credentials, datetime)
)
}
addHeaders (credentials, datetime) {
this.request.request.headers.set('x-jdcloud-date', datetime)
this.request.request.headers.set('x-jdcloud-nonce', uuid.v4())
this.request.request.headers.set(
'host',
this.request.service.config.endpoint.host
)
}
signedHeaders () {
var keys = []
this.request.request.headers.forEach((value, key) => {
key = key.toLowerCase()
if (this.isSignableHeader(key)) {
keys.push(key)
}
})
/* util.each.call(this, this.request.headers, function (key) {
}); */
return keys.sort().join(';')
}
credentialString (datetime) {
return v2Credentials.createScope(
datetime.substr(0, 8),
this.request.regionId,
this.serviceName
)
}
signature (credentials, datetime) {
var signingKey = v2Credentials.getSigningKey(
credentials,
datetime.substr(0, 8),
this.request.regionId,
this.serviceName,
this.signatureCache
)
return util.crypto.hmac(signingKey, this.stringToSign(datetime), 'hex')
}
stringToSign (datetime) {
var parts = []
parts.push(this.algorithm)
parts.push(datetime)
parts.push(this.credentialString(datetime))
parts.push(this.hexEncodedHash(this.canonicalString()))
JDCloud.config.logger('StringToSign is \n' + JSON.stringify(parts), 'DEBUG')
return parts.join('\n')
}
// 构建标准签名字符串
canonicalString () {
var parts = []
var pathname = this.request.path
// if (this.serviceName !== 'jfs') {
// pathname = util.uriEscapePath(pathname)
// }
parts.push(this.request.request.method)
parts.push(pathname)
parts.push(this.request.search())
parts.push(this.canonicalHeaders() + '\n')
parts.push(this.signedHeaders())
parts.push(this.hexEncodedBodyHash())
JDCloud.config.logger(
'canonicalString is \n' + JSON.stringify(parts),
'DEBUG'
)
return parts.join('\n')
}
canonicalHeaders () {
var headers = []
this.request.request.headers.forEach((value, key) => {
headers.push([key, value])
})
headers.sort(function (a, b) {
return a[0].toLowerCase() < b[0].toLowerCase() ? -1 : 1
})
var parts = []
util.arrayEach.call(this, headers, function (item) {
var key = item[0].toLowerCase()
if (this.isSignableHeader(key)) {
var value = item[1]
if (
typeof value === 'undefined' ||
value === null ||
typeof value.toString !== 'function'
) {
throw util.error(
new Error('Header ' + key + ' contains invalid value'),
{
code: 'InvalidHeader'
}
)
}
parts.push(key + ':' + this.canonicalHeaderValues(value.toString()))
}
})
return parts.join('\n')
}
canonicalHeaderValues (values) {
return values.replace(/\s+/g, ' ').replace(/^\s+|\s+$/g, '')
}
authorization (credentials, datetime) {
var parts = []
var credString = this.credentialString(datetime)
parts.push(
this.algorithm +
' Credential=' +
credentials.accessKeyId +
'/' +
credString
)
parts.push('SignedHeaders=' + this.signedHeaders())
parts.push('Signature=' + this.signature(credentials, datetime))
JDCloud.config.logger('Signature is \n' + JSON.stringify(parts), 'DEBUG')
return parts.join(', ')
}
hexEncodedHash (string) {
return util.crypto.sha256(string, 'hex')
}
hexEncodedBodyHash () {
return this.hexEncodedHash(this.request.request.body || '')
/* var request = this.request;
if (this.isPresigned() && this.serviceName === 's3' && !request.body) {
return 'UNSIGNED-PAYLOAD';
} else if (request.headers['X-Amz-Content-Sha256']) {
return request.headers['X-Amz-Content-Sha256'];
} else {
return this.hexEncodedHash(this.request.body || '');
} */
}
isSignableHeader (key) {
if (key.toLowerCase().includes('x-jdcloud-')) {
return true
}
return !this.unsignableHeaders.includes(key.toLowerCase())
}
}
@@ -0,0 +1,80 @@
var cachedSecret = {}
var cacheQueue = []
var maxCacheEntries = 50
var v2Identifier = 'jdcloud2_request'
var util = require('../util')
module.exports = {
/**
* @api private
*
* @param date [String]
* @param region [String]
* @param serviceName [String]
* @return [String]
*/
createScope: function createScope (date, region, serviceName) {
return [date.substr(0, 8), region, serviceName, v2Identifier].join('/')
},
/**
* @api private
*
* @param credentials [Credentials]
* @param date [String]
* @param region [String]
* @param service [String]
* @param shouldCache [Boolean]
* @return [String]
*/
getSigningKey: function getSigningKey (
credentials,
date,
region,
service,
shouldCache
) {
var credsIdentifier = util.crypto.hmac(
credentials.secretAccessKey,
credentials.accessKeyId,
'base64'
)
var cacheKey = [credsIdentifier, date, region, service].join('_')
shouldCache = shouldCache !== false
if (shouldCache && cacheKey in cachedSecret) {
return cachedSecret[cacheKey]
}
var kDate = util.crypto.hmac(
'JDCLOUD2' + credentials.secretAccessKey,
date,
'buffer'
)
var kRegion = util.crypto.hmac(kDate, region, 'buffer')
var kService = util.crypto.hmac(kRegion, service, 'buffer')
var signingKey = util.crypto.hmac(kService, v2Identifier, 'buffer')
if (shouldCache) {
cachedSecret[cacheKey] = signingKey
cacheQueue.push(cacheKey)
if (cacheQueue.length > maxCacheEntries) {
// remove the oldest entry (not the least recently used)
delete cachedSecret[cacheQueue.shift()]
}
}
return signingKey
},
/**
* @api private
*
* Empties the derived signing key cache. Made available for testing purposes
* only.
*/
emptyCache: function emptyCache () {
cachedSecret = {}
cacheQueue = []
}
}
+477
View File
@@ -0,0 +1,477 @@
var util = {
isBrowser: function isBrowser () {
return process && process.browser
},
isNode: function isNode () {
return !util.isBrowser()
},
uriEscape: function uriEscape (string) {
var output = encodeURIComponent(string)
output = output.replace(/[^A-Za-z0-9_.~\-%]+/g, escape)
// AWS percent-encodes some extra non-standard characters in a URI
output = output.replace(/[*]/g, function (ch) {
return (
'%' +
ch
.charCodeAt(0)
.toString(16)
.toUpperCase()
)
})
return output
},
uriEscapePath: function uriEscapePath (string) {
var parts = []
util.arrayEach(string.split('/'), function (part) {
parts.push(util.uriEscape(part))
})
return parts.join('/')
},
abort: {},
each: function each (object, iterFunction) {
for (var key in object) {
if (Object.prototype.hasOwnProperty.call(object, key)) {
var ret = iterFunction.call(this, key, object[key])
if (ret === util.abort) break
}
}
},
arrayEach: function arrayEach (array, iterFunction) {
for (var idx in array) {
if (Object.prototype.hasOwnProperty.call(array, idx)) {
var ret = iterFunction.call(this, array[idx], parseInt(idx, 10))
if (ret === util.abort) break
}
}
},
arraySliceFn: function arraySliceFn (obj) {
var fn = obj.slice || obj.webkitSlice || obj.mozSlice
return typeof fn === 'function' ? fn : null
},
queryParamsToString: function queryParamsToString (params) {
var items = []
var escape = util.uriEscape
var sortedKeys = Object.keys(params).sort()
util.arrayEach(sortedKeys, function (name) {
var value = params[name]
var ename = escape(name)
var result = ename + '='
if (Array.isArray(value)) {
var vals = []
util.arrayEach(value, function (item) {
vals.push(escape(item))
})
result = ename + '=' + vals.sort().join('&' + ename + '=')
} else if (value !== undefined && value !== null) {
result = ename + '=' + escape(value)
}
items.push(result)
})
return items.join('&')
},
date: {
getDate () {
return new Date()
},
iso8601: function iso8601 (date) {
if (date === undefined) {
date = util.date.getDate()
}
return date.toISOString().replace(/\.\d{3}Z$/, 'Z')
}
},
crypto: {
/* eslint-disable no-use-before-define */
crc32Table: [
0x00000000,
0x77073096,
0xee0e612c,
0x990951ba,
0x076dc419,
0x706af48f,
0xe963a535,
0x9e6495a3,
0x0edb8832,
0x79dcb8a4,
0xe0d5e91e,
0x97d2d988,
0x09b64c2b,
0x7eb17cbd,
0xe7b82d07,
0x90bf1d91,
0x1db71064,
0x6ab020f2,
0xf3b97148,
0x84be41de,
0x1adad47d,
0x6ddde4eb,
0xf4d4b551,
0x83d385c7,
0x136c9856,
0x646ba8c0,
0xfd62f97a,
0x8a65c9ec,
0x14015c4f,
0x63066cd9,
0xfa0f3d63,
0x8d080df5,
0x3b6e20c8,
0x4c69105e,
0xd56041e4,
0xa2677172,
0x3c03e4d1,
0x4b04d447,
0xd20d85fd,
0xa50ab56b,
0x35b5a8fa,
0x42b2986c,
0xdbbbc9d6,
0xacbcf940,
0x32d86ce3,
0x45df5c75,
0xdcd60dcf,
0xabd13d59,
0x26d930ac,
0x51de003a,
0xc8d75180,
0xbfd06116,
0x21b4f4b5,
0x56b3c423,
0xcfba9599,
0xb8bda50f,
0x2802b89e,
0x5f058808,
0xc60cd9b2,
0xb10be924,
0x2f6f7c87,
0x58684c11,
0xc1611dab,
0xb6662d3d,
0x76dc4190,
0x01db7106,
0x98d220bc,
0xefd5102a,
0x71b18589,
0x06b6b51f,
0x9fbfe4a5,
0xe8b8d433,
0x7807c9a2,
0x0f00f934,
0x9609a88e,
0xe10e9818,
0x7f6a0dbb,
0x086d3d2d,
0x91646c97,
0xe6635c01,
0x6b6b51f4,
0x1c6c6162,
0x856530d8,
0xf262004e,
0x6c0695ed,
0x1b01a57b,
0x8208f4c1,
0xf50fc457,
0x65b0d9c6,
0x12b7e950,
0x8bbeb8ea,
0xfcb9887c,
0x62dd1ddf,
0x15da2d49,
0x8cd37cf3,
0xfbd44c65,
0x4db26158,
0x3ab551ce,
0xa3bc0074,
0xd4bb30e2,
0x4adfa541,
0x3dd895d7,
0xa4d1c46d,
0xd3d6f4fb,
0x4369e96a,
0x346ed9fc,
0xad678846,
0xda60b8d0,
0x44042d73,
0x33031de5,
0xaa0a4c5f,
0xdd0d7cc9,
0x5005713c,
0x270241aa,
0xbe0b1010,
0xc90c2086,
0x5768b525,
0x206f85b3,
0xb966d409,
0xce61e49f,
0x5edef90e,
0x29d9c998,
0xb0d09822,
0xc7d7a8b4,
0x59b33d17,
0x2eb40d81,
0xb7bd5c3b,
0xc0ba6cad,
0xedb88320,
0x9abfb3b6,
0x03b6e20c,
0x74b1d29a,
0xead54739,
0x9dd277af,
0x04db2615,
0x73dc1683,
0xe3630b12,
0x94643b84,
0x0d6d6a3e,
0x7a6a5aa8,
0xe40ecf0b,
0x9309ff9d,
0x0a00ae27,
0x7d079eb1,
0xf00f9344,
0x8708a3d2,
0x1e01f268,
0x6906c2fe,
0xf762575d,
0x806567cb,
0x196c3671,
0x6e6b06e7,
0xfed41b76,
0x89d32be0,
0x10da7a5a,
0x67dd4acc,
0xf9b9df6f,
0x8ebeeff9,
0x17b7be43,
0x60b08ed5,
0xd6d6a3e8,
0xa1d1937e,
0x38d8c2c4,
0x4fdff252,
0xd1bb67f1,
0xa6bc5767,
0x3fb506dd,
0x48b2364b,
0xd80d2bda,
0xaf0a1b4c,
0x36034af6,
0x41047a60,
0xdf60efc3,
0xa867df55,
0x316e8eef,
0x4669be79,
0xcb61b38c,
0xbc66831a,
0x256fd2a0,
0x5268e236,
0xcc0c7795,
0xbb0b4703,
0x220216b9,
0x5505262f,
0xc5ba3bbe,
0xb2bd0b28,
0x2bb45a92,
0x5cb36a04,
0xc2d7ffa7,
0xb5d0cf31,
0x2cd99e8b,
0x5bdeae1d,
0x9b64c2b0,
0xec63f226,
0x756aa39c,
0x026d930a,
0x9c0906a9,
0xeb0e363f,
0x72076785,
0x05005713,
0x95bf4a82,
0xe2b87a14,
0x7bb12bae,
0x0cb61b38,
0x92d28e9b,
0xe5d5be0d,
0x7cdcefb7,
0x0bdbdf21,
0x86d3d2d4,
0xf1d4e242,
0x68ddb3f8,
0x1fda836e,
0x81be16cd,
0xf6b9265b,
0x6fb077e1,
0x18b74777,
0x88085ae6,
0xff0f6a70,
0x66063bca,
0x11010b5c,
0x8f659eff,
0xf862ae69,
0x616bffd3,
0x166ccf45,
0xa00ae278,
0xd70dd2ee,
0x4e048354,
0x3903b3c2,
0xa7672661,
0xd06016f7,
0x4969474d,
0x3e6e77db,
0xaed16a4a,
0xd9d65adc,
0x40df0b66,
0x37d83bf0,
0xa9bcae53,
0xdebb9ec5,
0x47b2cf7f,
0x30b5ffe9,
0xbdbdf21c,
0xcabac28a,
0x53b39330,
0x24b4a3a6,
0xbad03605,
0xcdd70693,
0x54de5729,
0x23d967bf,
0xb3667a2e,
0xc4614ab8,
0x5d681b02,
0x2a6f2b94,
0xb40bbe37,
0xc30c8ea1,
0x5a05df1b,
0x2d02ef8d
],
/* eslint-disable no-use-before-define */
crc32: function crc32 (data) {
var tbl = util.crypto.crc32Table
var crc = 0 ^ -1
if (typeof data === 'string') {
data = new util.Buffer(data)
}
for (var i = 0; i < data.length; i++) {
var code = data.readUInt8(i)
crc = (crc >>> 8) ^ tbl[(crc ^ code) & 0xff]
}
return (crc ^ -1) >>> 0
},
hmac: function hmac (key, string, digest, fn) {
if (!digest) digest = 'binary'
if (digest === 'buffer') {
digest = undefined
}
if (!fn) fn = 'sha256'
if (typeof string === 'string') string = new util.Buffer(string)
return util.crypto.lib
.createHmac(fn, key)
.update(string)
.digest(digest)
},
md5: function md5 (data, digest, callback) {
return util.crypto.hash('md5', data, digest, callback)
},
sha256: function sha256 (data, digest, callback) {
return util.crypto.hash('sha256', data, digest, callback)
},
hash: function (algorithm, data, digest, callback) {
var hash = util.crypto.createHash(algorithm)
if (!digest) {
digest = 'binary'
}
if (digest === 'buffer') {
digest = undefined
}
if (typeof data === 'string') data = new util.Buffer(data)
var sliceFn = util.arraySliceFn(data)
var isBuffer = util.Buffer.isBuffer(data)
// Identifying objects with an ArrayBuffer as buffers
if (
util.isBrowser() &&
typeof ArrayBuffer !== 'undefined' &&
data &&
data.buffer instanceof ArrayBuffer
) {
isBuffer = true
}
if (
callback &&
typeof data === 'object' &&
typeof data.on === 'function' &&
!isBuffer
) {
data.on('data', function (chunk) {
hash.update(chunk)
})
data.on('error', function (err) {
callback(err)
})
data.on('end', function () {
callback(null, hash.digest(digest))
})
} else if (
callback &&
sliceFn &&
!isBuffer &&
typeof FileReader !== 'undefined'
) {
// this might be a File/Blob
var index = 0
var size = 1024 * 512
var reader = new FileReader()
reader.onerror = function () {
callback(new Error('Failed to read data.'))
}
reader.onload = function () {
var buf = new util.Buffer(new Uint8Array(reader.result))
hash.update(buf)
index += buf.length
reader._continueReading()
}
reader._continueReading = function () {
if (index >= data.size) {
callback(null, hash.digest(digest))
return
}
var back = index + size
if (back > data.size) back = data.size
reader.readAsArrayBuffer(sliceFn.call(data, index, back))
}
reader._continueReading()
} else {
if (util.isBrowser() && typeof data === 'object' && !isBuffer) {
data = new util.Buffer(new Uint8Array(data))
}
var out = hash.update(data).digest(digest)
if (callback) callback(null, out)
return out
}
},
toHex: function toHex (data) {
var out = []
for (var i = 0; i < data.length; i++) {
out.push(('0' + data.charCodeAt(i).toString(16)).substr(-2, 2))
}
return out.join('')
},
createHash: function createHash (algorithm) {
return util.crypto.lib.createHash(algorithm)
}
}
}
module.exports = util
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,261 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* 应用管理平台API (仅对授权用户使用)
* 应用管理平台API
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'ams'
Service._services[serviceId] = true
/**
* ams service.
* @version 1.0.0
*/
JDCloud.AMS = class AMS extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'ams.jdcloud-api.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
* 获取收流基础数据查询
* @param {Object} opts - parameters
* @param {string} opts.streamId - 流ID
* @param {string} [opts.startTime] - 起始时间 optional
* @param {string} [opts.endTime] - 结束时间 optional
* @param {string} callback - callback
@return {Object} result
* @param streamInputData streamInputDatas
*/
describeStreamsInput (opts, callback) {
opts = opts || {}
if (opts.streamId === undefined || opts.streamId === null) {
throw new Error(
"Missing the required parameter 'opts.streamId' when calling describeStreamsInput"
)
}
let postBody = null
let queryParams = {}
if (opts.startTime !== undefined && opts.startTime !== null) {
queryParams['startTime'] = opts.startTime
}
if (opts.endTime !== undefined && opts.endTime !== null) {
queryParams['endTime'] = opts.endTime
}
let pathParams = {
regionId: 'jdcloud',
streamId: opts.streamId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 ams/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeStreamsInput with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/streams/{streamId}/inputs',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 客户端鉴权查询
* @param {Object} opts - parameters
* @param {string} opts.pId - PinId
* @param {integer} [opts.ver] - 版本 optional
* @param {string} callback - callback
@return {Object} result
* @param string pId PinId
* @param integer ver 版本
* @param number blacklist 集合
* @param integer status 状态
* @param string license 授权号
*/
describeAuthenticate (opts, callback) {
opts = opts || {}
if (opts.pId === undefined || opts.pId === null) {
throw new Error(
"Missing the required parameter 'opts.pId' when calling describeAuthenticate"
)
}
let postBody = null
let queryParams = {}
if (opts.ver !== undefined && opts.ver !== null) {
queryParams['ver'] = opts.ver
}
let pathParams = {
regionId: 'jdcloud',
pId: opts.pId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 ams/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeAuthenticate with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/appManager/{pId}/authenticates',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = JDCloud.AMS
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,274 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* JDCLOUD asset API
* API JDCLOUD asset API
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'asset'
Service._services[serviceId] = true
/**
* asset service.
* @version 0.0.3
*/
class ASSET extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'asset.jdcloud-api.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
* 查询账户金额(总金额、可用金额、冻结金额、可提现金额、提现中金额)
* @param {Object} opts - parameters
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string totalAmount 总金额:可用金额+冻结金额
* @param string availableAmount 可用金额
* @param string frozenAmount 冻结金额:提现失败、处理中或预占中金额
* @param string enableWithdrawAmount 可提现金额:排除对公充值金额总额后的充值总额,如果余额大于非对公充值总额,则为非对公充值总额,否则为余额(对公充值&#x3D;企业线下汇款+企业充值+活动充值金额)
* @param string withdrawingAmount 提现中金额:提现状态为处理中和预占中的金额
*/
describeAccountAmount (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeAccountAmount"
)
}
opts = opts || {}
let postBody = null
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 asset/0.0.3'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeAccountAmount with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/assets:describeAccountAmount',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 设置余额预警信息
* @param {Object} opts - parameters
* @param {balanceWarningInfoVo} opts.balanceWarningInfoVo
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param boolean status
*/
modifyBalanceWarningInfo (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling modifyBalanceWarningInfo"
)
}
opts = opts || {}
if (
opts.balanceWarningInfoVo === undefined ||
opts.balanceWarningInfoVo === null
) {
throw new Error(
"Missing the required parameter 'opts.balanceWarningInfoVo' when calling modifyBalanceWarningInfo"
)
}
let postBody = {}
if (
opts.balanceWarningInfoVo !== undefined &&
opts.balanceWarningInfoVo !== null
) {
postBody['balanceWarningInfoVo'] = opts.balanceWarningInfoVo
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 asset/0.0.3'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call modifyBalanceWarningInfo with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/assets:modifyBalanceWarningInfo',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = ASSET
@@ -0,0 +1,919 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* LogConfig
* 用户日志相关配置
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'assistant'
Service._services[serviceId] = true
/**
* assistant service.
* @version 1.0.2
*/
class ASSISTANT extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'assistant.jdcloud-api.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
*
保存用户自定义命令。
详细操作说明请参考帮助文档:[用户自定义命令概述](https://docs.jdcloud.com/cn/virtual-machines/assistant-overview)
## 接口说明
- 该接口用于保存用户自定义命令。
* @param {Object} opts - parameters
* @param {string} opts.commandName - 命令名称,长度为1\~128个字符,只允许中文、数字、大小写字母、英文下划线(\_)、连字符(-)及点(.)。
* @param {string} [opts.commandType] - 命令类型,可选值:shell和powershell,默认shell
optional
* @param {string} opts.commandContent - 以base64编码的命令内容,编码后长度小于36KB
* @param {integer} [opts.timeout] - 超时时间,取值范围:[10, 86400], 超过该时间后,尚未执行完的命令会置为失败。默认60s
optional
* @param {string} [opts.username] - 用户名,执行该命令时的用户身份。在linux上默认是rootwindows上默认是administrator。长度小于256
optional
* @param {string} [opts.workdir] - 命令执行路径。在linux上默认是/rootwindows上默认是C:\Windows\System32。长度小于256。
optional
* @param {string} [opts.commandDescription] - 命令描述,描述该命令详细信息,如功能、使用注意事项等。长度小于256。
optional
* @param {boolean} [opts.enableParameter] - 是否使用参数, 默认false,不使用参数 optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string commandId 命令Id。
*/
createCommand (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling createCommand"
)
}
opts = opts || {}
if (opts.commandName === undefined || opts.commandName === null) {
throw new Error(
"Missing the required parameter 'opts.commandName' when calling createCommand"
)
}
if (opts.commandContent === undefined || opts.commandContent === null) {
throw new Error(
"Missing the required parameter 'opts.commandContent' when calling createCommand"
)
}
let postBody = {}
if (opts.commandName !== undefined && opts.commandName !== null) {
postBody['commandName'] = opts.commandName
}
if (opts.commandType !== undefined && opts.commandType !== null) {
postBody['commandType'] = opts.commandType
}
if (opts.commandContent !== undefined && opts.commandContent !== null) {
postBody['commandContent'] = opts.commandContent
}
if (opts.timeout !== undefined && opts.timeout !== null) {
postBody['timeout'] = opts.timeout
}
if (opts.username !== undefined && opts.username !== null) {
postBody['username'] = opts.username
}
if (opts.workdir !== undefined && opts.workdir !== null) {
postBody['workdir'] = opts.workdir
}
if (
opts.commandDescription !== undefined &&
opts.commandDescription !== null
) {
postBody['commandDescription'] = opts.commandDescription
}
if (opts.enableParameter !== undefined && opts.enableParameter !== null) {
postBody['enableParameter'] = opts.enableParameter
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 assistant/1.0.2'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call createCommand with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/createCommand',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
*
查询用户自定义命令。
详细操作说明请参考帮助文档:[用户自定义命令概述](https://docs.jdcloud.com/cn/virtual-machines/assistant-overview)
## 接口说明
- 该接口用于查询用户保存的自定义命令。
* @param {Object} opts - parameters
* @param {integer} [opts.pageNumber] - 页数,默认是第一页,取值为 1
optional
* @param {integer} [opts.pageSize] - 每页命令数,默认为20,最大为100
optional
* @param {array} [opts.commandIds] - 命令Id,最多可传入100个命令Id
optional
* @param {array} [opts.commandNames] - 命令名称,长度为1\~128个字符,只允许中文、数字、大小写字母、英文下划线(\_)、连字符(-)及点(.)。最多可传入100个命令名称。
optional
* @param {array} [opts.commandTypes] - 命令类型,可选值:shell和powershell,默认shell
optional
* @param {string} [opts.sourceType] - 命令来源,可选值:jdcloud(官方)和self,默认self
optional
* @param {array} [opts.usernames] - 用户名,执行该命令时的用户身份。在linux上默认是rootwindows上默认是administrator。长度小于256
optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param integer totalCount 总的命令数,可以根据该字段来决定是否继续查找
* @param command commands
*/
describeCommands (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeCommands"
)
}
opts = opts || {}
let postBody = {}
if (opts.pageNumber !== undefined && opts.pageNumber !== null) {
postBody['pageNumber'] = opts.pageNumber
}
if (opts.pageSize !== undefined && opts.pageSize !== null) {
postBody['pageSize'] = opts.pageSize
}
if (opts.commandIds !== undefined && opts.commandIds !== null) {
postBody['commandIds'] = opts.commandIds
}
if (opts.commandNames !== undefined && opts.commandNames !== null) {
postBody['commandNames'] = opts.commandNames
}
if (opts.commandTypes !== undefined && opts.commandTypes !== null) {
postBody['commandTypes'] = opts.commandTypes
}
if (opts.sourceType !== undefined && opts.sourceType !== null) {
postBody['sourceType'] = opts.sourceType
}
if (opts.usernames !== undefined && opts.usernames !== null) {
postBody['usernames'] = opts.usernames
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 assistant/1.0.2'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeCommands with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/describeCommands',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
*
删除用户自定义命令。
详细操作说明请参考帮助文档:[用户自定义命令概述](https://docs.jdcloud.com/cn/virtual-machines/assistant-overview)
## 接口说明
- 该接口用于删除用户自定义命令。
* @param {Object} opts - parameters
* @param {array} [opts.commandIds] - 用户创建的命令Id
optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string commandId 命令Id。
*/
deleteCommands (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling deleteCommands"
)
}
opts = opts || {}
let postBody = {}
if (opts.commandIds !== undefined && opts.commandIds !== null) {
postBody['commandIds'] = opts.commandIds
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 assistant/1.0.2'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call deleteCommands with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/deleteCommands',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
*
执行用户保存的自定义命令。
详细操作说明请参考帮助文档:[用户自定义命令概述](https://docs.jdcloud.com/cn/virtual-machines/assistant-overview)
## 接口说明
- 该接口用于执行用户保存的自定义命令。
* @param {Object} opts - parameters
* @param {string} opts.commandId - 命令Id
* @param {array} [opts.instances] - 运行该命令的云主机,与tags查到云主机取并集,一次最多云主机数50
optional
* @param {array} [opts.tags] - 根据tags确定运行该命令的云主机,与指定instances云主机取并集,一次最多云主机数50
optional
* @param {string} [opts.execTime] - 配置运行该命令的时刻,格式&#x60;yyyy-MM-dd HH:mm:ss&#x60;。不传该参数,立即执行命令。默认为空,可配置的时间范围为&#x60;当前时间+10minute&#x60;~&#x60;当前时间+6month&#x60;。
optional
* @param {integer} [opts.timeout] - 超时时间,取值范围:[10, 86400], 超过该时间后,尚未执行完的命令会置为失败。默认60s
optional
* @param {string} [opts.username] - 用户名,执行该命令时的用户身份。在linux上默认是rootwindows上默认是administrator。长度小于256
optional
* @param {string} [opts.workdir] - 命令执行路径,在linux上默认为用户的home目录:/root, 在windows上默认为:C:\Windows\system32
optional
* @param {string} [opts.windowsPassword] - 和用户名相匹配的密码,仅适用于windows系统
optional
* @param {boolean} [opts.enableParameter] - 脚本中是否启用参数,true:启用,false:不启用。
optional
* @param {array} [opts.parameters] - 用户自定义参数和对应的参数值,数量不超过20。
optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string invokeId 命令调用Id。
*/
invokeCommand (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling invokeCommand"
)
}
opts = opts || {}
if (opts.commandId === undefined || opts.commandId === null) {
throw new Error(
"Missing the required parameter 'opts.commandId' when calling invokeCommand"
)
}
let postBody = {}
if (opts.commandId !== undefined && opts.commandId !== null) {
postBody['commandId'] = opts.commandId
}
if (opts.instances !== undefined && opts.instances !== null) {
postBody['instances'] = opts.instances
}
if (opts.tags !== undefined && opts.tags !== null) {
postBody['tags'] = opts.tags
}
if (opts.execTime !== undefined && opts.execTime !== null) {
postBody['execTime'] = opts.execTime
}
if (opts.timeout !== undefined && opts.timeout !== null) {
postBody['timeout'] = opts.timeout
}
if (opts.username !== undefined && opts.username !== null) {
postBody['username'] = opts.username
}
if (opts.workdir !== undefined && opts.workdir !== null) {
postBody['workdir'] = opts.workdir
}
if (opts.windowsPassword !== undefined && opts.windowsPassword !== null) {
postBody['windowsPassword'] = opts.windowsPassword
}
if (opts.enableParameter !== undefined && opts.enableParameter !== null) {
postBody['enableParameter'] = opts.enableParameter
}
if (opts.parameters !== undefined && opts.parameters !== null) {
postBody['parameters'] = opts.parameters
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 assistant/1.0.2'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call invokeCommand with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/invokeCommand',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
*
查询命令调用。
详细操作说明请参考帮助文档:[用户自定义命令概述](https://docs.jdcloud.com/cn/virtual-machines/assistant-overview)
## 接口说明
- 该接口用于查询命令调用。
* @param {Object} opts - parameters
* @param {integer} [opts.pageNumber] - 页数,默认是第一页,取值1
optional
* @param {integer} [opts.pageSize] - 每页大小,默认20, 最大100
optional
* @param {array} [opts.invokeIds] - 命令执行Id
optional
* @param {array} [opts.commandIds] - 命令Id
optional
* @param {array} [opts.status] - 命令执行状态
optional
* @param {array} [opts.commandNames] - 命令名字
optional
* @param {array} [opts.commandTypes] - 命令类型, shell or powershell
optional
* @param {array} [opts.userNames] - 命令执行用户
optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param integer totalCount 命令调用的总数
* @param invocation invocations
*/
describeInvocations (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeInvocations"
)
}
opts = opts || {}
let postBody = {}
if (opts.pageNumber !== undefined && opts.pageNumber !== null) {
postBody['pageNumber'] = opts.pageNumber
}
if (opts.pageSize !== undefined && opts.pageSize !== null) {
postBody['pageSize'] = opts.pageSize
}
if (opts.invokeIds !== undefined && opts.invokeIds !== null) {
postBody['invokeIds'] = opts.invokeIds
}
if (opts.commandIds !== undefined && opts.commandIds !== null) {
postBody['commandIds'] = opts.commandIds
}
if (opts.status !== undefined && opts.status !== null) {
postBody['status'] = opts.status
}
if (opts.commandNames !== undefined && opts.commandNames !== null) {
postBody['commandNames'] = opts.commandNames
}
if (opts.commandTypes !== undefined && opts.commandTypes !== null) {
postBody['commandTypes'] = opts.commandTypes
}
if (opts.userNames !== undefined && opts.userNames !== null) {
postBody['userNames'] = opts.userNames
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 assistant/1.0.2'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeInvocations with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/describeInvocations',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
*
配置用户日志信息。
详细操作说明请参考帮助文档:[用户自定义命令概述](https://docs.jdcloud.com/cn/virtual-machines/assistant-overview)
## 接口说明
- 该接口用于配置用户日志信息。
* @param {Object} opts - parameters
* @param {string} [opts.logset] - 用户日志集名字
optional
* @param {string} opts.logtopic - 用户日志主题名字
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
*/
addLogConfig (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling addLogConfig"
)
}
opts = opts || {}
if (opts.logtopic === undefined || opts.logtopic === null) {
throw new Error(
"Missing the required parameter 'opts.logtopic' when calling addLogConfig"
)
}
let postBody = {}
if (opts.logset !== undefined && opts.logset !== null) {
postBody['logset'] = opts.logset
}
if (opts.logtopic !== undefined && opts.logtopic !== null) {
postBody['logtopic'] = opts.logtopic
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 assistant/1.0.2'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call addLogConfig with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/addLogConfig',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = ASSISTANT
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,285 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* instances
* 续费查询实例信息接口
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'bgw'
Service._services[serviceId] = true
/**
* bgw service.
* @version 1.3.1
*/
class BGW extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'bgw.jdcloud-api.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
* 修改VPN隧道管理状态
* @param {Object} opts - parameters
* @param {string} opts.vpnTunnelId - VPN Tunnel ID
* @param {string} opts.adminStatus - 隧道管理状态, UP, DOWN
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
*/
modifyAdminStatus (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling modifyAdminStatus"
)
}
opts = opts || {}
if (opts.vpnTunnelId === undefined || opts.vpnTunnelId === null) {
throw new Error(
"Missing the required parameter 'opts.vpnTunnelId' when calling modifyAdminStatus"
)
}
if (opts.adminStatus === undefined || opts.adminStatus === null) {
throw new Error(
"Missing the required parameter 'opts.adminStatus' when calling modifyAdminStatus"
)
}
let postBody = {}
if (opts.adminStatus !== undefined && opts.adminStatus !== null) {
postBody['adminStatus'] = opts.adminStatus
}
let queryParams = {}
let pathParams = {
regionId: regionId,
vpnTunnelId: opts.vpnTunnelId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 bgw/1.3.1'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call modifyAdminStatus with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/vpnTunnels/{vpnTunnelId}:adminStatus',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询连接列表
* @param {Object} opts - parameters
* @param {integer} [opts.pageNumber] - 页码, 默认为1, 取值范围[1,), 页码超过总页数时, 显示最后一页 optional
* @param {integer} [opts.pageSize] - 分页大小默认为20取值范围[10,100] optional
* @param {filter} [opts.filters] - connectionIds - 连接ID列表支持多个
connectionNames - 连接名称列表,支持多个
types - 类型取值jcloud_hosted:托管连接jcloud_partner:合作伙伴连接jcloud:自助连接, 支持多个
status - Connection状态,支持单个取值为待审核(Ordering)待支付(Installation_Paying)施工中(Pending)等待确认(Confirming)可用(Active)不可用(InActive)删除中(Deleting)已删除(Deleted)审核未通过(Rejected)
optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param connection connections
* @param integer totalCount 总数量
*/
describeConnections (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeConnections"
)
}
opts = opts || {}
let postBody = null
let queryParams = {}
if (opts.pageNumber !== undefined && opts.pageNumber !== null) {
queryParams['pageNumber'] = opts.pageNumber
}
if (opts.pageSize !== undefined && opts.pageSize !== null) {
queryParams['pageSize'] = opts.pageSize
}
Object.assign(queryParams, super.buildFilterParam(opts.filters, 'filters'))
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 bgw/1.3.1'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeConnections with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/connections/',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = BGW
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,490 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* 页面测试检测接口
* 京东云信用评分-OpenAPI页面测试检测接口
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'bri'
Service._services[serviceId] = true
/**
* bri service.
* @version 1.1.0
*/
class BRI extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'bri.jdcloud-api.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
* 获取黑白名单列表
* @param {Object} opts - parameters
* @param {string} [opts.resourceType] - 数据类型不传或者为空返回所有类型数据ip-IPphone-手机addr-地址card-身份pin-账户eid-设备 optional
* @param {string} [opts.bwType] - 数据类型不传或者为空返回所有类型数据列表类型black-黑名单white-白名单 optional
* @param {integer} [opts.size] - 页面大小缺省为10 optional
* @param {integer} [opts.index] - 起始页缺省为1 optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param integer totalCount 总量
* @param integer index 分页-页码
* @param integer size 分页-每页大小
* @param bwcfg list
*/
describeBWList (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeBWList"
)
}
opts = opts || {}
let postBody = null
let queryParams = {}
if (opts.resourceType !== undefined && opts.resourceType !== null) {
queryParams['resourceType'] = opts.resourceType
}
if (opts.bwType !== undefined && opts.bwType !== null) {
queryParams['bwType'] = opts.bwType
}
if (opts.size !== undefined && opts.size !== null) {
queryParams['size'] = opts.size
}
if (opts.index !== undefined && opts.index !== null) {
queryParams['index'] = opts.index
}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 bri/1.1.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeBWList with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/blackwhite:list',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 设置黑白名单
* @param {Object} opts - parameters
* @param {bwcfgSet} opts.req - 黑白名单数据
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
*/
setBWList (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling setBWList"
)
}
opts = opts || {}
if (opts.req === undefined || opts.req === null) {
throw new Error(
"Missing the required parameter 'opts.req' when calling setBWList"
)
}
let postBody = {}
if (opts.req !== undefined && opts.req !== null) {
postBody['req'] = opts.req
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 bri/1.1.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call setBWList with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/blackwhite:list',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 删除黑白名单
* @param {Object} opts - parameters
* @param {string} opts.id - 黑白名单ID, 多个用逗号分隔
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
*/
delBWList (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling delBWList"
)
}
opts = opts || {}
if (opts.id === undefined || opts.id === null) {
throw new Error(
"Missing the required parameter 'opts.id' when calling delBWList"
)
}
let postBody = null
let queryParams = {}
if (opts.id !== undefined && opts.id !== null) {
queryParams['id'] = opts.id
}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 bri/1.1.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call delBWList with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/blackwhite:list',
'DELETE',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 获取数据信用评分
* @param {Object} opts - parameters
* @param {} [opts.tasks] - 检测任务列表包含一个或多个元素每个元素是个结构体最多可添加100元素即最多对100个数据进行评分每个元素的具体结构描述见creditTask optional
* @param {string} callback - callback
@return {Object} result
* @param creditResult data
*/
creditScore (opts, callback) {
opts = opts || {}
let postBody = {}
if (opts.tasks !== undefined && opts.tasks !== null) {
postBody['tasks'] = opts.tasks
}
let queryParams = {}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 bri/1.1.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call creditScore with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/creditScore:check',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = BRI
@@ -0,0 +1,303 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* 运营后台类接口
* 京东云验证码-OpenAPI应用管理类接口
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'captcha'
Service._services[serviceId] = true
/**
* captcha service.
* @version 1.0.1
*/
class CAPTCHA extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'captcha.jdcloud-api.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
* 获取会话id
* @param {Object} opts - parameters
* @param {} [opts.appId] - 应用id optional
* @param {} [opts.sceneId] - 场景id optional
* @param {} [opts.secret] - 密钥从界面获取 optional
* @param {} [opts.uuid] - uuidios客户端传openudid, android客户端传androidid, m, pc, wxapp客户端此值为空即可 optional
* @param {} [opts.ip] - 客户端ip optional
* @param {} [opts.userAgent] - 客户端userAgent optional
* @param {} [opts.fingerPrint] - 指纹ios和android客户端(clientType)从sdk获取, m, pc, wxapp客户端此值为空即可 optional
* @param {} [opts.clientType] - 客户端类型, android, ios, pc, wxmapp, m optional
* @param {} [opts.clientVersion] - 客户端版本用户端app版本可选 optional
* @param {string} callback - callback
@return {Object} result
* @param sessionDataResp data
*/
getSessionId (opts, callback) {
opts = opts || {}
let postBody = {}
if (opts.appId !== undefined && opts.appId !== null) {
postBody['appId'] = opts.appId
}
if (opts.sceneId !== undefined && opts.sceneId !== null) {
postBody['sceneId'] = opts.sceneId
}
if (opts.secret !== undefined && opts.secret !== null) {
postBody['secret'] = opts.secret
}
if (opts.uuid !== undefined && opts.uuid !== null) {
postBody['uuid'] = opts.uuid
}
if (opts.ip !== undefined && opts.ip !== null) {
postBody['ip'] = opts.ip
}
if (opts.userAgent !== undefined && opts.userAgent !== null) {
postBody['userAgent'] = opts.userAgent
}
if (opts.fingerPrint !== undefined && opts.fingerPrint !== null) {
postBody['fingerPrint'] = opts.fingerPrint
}
if (opts.clientType !== undefined && opts.clientType !== null) {
postBody['clientType'] = opts.clientType
}
if (opts.clientVersion !== undefined && opts.clientVersion !== null) {
postBody['clientVersion'] = opts.clientVersion
}
let queryParams = {}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 captcha/1.0.1'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call getSessionId with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/captcha:getsessionid',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 验证verifyToken
* @param {Object} opts - parameters
* @param {} [opts.verifyToken] - 提交后台校验的token客户端sdk获取 optional
* @param {} [opts.sessionId] - 验证码会话idgetsessionid返回 optional
* @param {} [opts.appId] - 应用id optional
* @param {} [opts.sceneId] - 场景id optional
* @param {} [opts.secret] - 密钥从界面获取 optional
* @param {} [opts.ip] - 客户端ip optional
* @param {} [opts.userAgent] - 客户端userAgent optional
* @param {} [opts.clientType] - 客户端类型, 可选值: android, ios, pc, wxapp, m optional
* @param {} [opts.clientVersion] - 客户端版本用户端app版本可选 optional
* @param {string} callback - callback
@return {Object} result
* @param verifyDataResp data
*/
verifyToken (opts, callback) {
opts = opts || {}
let postBody = {}
if (opts.verifyToken !== undefined && opts.verifyToken !== null) {
postBody['verifyToken'] = opts.verifyToken
}
if (opts.sessionId !== undefined && opts.sessionId !== null) {
postBody['sessionId'] = opts.sessionId
}
if (opts.appId !== undefined && opts.appId !== null) {
postBody['appId'] = opts.appId
}
if (opts.sceneId !== undefined && opts.sceneId !== null) {
postBody['sceneId'] = opts.sceneId
}
if (opts.secret !== undefined && opts.secret !== null) {
postBody['secret'] = opts.secret
}
if (opts.ip !== undefined && opts.ip !== null) {
postBody['ip'] = opts.ip
}
if (opts.userAgent !== undefined && opts.userAgent !== null) {
postBody['userAgent'] = opts.userAgent
}
if (opts.clientType !== undefined && opts.clientType !== null) {
postBody['clientType'] = opts.clientType
}
if (opts.clientVersion !== undefined && opts.clientVersion !== null) {
postBody['clientVersion'] = opts.clientVersion
}
let queryParams = {}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 captcha/1.0.1'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call verifyToken with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/captcha:verifytoken',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = CAPTCHA
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,202 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* 大屏数据查询接口
* 陕西苹果大屏数据查询接口
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'datastar'
Service._services[serviceId] = true
/**
* datastar service.
* @version 1.0.6
*/
JDCloud.DATASTAR = class DATASTAR extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'datastar.cn-south-1.jdcloud-api.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
* 根据区域行业一级指标二级指标起始时间等条件查询数据
* @param {Object} opts - parameters
* @param {string} opts.region - 查询区域比如某某省或某某市可选区域以最终授权为准
* @param {string} opts.industry - 查询行业比如某个水果或者农作物可选行业以最终授权为准
* @param {string} opts.startDate - 查询起始时间格式如下yyyy-MM-dd
* @param {string} opts.endDate - 查询结束时间格式如下yyyy-MM-dd
* @param {string} opts.firstIndex - 数据对应的第一级分析指标可选一级指标以最终授权为准
* @param {string} [opts.secondIndex] - 数据对应的第二级分析指标如不填写则默认把一级指标下的所有二级指标都查询出来可选二级指标以最终授权为准 optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param boolean status true为成功false为失败
* @param string message 描述信息
* @param regionIndustryDataList data 查询数据结果
*/
getLargeScreenData (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling getLargeScreenData"
)
}
opts = opts || {}
if (opts.region === undefined || opts.region === null) {
throw new Error(
"Missing the required parameter 'opts.region' when calling getLargeScreenData"
)
}
if (opts.industry === undefined || opts.industry === null) {
throw new Error(
"Missing the required parameter 'opts.industry' when calling getLargeScreenData"
)
}
if (opts.startDate === undefined || opts.startDate === null) {
throw new Error(
"Missing the required parameter 'opts.startDate' when calling getLargeScreenData"
)
}
if (opts.endDate === undefined || opts.endDate === null) {
throw new Error(
"Missing the required parameter 'opts.endDate' when calling getLargeScreenData"
)
}
if (opts.firstIndex === undefined || opts.firstIndex === null) {
throw new Error(
"Missing the required parameter 'opts.firstIndex' when calling getLargeScreenData"
)
}
let postBody = null
let queryParams = {}
if (opts.region !== undefined && opts.region !== null) {
queryParams['region'] = opts.region
}
if (opts.industry !== undefined && opts.industry !== null) {
queryParams['industry'] = opts.industry
}
if (opts.startDate !== undefined && opts.startDate !== null) {
queryParams['startDate'] = opts.startDate
}
if (opts.endDate !== undefined && opts.endDate !== null) {
queryParams['endDate'] = opts.endDate
}
if (opts.firstIndex !== undefined && opts.firstIndex !== null) {
queryParams['firstIndex'] = opts.firstIndex
}
if (opts.secondIndex !== undefined && opts.secondIndex !== null) {
queryParams['secondIndex'] = opts.secondIndex
}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 datastar/1.0.6'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call getLargeScreenData with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/largeScreen/getData',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = JDCloud.DATASTAR
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,785 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* 依赖
* 云部署依赖相关接口
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'deploy'
Service._services[serviceId] = true
/**
* deploy service.
* @version 1.0.0
*/
JDCloud.DEPLOY = class DEPLOY extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'deploy.jdcloud-api.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
* 批量查询应用的信息此接口支持分页查询默认每页20条
* @param {Object} opts - parameters
* @param {integer} [opts.pageNumber] - 页码默认为1 optional
* @param {integer} [opts.pageSize] - 分页大小默认为20取值范围[10, 100] optional
* @param {filter} [opts.filters] - appId - 应用ID精确匹配
appName - 应用名精确匹配
platform - 部署平台精确匹配
optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param app apps
* @param number totalCount
*/
describeApps (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeApps"
)
}
opts = opts || {}
let postBody = null
let queryParams = {}
if (opts.pageNumber !== undefined && opts.pageNumber !== null) {
queryParams['pageNumber'] = opts.pageNumber
}
if (opts.pageSize !== undefined && opts.pageSize !== null) {
queryParams['pageSize'] = opts.pageSize
}
Object.assign(queryParams, this.buildFilterParam(opts.filters, 'filters'))
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 deploy/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeApps with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/apps',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询一个应用的信息
* @param {Object} opts - parameters
* @param {string} opts.appId - App Id
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param app app
*/
describeApp (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeApp"
)
}
opts = opts || {}
if (opts.appId === undefined || opts.appId === null) {
throw new Error(
"Missing the required parameter 'opts.appId' when calling describeApp"
)
}
let postBody = null
let queryParams = {}
let pathParams = {
regionId: regionId,
appId: opts.appId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 deploy/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeApp with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/app/{appId}',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 创建部署任务
* @param {Object} opts - parameters
* @param {string} opts.groupId - 部署组ID部署组的唯一标识
* @param {string} [opts.desc] - 描述 optional
* @param {integer} opts.deploySource - 部署来源1url2云编译3云存储
* @param {string} [opts.deployCmd] - 部署操作 optional
* @param {integer} [opts.cmdSource] - 1使用输入的操作2使用程序自带操作 optional
* @param {integer} [opts.cmdType] - 部署操作展示格式1form,2ymal optional
* @param {integer} [opts.productType] - 项目类型 1tomcat,2 optional
* @param {string} [opts.downloadUrl] - 下载url optional
* @param {string} [opts.md5] - md5 optional
* @param {string} [opts.compileProject] - 云编译项目名 optional
* @param {string} [opts.compileSeries] - 云编译构建序号 optional
* @param {string} [opts.ossSpace] - 云存储空间 optional
* @param {string} [opts.ossDir] - 云存储目录 optional
* @param {integer} [opts.fileType] - 文件类型1.tar2.zip,3.tar.gz optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string deployId 上线单ID
*/
createDeploy (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling createDeploy"
)
}
opts = opts || {}
if (opts.groupId === undefined || opts.groupId === null) {
throw new Error(
"Missing the required parameter 'opts.groupId' when calling createDeploy"
)
}
if (opts.deploySource === undefined || opts.deploySource === null) {
throw new Error(
"Missing the required parameter 'opts.deploySource' when calling createDeploy"
)
}
let postBody = {}
if (opts.groupId !== undefined && opts.groupId !== null) {
postBody['groupId'] = opts.groupId
}
if (opts.desc !== undefined && opts.desc !== null) {
postBody['desc'] = opts.desc
}
if (opts.deploySource !== undefined && opts.deploySource !== null) {
postBody['deploySource'] = opts.deploySource
}
if (opts.deployCmd !== undefined && opts.deployCmd !== null) {
postBody['deployCmd'] = opts.deployCmd
}
if (opts.cmdSource !== undefined && opts.cmdSource !== null) {
postBody['cmdSource'] = opts.cmdSource
}
if (opts.cmdType !== undefined && opts.cmdType !== null) {
postBody['cmdType'] = opts.cmdType
}
if (opts.productType !== undefined && opts.productType !== null) {
postBody['productType'] = opts.productType
}
if (opts.downloadUrl !== undefined && opts.downloadUrl !== null) {
postBody['downloadUrl'] = opts.downloadUrl
}
if (opts.md5 !== undefined && opts.md5 !== null) {
postBody['md5'] = opts.md5
}
if (opts.compileProject !== undefined && opts.compileProject !== null) {
postBody['compileProject'] = opts.compileProject
}
if (opts.compileSeries !== undefined && opts.compileSeries !== null) {
postBody['compileSeries'] = opts.compileSeries
}
if (opts.ossSpace !== undefined && opts.ossSpace !== null) {
postBody['ossSpace'] = opts.ossSpace
}
if (opts.ossDir !== undefined && opts.ossDir !== null) {
postBody['ossDir'] = opts.ossDir
}
if (opts.fileType !== undefined && opts.fileType !== null) {
postBody['fileType'] = opts.fileType
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 deploy/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call createDeploy with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/deploy',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询一个部署任务详情
* @param {Object} opts - parameters
* @param {string} opts.deployId - Deploy Id
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param deploy deploy
*/
describeDeploy (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeDeploy"
)
}
opts = opts || {}
if (opts.deployId === undefined || opts.deployId === null) {
throw new Error(
"Missing the required parameter 'opts.deployId' when calling describeDeploy"
)
}
let postBody = null
let queryParams = {}
let pathParams = {
regionId: regionId,
deployId: opts.deployId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 deploy/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeDeploy with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/deploy/{deployId}',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 批量查询部署组的信息此接口支持分页查询默认每页20条
* @param {Object} opts - parameters
* @param {integer} [opts.pageNumber] - 页码默认为1 optional
* @param {integer} [opts.pageSize] - 分页大小默认为20取值范围[10, 100] optional
* @param {filter} [opts.filters] - appId - 应用ID精确匹配
groupId - 部署组ID精确匹配
groupName - 部署组名精确匹配
optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param group groups
* @param number totalCount
*/
describeGroups (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeGroups"
)
}
opts = opts || {}
let postBody = null
let queryParams = {}
if (opts.pageNumber !== undefined && opts.pageNumber !== null) {
queryParams['pageNumber'] = opts.pageNumber
}
if (opts.pageSize !== undefined && opts.pageSize !== null) {
queryParams['pageSize'] = opts.pageSize
}
Object.assign(queryParams, this.buildFilterParam(opts.filters, 'filters'))
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 deploy/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeGroups with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/groups',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询一个部署组的信息
* @param {Object} opts - parameters
* @param {string} opts.groupId - Group Id
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param group group
*/
describeGroup (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeGroup"
)
}
opts = opts || {}
if (opts.groupId === undefined || opts.groupId === null) {
throw new Error(
"Missing the required parameter 'opts.groupId' when calling describeGroup"
)
}
let postBody = null
let queryParams = {}
let pathParams = {
regionId: regionId,
groupId: opts.groupId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 deploy/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeGroup with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/group/{groupId}',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = JDCloud.DEPLOY
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,855 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Task related APIs
* 云拔测-任务相关接口
*
* OpenAPI spec version: v3
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'detection'
Service._services[serviceId] = true
/**
* detection service.
* @version 3.0.0
*/
class DETECTION extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'detection.jdcloud-api.com'
options.basePath = '/v3' // 默认要设为空""
super(serviceId, options)
}
/**
* 查询任务列表
* @param {Object} opts - parameters
* @param {integer} [opts.taskId] - 任务Id optional
* @param {string} [opts.taskName] - 任务名称 模糊匹配 optional
* @param {string} [opts.taskUrl] - 任务地址 模糊匹配 optional
* @param {integer} [opts.taskType] - 任务类型 1协议 2网络 optional
* @param {integer} [opts.protocolType] - 协议类型 1TCP 2UDP 3SMTP 4HTTP_HTTPS 5FTP optional
* @param {integer} [opts.taskClassify] - 任务类别 1定时拨测 2即时拨测 默认定时拨测 optional
* @param {integer} [opts.taskGroupId] - 任务组ID optional
* @param {integer} opts.pageIndex - 当前页码 需大于等于1
* @param {integer} opts.pageSize - 每页大小 取值范围1到100
* @param {integer} [opts.status] - 任务状态 0开启 1禁用 optional
* @param {string} callback - callback
@return {Object} result
* @param boolean success
* @param string message
* @param integer total
* @param task data
*/
queryTasks (opts, callback) {
opts = opts || {}
if (opts.pageIndex === undefined || opts.pageIndex === null) {
throw new Error(
"Missing the required parameter 'opts.pageIndex' when calling queryTasks"
)
}
if (opts.pageSize === undefined || opts.pageSize === null) {
throw new Error(
"Missing the required parameter 'opts.pageSize' when calling queryTasks"
)
}
let postBody = null
let queryParams = {}
if (opts.taskId !== undefined && opts.taskId !== null) {
queryParams['taskId'] = opts.taskId
}
if (opts.taskName !== undefined && opts.taskName !== null) {
queryParams['taskName'] = opts.taskName
}
if (opts.taskUrl !== undefined && opts.taskUrl !== null) {
queryParams['taskUrl'] = opts.taskUrl
}
if (opts.taskType !== undefined && opts.taskType !== null) {
queryParams['taskType'] = opts.taskType
}
if (opts.protocolType !== undefined && opts.protocolType !== null) {
queryParams['protocolType'] = opts.protocolType
}
if (opts.taskClassify !== undefined && opts.taskClassify !== null) {
queryParams['taskClassify'] = opts.taskClassify
}
if (opts.taskGroupId !== undefined && opts.taskGroupId !== null) {
queryParams['taskGroupId'] = opts.taskGroupId
}
if (opts.pageIndex !== undefined && opts.pageIndex !== null) {
queryParams['pageIndex'] = opts.pageIndex
}
if (opts.pageSize !== undefined && opts.pageSize !== null) {
queryParams['pageSize'] = opts.pageSize
}
if (opts.status !== undefined && opts.status !== null) {
queryParams['status'] = opts.status
}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 detection/3.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call queryTasks with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/tasks',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询网络类型任务拨测结果
* @param {Object} opts - parameters
* @param {integer} opts.taskId - 任务Id
* @param {integer} opts.startTime - 开始时间 时间戳 需小于当前时间
* @param {integer} opts.endTime - 结束时间 时间戳 需大于开始时间
* @param {integer} opts.pageIndex - 当前页码 需大于等于1
* @param {integer} opts.pageSize - 每页大小 取值范围1到500
* @param {integer} [opts.status] - 结果状态 0成功 1失败 optional
* @param {string} callback - callback
@return {Object} result
* @param boolean success
* @param string message
* @param integer total
* @param net data
*/
queryNetworkMonitorResults (opts, callback) {
opts = opts || {}
if (opts.taskId === undefined || opts.taskId === null) {
throw new Error(
"Missing the required parameter 'opts.taskId' when calling queryNetworkMonitorResults"
)
}
if (opts.startTime === undefined || opts.startTime === null) {
throw new Error(
"Missing the required parameter 'opts.startTime' when calling queryNetworkMonitorResults"
)
}
if (opts.endTime === undefined || opts.endTime === null) {
throw new Error(
"Missing the required parameter 'opts.endTime' when calling queryNetworkMonitorResults"
)
}
if (opts.pageIndex === undefined || opts.pageIndex === null) {
throw new Error(
"Missing the required parameter 'opts.pageIndex' when calling queryNetworkMonitorResults"
)
}
if (opts.pageSize === undefined || opts.pageSize === null) {
throw new Error(
"Missing the required parameter 'opts.pageSize' when calling queryNetworkMonitorResults"
)
}
let postBody = null
let queryParams = {}
if (opts.taskId !== undefined && opts.taskId !== null) {
queryParams['taskId'] = opts.taskId
}
if (opts.startTime !== undefined && opts.startTime !== null) {
queryParams['startTime'] = opts.startTime
}
if (opts.endTime !== undefined && opts.endTime !== null) {
queryParams['endTime'] = opts.endTime
}
if (opts.pageIndex !== undefined && opts.pageIndex !== null) {
queryParams['pageIndex'] = opts.pageIndex
}
if (opts.pageSize !== undefined && opts.pageSize !== null) {
queryParams['pageSize'] = opts.pageSize
}
if (opts.status !== undefined && opts.status !== null) {
queryParams['status'] = opts.status
}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 detection/3.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call queryNetworkMonitorResults with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/netMonitorResult',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询协议类型任务拨测结果
* @param {Object} opts - parameters
* @param {integer} opts.taskId - 任务Id
* @param {integer} opts.startTime - 开始时间 时间戳 需小于当前时间
* @param {integer} opts.endTime - 结束时间 时间戳 需大于开始时间
* @param {integer} opts.pageIndex - 当前页码 需大于等于1
* @param {integer} opts.pageSize - 每页大小 取值范围1到500
* @param {integer} [opts.status] - 结果状态 0成功 1失败 optional
* @param {string} callback - callback
@return {Object} result
* @param boolean success
* @param string message
* @param integer total
* @param protocol data
*/
queryProtocolMonitorResults (opts, callback) {
opts = opts || {}
if (opts.taskId === undefined || opts.taskId === null) {
throw new Error(
"Missing the required parameter 'opts.taskId' when calling queryProtocolMonitorResults"
)
}
if (opts.startTime === undefined || opts.startTime === null) {
throw new Error(
"Missing the required parameter 'opts.startTime' when calling queryProtocolMonitorResults"
)
}
if (opts.endTime === undefined || opts.endTime === null) {
throw new Error(
"Missing the required parameter 'opts.endTime' when calling queryProtocolMonitorResults"
)
}
if (opts.pageIndex === undefined || opts.pageIndex === null) {
throw new Error(
"Missing the required parameter 'opts.pageIndex' when calling queryProtocolMonitorResults"
)
}
if (opts.pageSize === undefined || opts.pageSize === null) {
throw new Error(
"Missing the required parameter 'opts.pageSize' when calling queryProtocolMonitorResults"
)
}
let postBody = null
let queryParams = {}
if (opts.taskId !== undefined && opts.taskId !== null) {
queryParams['taskId'] = opts.taskId
}
if (opts.startTime !== undefined && opts.startTime !== null) {
queryParams['startTime'] = opts.startTime
}
if (opts.endTime !== undefined && opts.endTime !== null) {
queryParams['endTime'] = opts.endTime
}
if (opts.pageIndex !== undefined && opts.pageIndex !== null) {
queryParams['pageIndex'] = opts.pageIndex
}
if (opts.pageSize !== undefined && opts.pageSize !== null) {
queryParams['pageSize'] = opts.pageSize
}
if (opts.status !== undefined && opts.status !== null) {
queryParams['status'] = opts.status
}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 detection/3.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call queryProtocolMonitorResults with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/protocolMonitorResult',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询协议类型任务平均指标数据
* @param {Object} opts - parameters
* @param {integer} opts.taskId - 任务Id
* @param {integer} opts.startTime - 开始时间 时间戳 需小于当前时间
* @param {integer} opts.endTime - 结束时间 时间戳 需大于开始时间
* @param {integer} [opts.duration] - 数据点间隔时间(分钟)可选5/10/15/30/60/120/180/240/300/480/720默认为任务调度周期需大于任务调度周期 optional
* @param {string} callback - callback
@return {Object} result
* @param boolean success
* @param string message
* @param protocolMetric data
*/
queryProtocolAvgMetrics (opts, callback) {
opts = opts || {}
if (opts.taskId === undefined || opts.taskId === null) {
throw new Error(
"Missing the required parameter 'opts.taskId' when calling queryProtocolAvgMetrics"
)
}
if (opts.startTime === undefined || opts.startTime === null) {
throw new Error(
"Missing the required parameter 'opts.startTime' when calling queryProtocolAvgMetrics"
)
}
if (opts.endTime === undefined || opts.endTime === null) {
throw new Error(
"Missing the required parameter 'opts.endTime' when calling queryProtocolAvgMetrics"
)
}
let postBody = null
let queryParams = {}
if (opts.taskId !== undefined && opts.taskId !== null) {
queryParams['taskId'] = opts.taskId
}
if (opts.startTime !== undefined && opts.startTime !== null) {
queryParams['startTime'] = opts.startTime
}
if (opts.endTime !== undefined && opts.endTime !== null) {
queryParams['endTime'] = opts.endTime
}
if (opts.duration !== undefined && opts.duration !== null) {
queryParams['duration'] = opts.duration
}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 detection/3.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call queryProtocolAvgMetrics with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/protocolAvgMetrics',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询网络类型任务平均值指标数据
* @param {Object} opts - parameters
* @param {integer} opts.taskId - 任务Id
* @param {integer} opts.startTime - 开始时间 时间戳 需小于当前时间
* @param {integer} opts.endTime - 结束时间 时间戳 需大于开始时间
* @param {integer} [opts.duration] - 数据点间隔时间(分钟)可选5/10/15/30/60/120/180/240/300/480/720默认为任务调度周期需大于任务调度周期 optional
* @param {string} callback - callback
@return {Object} result
* @param boolean success
* @param string message
* @param netMetric data
*/
queryNetworkAvgMetrics (opts, callback) {
opts = opts || {}
if (opts.taskId === undefined || opts.taskId === null) {
throw new Error(
"Missing the required parameter 'opts.taskId' when calling queryNetworkAvgMetrics"
)
}
if (opts.startTime === undefined || opts.startTime === null) {
throw new Error(
"Missing the required parameter 'opts.startTime' when calling queryNetworkAvgMetrics"
)
}
if (opts.endTime === undefined || opts.endTime === null) {
throw new Error(
"Missing the required parameter 'opts.endTime' when calling queryNetworkAvgMetrics"
)
}
let postBody = null
let queryParams = {}
if (opts.taskId !== undefined && opts.taskId !== null) {
queryParams['taskId'] = opts.taskId
}
if (opts.startTime !== undefined && opts.startTime !== null) {
queryParams['startTime'] = opts.startTime
}
if (opts.endTime !== undefined && opts.endTime !== null) {
queryParams['endTime'] = opts.endTime
}
if (opts.duration !== undefined && opts.duration !== null) {
queryParams['duration'] = opts.duration
}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 detection/3.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call queryNetworkAvgMetrics with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/netAvgMetrics',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询任务成功率指标数据
* @param {Object} opts - parameters
* @param {integer} opts.taskId - 任务Id
* @param {integer} opts.startTime - 开始时间 时间戳 需小于当前时间
* @param {integer} opts.endTime - 结束时间 时间戳 需大于开始时间
* @param {integer} [opts.duration] - 数据点间隔时间(分钟)可选5/10/15/30/60/120/180/240/300/480/720默认为任务调度周期需大于任务调度周期 optional
* @param {string} callback - callback
@return {Object} result
* @param boolean success
* @param string message
* @param successRateMetric data
*/
querySuccessRateMetric (opts, callback) {
opts = opts || {}
if (opts.taskId === undefined || opts.taskId === null) {
throw new Error(
"Missing the required parameter 'opts.taskId' when calling querySuccessRateMetric"
)
}
if (opts.startTime === undefined || opts.startTime === null) {
throw new Error(
"Missing the required parameter 'opts.startTime' when calling querySuccessRateMetric"
)
}
if (opts.endTime === undefined || opts.endTime === null) {
throw new Error(
"Missing the required parameter 'opts.endTime' when calling querySuccessRateMetric"
)
}
let postBody = null
let queryParams = {}
if (opts.taskId !== undefined && opts.taskId !== null) {
queryParams['taskId'] = opts.taskId
}
if (opts.startTime !== undefined && opts.startTime !== null) {
queryParams['startTime'] = opts.startTime
}
if (opts.endTime !== undefined && opts.endTime !== null) {
queryParams['endTime'] = opts.endTime
}
if (opts.duration !== undefined && opts.duration !== null) {
queryParams['duration'] = opts.duration
}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 detection/3.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call querySuccessRateMetric with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/successRateMetric',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = DETECTION
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,333 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* 页面测试检测接口
* 京东云信用评分-OpenAPI页面测试检测接口
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'eid'
Service._services[serviceId] = true
/**
* eid service.
* @version 1.0.0
*/
class EID extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'bio-web.jdcloud.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
* 获取设备评分
* @param {Object} opts - parameters
* @param {} [opts.tasks] - 检测任务列表包含一个或多个元素每个元素是个结构体最多可添加100元素即最多对100个设备数据进行评分每个元素的具体结构描述见creditTask optional
* @param {string} callback - callback
@return {Object} result
* @param eidScoreResult data
*/
eidScore (opts, callback) {
opts = opts || {}
let postBody = {}
if (opts.tasks !== undefined && opts.tasks !== null) {
postBody['tasks'] = opts.tasks
}
let queryParams = {}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 eid/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call eidScore with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/eidScore:check',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 策略下发
* @param {Object} opts - parameters
* @param {string} [opts.data] optional
* @param {string} callback - callback
@return {Object} result
*/
vttok (opts, callback) {
opts = opts || {}
let postBody = {}
if (opts.data !== undefined && opts.data !== null) {
postBody['data'] = opts.data
}
let queryParams = {}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 eid/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call vttok with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/sdk:vttok',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 设备信息上报
* @param {Object} opts - parameters
* @param {string} [opts.data] optional
* @param {string} callback - callback
@return {Object} result
*/
device (opts, callback) {
opts = opts || {}
let postBody = {}
if (opts.data !== undefined && opts.data !== null) {
postBody['data'] = opts.data
}
let queryParams = {}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 eid/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call device with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/sdk:device',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = EID
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,771 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* ES Snapshot API
* es快照创建查询自动快照的设置查询接口
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'es'
Service._services[serviceId] = true
/**
* es service.
* @version 1.0.1
*/
JDCloud.ES = class ES extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'es.jdcloud-api.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
* 关闭自定义字典同时清除用户已上传的字典
* @param {Object} opts - parameters
* @param {string} opts.instanceId - 实例ID
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string instanceId 实例ID
*/
disableDicts (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling disableDicts"
)
}
opts = opts || {}
if (opts.instanceId === undefined || opts.instanceId === null) {
throw new Error(
"Missing the required parameter 'opts.instanceId' when calling disableDicts"
)
}
let postBody = null
let queryParams = {}
let pathParams = {
regionId: regionId,
instanceId: opts.instanceId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 es/1.0.1'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call disableDicts with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/instances/{instanceId}/dicts',
'DELETE',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询es实例列表
* @param {Object} opts - parameters
* @param {integer} [opts.pageNumber] - 页码默认1 optional
* @param {integer} [opts.pageSize] - 分页大小默认10 optional
* @param {filter} [opts.filters] - 过滤条件
instanceId -实例Id精确匹配支持多个
instanceVersion -实例版本精确匹配支持单个
azId -azId精确匹配支持单个
instanceName - 实例名称模糊匹配支持单个
instanceStatus - 实例状态精确匹配支持多个(running运行error错误creating创建中changing变配中stop已停止processing处理中)
chargeMode - 计费类型按配置postpaid_by_duration或者包年包月prepaid_by_duration
optional
* @param {tagFilter} [opts.tagFilters] - 标签过滤条件 optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param instance instances
* @param integer totalCount es实例总数
*/
describeInstances (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeInstances"
)
}
opts = opts || {}
let postBody = null
let queryParams = {}
if (opts.pageNumber !== undefined && opts.pageNumber !== null) {
queryParams['pageNumber'] = opts.pageNumber
}
if (opts.pageSize !== undefined && opts.pageSize !== null) {
queryParams['pageSize'] = opts.pageSize
}
Object.assign(queryParams, super.buildFilterParam(opts.filters, 'filters'))
Object.assign(
queryParams,
super.buildTagFilterParam(opts.tagFilters, 'tagFilters')
)
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 es/1.0.1'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeInstances with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/instances',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 创建一个指定配置的es实例
* @param {Object} opts - parameters
* @param {instanceSpec} opts.instance - es实例的相关配置
* @param {chargeSpec} [opts.charge] - 计费信息的相关配置es只有prepaid_by_duration和postpaid_by_duration 2种计费模式 optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string orderNum 订单编号
* @param string instanceId es实例编号
*/
createInstance (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling createInstance"
)
}
opts = opts || {}
if (opts.instance === undefined || opts.instance === null) {
throw new Error(
"Missing the required parameter 'opts.instance' when calling createInstance"
)
}
let postBody = {}
if (opts.instance !== undefined && opts.instance !== null) {
postBody['instance'] = opts.instance
}
if (opts.charge !== undefined && opts.charge !== null) {
postBody['charge'] = opts.charge
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 es/1.0.1'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call createInstance with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/instances',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询es实例的详细信息
* @param {Object} opts - parameters
* @param {string} opts.instanceId - 实例ID
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param instance instance es实例详细信息
*/
describeInstance (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeInstance"
)
}
opts = opts || {}
if (opts.instanceId === undefined || opts.instanceId === null) {
throw new Error(
"Missing the required parameter 'opts.instanceId' when calling describeInstance"
)
}
let postBody = null
let queryParams = {}
let pathParams = {
regionId: regionId,
instanceId: opts.instanceId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 es/1.0.1'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeInstance with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/instances/{instanceId}',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 删除按配置计费或包年包月已到期的es实例包年包月未到期不可删除
状态为创建中和变配中的不可删除
* @param {Object} opts - parameters
* @param {string} opts.instanceId - 实例ID
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
*/
deleteInstance (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling deleteInstance"
)
}
opts = opts || {}
if (opts.instanceId === undefined || opts.instanceId === null) {
throw new Error(
"Missing the required parameter 'opts.instanceId' when calling deleteInstance"
)
}
let postBody = null
let queryParams = {}
let pathParams = {
regionId: regionId,
instanceId: opts.instanceId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 es/1.0.1'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call deleteInstance with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/instances/{instanceId}',
'DELETE',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 变更es实例的配置实例为running状态才可变更配置每次只能变更一种且不可与原来的相同
实例配置cpu核数内存磁盘容量节点数量目前只允许变大
* @param {Object} opts - parameters
* @param {string} opts.instanceId - 实例ID
* @param {string} [opts.nodeClass] - data节点规格 optional
* @param {integer} [opts.nodeDiskGB] - data节点磁盘 optional
* @param {integer} [opts.nodeCount] - data节点数 optional
* @param {string} [opts.masterClass] - master节点规格 optional
* @param {string} [opts.coordinatingClass] - coordinating节点规格 optional
* @param {integer} [opts.coordinatingCount] - coordinating节点数 optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string orderNum 订单编号
* @param string instanceId es实例编号
*/
modifyInstanceSpec (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling modifyInstanceSpec"
)
}
opts = opts || {}
if (opts.instanceId === undefined || opts.instanceId === null) {
throw new Error(
"Missing the required parameter 'opts.instanceId' when calling modifyInstanceSpec"
)
}
let postBody = {}
if (opts.nodeClass !== undefined && opts.nodeClass !== null) {
postBody['nodeClass'] = opts.nodeClass
}
if (opts.nodeDiskGB !== undefined && opts.nodeDiskGB !== null) {
postBody['nodeDiskGB'] = opts.nodeDiskGB
}
if (opts.nodeCount !== undefined && opts.nodeCount !== null) {
postBody['nodeCount'] = opts.nodeCount
}
if (opts.masterClass !== undefined && opts.masterClass !== null) {
postBody['masterClass'] = opts.masterClass
}
if (
opts.coordinatingClass !== undefined &&
opts.coordinatingClass !== null
) {
postBody['coordinatingClass'] = opts.coordinatingClass
}
if (
opts.coordinatingCount !== undefined &&
opts.coordinatingCount !== null
) {
postBody['coordinatingCount'] = opts.coordinatingCount
}
let queryParams = {}
let pathParams = {
regionId: regionId,
instanceId: opts.instanceId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 es/1.0.1'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call modifyInstanceSpec with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/instances/{instanceId}:modifyInstanceSpec',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = JDCloud.ES
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,822 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* 域名
* httpdns OpenAPI域名接口
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'httpdns'
Service._services[serviceId] = true
/**
* httpdns service.
* @version 1.0.0
*/
JDCloud.HTTPDNS = class HTTPDNS extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'httpdns.jdcloud-api.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
* 查询用户名下httpdns的账户ID
* @param {Object} opts - parameters
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param accountId data 查询得到的账户ID结构
*/
getAccountId (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling getAccountId"
)
}
opts = opts || {}
let postBody = null
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 httpdns/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call getAccountId with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/account',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 创建httpdns账户
* @param {Object} opts - parameters
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param account data 开户成功后得到的账户结构
*/
createAccount (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling createAccount"
)
}
opts = opts || {}
let postBody = {}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 httpdns/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call createAccount with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/account/createAccount',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询httpdns账户的基本信息
* @param {Object} opts - parameters
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param account data 查询得到的账户结构
*/
getAccountInfo (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling getAccountInfo"
)
}
opts = opts || {}
let postBody = null
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 httpdns/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call getAccountInfo with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/accountInfo',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 创建启用禁用httpdns服务密钥
* @param {Object} opts - parameters
* @param {} [opts.action] - 操作类型, create创建, enable启用, disable禁用 optional
* @param {} [opts.key] - 操作的密钥 optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
*/
operateKey (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling operateKey"
)
}
opts = opts || {}
let postBody = {}
if (opts.action !== undefined && opts.action !== null) {
postBody['action'] = opts.action
}
if (opts.key !== undefined && opts.key !== null) {
postBody['key'] = opts.key
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 httpdns/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call operateKey with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/account/operateKey',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询使用httpdns服务的域名
* @param {Object} opts - parameters
* @param {integer} opts.pageIndex - 当前页数起始值为1
* @param {integer} opts.pageSize - 分页查询时设置的每页行数
* @param {string} [opts.domainName] - 关键字按照%domainName%模式搜索域名 optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param domainData data 分页查询返回的域名数据结构
*/
getDomains (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling getDomains"
)
}
opts = opts || {}
if (opts.pageIndex === undefined || opts.pageIndex === null) {
throw new Error(
"Missing the required parameter 'opts.pageIndex' when calling getDomains"
)
}
if (opts.pageSize === undefined || opts.pageSize === null) {
throw new Error(
"Missing the required parameter 'opts.pageSize' when calling getDomains"
)
}
let postBody = null
let queryParams = {}
if (opts.pageIndex !== undefined && opts.pageIndex !== null) {
queryParams['pageIndex'] = opts.pageIndex
}
if (opts.pageSize !== undefined && opts.pageSize !== null) {
queryParams['pageSize'] = opts.pageSize
}
if (opts.domainName !== undefined && opts.domainName !== null) {
queryParams['domainName'] = opts.domainName
}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 httpdns/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call getDomains with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/domain',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 添加域名&lt;br&gt;
可以添加顶级域名除外的多级域名
* @param {Object} opts - parameters
* @param {array} opts.domainNames - 需要添加的域名数组
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
*/
addDomains (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling addDomains"
)
}
opts = opts || {}
if (opts.domainNames === undefined || opts.domainNames === null) {
throw new Error(
"Missing the required parameter 'opts.domainNames' when calling addDomains"
)
}
let postBody = {}
if (opts.domainNames !== undefined && opts.domainNames !== null) {
postBody['domainNames'] = opts.domainNames
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 httpdns/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call addDomains with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/domain/addDomain',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 删除域名
* @param {Object} opts - parameters
* @param {array} opts.domainNames - 需要删除的域名数组
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
*/
delDomains (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling delDomains"
)
}
opts = opts || {}
if (opts.domainNames === undefined || opts.domainNames === null) {
throw new Error(
"Missing the required parameter 'opts.domainNames' when calling delDomains"
)
}
let postBody = {}
if (opts.domainNames !== undefined && opts.domainNames !== null) {
postBody['domainNames'] = opts.domainNames
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 httpdns/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call delDomains with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/domain/delDomain',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = JDCloud.HTTPDNS
@@ -0,0 +1,628 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* hufu-wx
* 虎符商业化相关接口
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'hufu'
Service._services[serviceId] = true
/**
* hufu service.
* @version 1.0.7
*/
class HUFU extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'hufu.jdcloud-api.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
* 发布版本
* @param {Object} opts - parameters
* @param {integer} opts.sceneId - 场景ID
* @param {string} opts.revision - 发布的修订版本号
* @param {string} opts.environment - 环境testpreviewonline
* @param {string} [opts.backendServiceType] - 后端服务类型mockuniquevpc optional
* @param {string} [opts.backendUrl] - 后端地址 optional
* @param {string} [opts.description] - 描述 optional
* @param {string} [opts.jdsfName] - 微服务网关名称 optional
* @param {string} [opts.jdsfRegistryName] - 微服务注册中心ID optional
* @param {string} [opts.jdsfId] - 微服务ID optional
* @param {string} callback - callback
@return {Object} result
*/
deploy (opts, callback) {
opts = opts || {}
if (opts.sceneId === undefined || opts.sceneId === null) {
throw new Error(
"Missing the required parameter 'opts.sceneId' when calling deploy"
)
}
if (opts.revision === undefined || opts.revision === null) {
throw new Error(
"Missing the required parameter 'opts.revision' when calling deploy"
)
}
if (opts.environment === undefined || opts.environment === null) {
throw new Error(
"Missing the required parameter 'opts.environment' when calling deploy"
)
}
let postBody = {}
if (opts.revision !== undefined && opts.revision !== null) {
postBody['revision'] = opts.revision
}
if (opts.environment !== undefined && opts.environment !== null) {
postBody['environment'] = opts.environment
}
if (
opts.backendServiceType !== undefined &&
opts.backendServiceType !== null
) {
postBody['backendServiceType'] = opts.backendServiceType
}
if (opts.backendUrl !== undefined && opts.backendUrl !== null) {
postBody['backendUrl'] = opts.backendUrl
}
if (opts.description !== undefined && opts.description !== null) {
postBody['description'] = opts.description
}
if (opts.jdsfName !== undefined && opts.jdsfName !== null) {
postBody['jdsfName'] = opts.jdsfName
}
if (opts.jdsfRegistryName !== undefined && opts.jdsfRegistryName !== null) {
postBody['jdsfRegistryName'] = opts.jdsfRegistryName
}
if (opts.jdsfId !== undefined && opts.jdsfId !== null) {
postBody['jdsfId'] = opts.jdsfId
}
let queryParams = {}
let pathParams = {
regionId: 'jdcloud',
sceneId: opts.sceneId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 hufu/1.0.7'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call deploy with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/scenes/{sceneId}/deployments',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询该版本的部署详情
* @param {Object} opts - parameters
* @param {integer} opts.sceneId - 场景ID
* @param {string} opts.deploymentId - 部署ID
* @param {string} callback - callback
@return {Object} result
* @param deployment apiGroup
*/
describeDeployment (opts, callback) {
opts = opts || {}
if (opts.sceneId === undefined || opts.sceneId === null) {
throw new Error(
"Missing the required parameter 'opts.sceneId' when calling describeDeployment"
)
}
if (opts.deploymentId === undefined || opts.deploymentId === null) {
throw new Error(
"Missing the required parameter 'opts.deploymentId' when calling describeDeployment"
)
}
let postBody = null
let queryParams = {}
let pathParams = {
regionId: 'jdcloud',
sceneId: opts.sceneId,
deploymentId: opts.deploymentId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 hufu/1.0.7'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeDeployment with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/scenes/{sceneId}/deployments/{deploymentId}',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 加密
* @param {Object} opts - parameters
* @param {string} [opts.plaintext] - 明文 optional
* @param {string} callback - callback
@return {Object} result
* @param string ciphertext 密文
*/
encrypt (opts, callback) {
opts = opts || {}
let postBody = {}
if (opts.plaintext !== undefined && opts.plaintext !== null) {
postBody['plaintext'] = opts.plaintext
}
let queryParams = {}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 hufu/1.0.7'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call encrypt with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/encrypt',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 加密
* @param {Object} opts - parameters
* @param {string} [opts.cipher] - 密文 optional
* @param {string} callback - callback
@return {Object} result
* @param boolean encryptData 是否是虎符密文
*/
isEncryptData (opts, callback) {
opts = opts || {}
let postBody = {}
if (opts.cipher !== undefined && opts.cipher !== null) {
postBody['cipher'] = opts.cipher
}
let queryParams = {}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 hufu/1.0.7'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call isEncryptData with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/isEncryptData',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询access日志
* @param {Object} opts - parameters
* @param {string} [opts.call_pin] - 调用者pin optional
* @param {string} [opts.response_status] - 响应码 optional
* @param {string} [opts.api_name] - api名称 optional
* @param {string} [opts.access_key] - 调用者accessKey optional
* @param {string} [opts.host] - 请求虎符网关的域名 optional
* @param {string} opts.startTime - 开始时间utc格式例如2020-05-19T00:00:05+0800
* @param {string} opts.endTime - 结束时间utc格式例如2020-05-19T00:00:05+0800
* @param {integer} [opts.pageNumber] - 页码 optional
* @param {integer} [opts.pageSize] - 分页大小 optional
* @param {string} callback - callback
@return {Object} result
* @param accessLog data
* @param integer total
*/
queryAccessLog (opts, callback) {
opts = opts || {}
if (opts.startTime === undefined || opts.startTime === null) {
throw new Error(
"Missing the required parameter 'opts.startTime' when calling queryAccessLog"
)
}
if (opts.endTime === undefined || opts.endTime === null) {
throw new Error(
"Missing the required parameter 'opts.endTime' when calling queryAccessLog"
)
}
let postBody = null
let queryParams = {}
if (opts.call_pin !== undefined && opts.call_pin !== null) {
queryParams['call_pin'] = opts.call_pin
}
if (opts.response_status !== undefined && opts.response_status !== null) {
queryParams['response_status'] = opts.response_status
}
if (opts.api_name !== undefined && opts.api_name !== null) {
queryParams['api_name'] = opts.api_name
}
if (opts.access_key !== undefined && opts.access_key !== null) {
queryParams['access_key'] = opts.access_key
}
if (opts.host !== undefined && opts.host !== null) {
queryParams['host'] = opts.host
}
if (opts.startTime !== undefined && opts.startTime !== null) {
queryParams['startTime'] = opts.startTime
}
if (opts.endTime !== undefined && opts.endTime !== null) {
queryParams['endTime'] = opts.endTime
}
if (opts.pageNumber !== undefined && opts.pageNumber !== null) {
queryParams['pageNumber'] = opts.pageNumber
}
if (opts.pageSize !== undefined && opts.pageSize !== null) {
queryParams['pageSize'] = opts.pageSize
}
let pathParams = {
regionId: 'jdcloud'
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 hufu/1.0.7'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call queryAccessLog with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/access',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = HUFU
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,202 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* 大屏数据查询接口
* 陕西苹果大屏数据查询接口
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'industrydata'
Service._services[serviceId] = true
/**
* industrydata service.
* @version 1.0.0
*/
JDCloud.INDUSTRYDATA = class INDUSTRYDATA extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'industrydata.cn-south-1.jdcloud-api.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
* 根据区域行业一级指标二级指标起始时间等条件查询数据
* @param {Object} opts - parameters
* @param {string} opts.region - 查询区域比如某某省或某某市可选区域以最终授权为准
* @param {string} opts.industry - 查询行业比如某个水果或者农作物可选行业以最终授权为准
* @param {string} opts.startDate - 查询起始时间格式如下yyyy-MM-dd
* @param {string} opts.endDate - 查询结束时间格式如下yyyy-MM-dd
* @param {string} opts.firstIndex - 数据对应的第一级分析指标可选一级指标以最终授权为准
* @param {string} [opts.secondIndex] - 数据对应的第二级分析指标如不填写则默认把一级指标下的所有二级指标都查询出来可选二级指标以最终授权为准 optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param boolean status true为成功false为失败
* @param string message 描述信息
* @param regionIndustryDataList data 查询数据结果
*/
getLargeScreenData (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling getLargeScreenData"
)
}
opts = opts || {}
if (opts.region === undefined || opts.region === null) {
throw new Error(
"Missing the required parameter 'opts.region' when calling getLargeScreenData"
)
}
if (opts.industry === undefined || opts.industry === null) {
throw new Error(
"Missing the required parameter 'opts.industry' when calling getLargeScreenData"
)
}
if (opts.startDate === undefined || opts.startDate === null) {
throw new Error(
"Missing the required parameter 'opts.startDate' when calling getLargeScreenData"
)
}
if (opts.endDate === undefined || opts.endDate === null) {
throw new Error(
"Missing the required parameter 'opts.endDate' when calling getLargeScreenData"
)
}
if (opts.firstIndex === undefined || opts.firstIndex === null) {
throw new Error(
"Missing the required parameter 'opts.firstIndex' when calling getLargeScreenData"
)
}
let postBody = null
let queryParams = {}
if (opts.region !== undefined && opts.region !== null) {
queryParams['region'] = opts.region
}
if (opts.industry !== undefined && opts.industry !== null) {
queryParams['industry'] = opts.industry
}
if (opts.startDate !== undefined && opts.startDate !== null) {
queryParams['startDate'] = opts.startDate
}
if (opts.endDate !== undefined && opts.endDate !== null) {
queryParams['endDate'] = opts.endDate
}
if (opts.firstIndex !== undefined && opts.firstIndex !== null) {
queryParams['firstIndex'] = opts.firstIndex
}
if (opts.secondIndex !== undefined && opts.secondIndex !== null) {
queryParams['secondIndex'] = opts.secondIndex
}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 industrydata/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call getLargeScreenData with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/getData',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = JDCloud.INDUSTRYDATA
@@ -0,0 +1,883 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Instance-Voucher
* 实例抵扣券相关接口
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'instancevoucher'
Service._services[serviceId] = true
/**
* instancevoucher service.
* @version 0.0.3
*/
class INSTANCEVOUCHER extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'instancevoucher.jdcloud-api.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
* 查询实例规格信息列表
* @param {Object} opts - parameters
* @param {string} [opts.resourceType] - 产品类型 支持[vm, nativecontainer, pod]默认为vm optional
* @param {string} [opts.reservedType] - 资源分配方式支持[nonReserved] optional
* @param {filter} [opts.filters] - Filter names: (仅支持eq)
instanceType - 实例规格精确匹配支持多个
instanceTypeFamily - 实例规格族精确匹配支持多个
az - 可用区精确匹配支持多个
optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param instanceVoucherType instanceVoucherTypes
*/
describeInstanceVoucherTypes (
opts,
regionId = this.config.regionId,
callback
) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeInstanceVoucherTypes"
)
}
opts = opts || {}
let postBody = null
let queryParams = {}
if (opts.resourceType !== undefined && opts.resourceType !== null) {
queryParams['resourceType'] = opts.resourceType
}
if (opts.reservedType !== undefined && opts.reservedType !== null) {
queryParams['reservedType'] = opts.reservedType
}
Object.assign(queryParams, super.buildFilterParam(opts.filters, 'filters'))
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 instancevoucher/0.0.3'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeInstanceVoucherTypes with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/instanceVoucherTypes',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询配额
* @param {Object} opts - parameters
* @param {filter} [opts.filters] - Filter names: (仅支持eq)
resourceType - 产品类型精确匹配支持多个 支持[vm, nativecontainer, pod]
reservedType - 资源分配方式精确匹配支持多个 支持[nonReserved]
optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param quota quotas
*/
describeQuotas (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeQuotas"
)
}
opts = opts || {}
let postBody = null
let queryParams = {}
Object.assign(queryParams, super.buildFilterParam(opts.filters, 'filters'))
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 instancevoucher/0.0.3'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeQuotas with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/quotas',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 批量查询实例抵扣券的详细信息&lt;br&gt;
此接口支持分页查询默认每页20条
* @param {Object} opts - parameters
* @param {integer} [opts.pageNumber] - 页码默认为1 optional
* @param {integer} [opts.pageSize] - 分页大小默认为20取值范围[10, 100] optional
* @param {filter} [opts.filters] - Filter names: (仅支持eq)
instanceVoucherId - 实例ID精确匹配支持多个
name - 实例名称模糊匹配支持多个
resourceType - 产品类型精确匹配支持多个 支持[vm nativecontainer pod]
reservedType - 资源分配方式精确匹配支持多个 支持[nonReserved]
status - 实例抵扣券状态精确匹配支持多个
instanceTypeFamily - 实例规格族精确匹配支持多个适用于非预留型
optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param instanceVoucher instanceVouchers
* @param integer totalCount
*/
describeInstanceVouchers (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeInstanceVouchers"
)
}
opts = opts || {}
let postBody = null
let queryParams = {}
if (opts.pageNumber !== undefined && opts.pageNumber !== null) {
queryParams['pageNumber'] = opts.pageNumber
}
if (opts.pageSize !== undefined && opts.pageSize !== null) {
queryParams['pageSize'] = opts.pageSize
}
Object.assign(queryParams, super.buildFilterParam(opts.filters, 'filters'))
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 instancevoucher/0.0.3'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeInstanceVouchers with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/instanceVouchers',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 创建实例抵扣券
* @param {Object} opts - parameters
* @param {instanceVoucherSpec} opts.instanceVoucherSpec - 创建实例抵扣券规格
* @param {string} [opts.clientToken] - 保证请求幂等性 optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string instanceVoucherId 实例抵扣券 ID
*/
createInstanceVoucher (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling createInstanceVoucher"
)
}
opts = opts || {}
if (
opts.instanceVoucherSpec === undefined ||
opts.instanceVoucherSpec === null
) {
throw new Error(
"Missing the required parameter 'opts.instanceVoucherSpec' when calling createInstanceVoucher"
)
}
let postBody = {}
if (
opts.instanceVoucherSpec !== undefined &&
opts.instanceVoucherSpec !== null
) {
postBody['instanceVoucherSpec'] = opts.instanceVoucherSpec
}
if (opts.clientToken !== undefined && opts.clientToken !== null) {
postBody['clientToken'] = opts.clientToken
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 instancevoucher/0.0.3'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call createInstanceVoucher with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/instanceVouchers',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 查询实例抵扣券的详细信息
* @param {Object} opts - parameters
* @param {string} opts.instanceVoucherId - 实例抵扣券 ID
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param instanceVoucher instanceVoucher
*/
describeInstanceVoucher (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling describeInstanceVoucher"
)
}
opts = opts || {}
if (
opts.instanceVoucherId === undefined ||
opts.instanceVoucherId === null
) {
throw new Error(
"Missing the required parameter 'opts.instanceVoucherId' when calling describeInstanceVoucher"
)
}
let postBody = null
let queryParams = {}
let pathParams = {
regionId: regionId,
instanceVoucherId: opts.instanceVoucherId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 instancevoucher/0.0.3'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call describeInstanceVoucher with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/instanceVouchers/{instanceVoucherId}',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 删除实例抵扣券
* @param {Object} opts - parameters
* @param {string} opts.instanceVoucherId - 实例抵扣券 ID
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
*/
deleteInstanceVoucher (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling deleteInstanceVoucher"
)
}
opts = opts || {}
if (
opts.instanceVoucherId === undefined ||
opts.instanceVoucherId === null
) {
throw new Error(
"Missing the required parameter 'opts.instanceVoucherId' when calling deleteInstanceVoucher"
)
}
let postBody = null
let queryParams = {}
let pathParams = {
regionId: regionId,
instanceVoucherId: opts.instanceVoucherId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 instancevoucher/0.0.3'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call deleteInstanceVoucher with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/instanceVouchers/{instanceVoucherId}',
'DELETE',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 修改实例抵扣券的 名称 描述&lt;br&gt;
name description 必须要指定一个
* @param {Object} opts - parameters
* @param {string} opts.instanceVoucherId - 实例抵扣券 ID
* @param {string} [opts.name] - 实例抵扣券名称 optional
* @param {string} [opts.description] - 实例抵扣券描述 optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
*/
modifyInstanceVoucherAttribute (
opts,
regionId = this.config.regionId,
callback
) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling modifyInstanceVoucherAttribute"
)
}
opts = opts || {}
if (
opts.instanceVoucherId === undefined ||
opts.instanceVoucherId === null
) {
throw new Error(
"Missing the required parameter 'opts.instanceVoucherId' when calling modifyInstanceVoucherAttribute"
)
}
let postBody = {}
if (opts.name !== undefined && opts.name !== null) {
postBody['name'] = opts.name
}
if (opts.description !== undefined && opts.description !== null) {
postBody['description'] = opts.description
}
let queryParams = {}
let pathParams = {
regionId: regionId,
instanceVoucherId: opts.instanceVoucherId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 instancevoucher/0.0.3'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call modifyInstanceVoucherAttribute with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = super.makeRequest(
'/regions/{regionId}/instanceVouchers/{instanceVoucherId}:modifyInstanceVoucherAttribute',
'PATCH',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = INSTANCEVOUCHER
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,947 @@
/*
* Copyright 2018 JDCLOUD.COM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:#www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* iot-card-Related-API
* 物联网卡服务相关API
*
* OpenAPI spec version: v1
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
require('../../../lib/node_loader')
var JDCloud = require('../../../lib/core')
var Service = JDCloud.Service
var serviceId = 'iotcard'
Service._services[serviceId] = true
/**
* iotcard service.
* @version 1.0.0
*/
JDCloud.IOTCARD = class IOTCARD extends Service {
constructor (options = {}) {
options._defaultEndpoint = {}
options._defaultEndpoint.protocol =
options._defaultEndpoint.protocol || 'https'
options._defaultEndpoint.host =
options._defaultEndpoint.host || 'openapi.myiot.jdcloud.com'
options.basePath = '/v1' // 默认要设为空""
super(serviceId, options)
}
/**
* 根据物联网卡iccid查询该卡的gprs状态信息
* @param {Object} opts - parameters
* @param {string} opts.iccid - 物联网卡iccid
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string status 请求状态(0:成功;1:失败)
* @param string message 消息描述
* @param gprsStatusResp result 指定物联网卡的gprs状态信息
*/
gprsStatus (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling gprsStatus"
)
}
opts = opts || {}
if (opts.iccid === undefined || opts.iccid === null) {
throw new Error(
"Missing the required parameter 'opts.iccid' when calling gprsStatus"
)
}
let postBody = null
let queryParams = {}
if (opts.iccid !== undefined && opts.iccid !== null) {
queryParams['iccid'] = opts.iccid
}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 iotcard/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call gprsStatus with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/gprsStatus',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 根据物联网卡iccid查询该卡的开关机状态信息
* @param {Object} opts - parameters
* @param {string} opts.iccid - 物联网卡iccid
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string status 请求状态(0:成功;1:失败)
* @param string message 消息描述
* @param onOffStatusResp result 指定物联网卡的开关机状态信息
*/
onOffStatus (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling onOffStatus"
)
}
opts = opts || {}
if (opts.iccid === undefined || opts.iccid === null) {
throw new Error(
"Missing the required parameter 'opts.iccid' when calling onOffStatus"
)
}
let postBody = null
let queryParams = {}
if (opts.iccid !== undefined && opts.iccid !== null) {
queryParams['iccid'] = opts.iccid
}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 iotcard/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call onOffStatus with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/onOffStatus',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 根据物联网卡iccid查询该卡的生命周期信息
* @param {Object} opts - parameters
* @param {string} opts.iccid - 物联网卡iccid
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string status 请求状态(0:成功;1:失败)
* @param string message 消息描述
* @param lifeStatusResp result 指定物联网卡的生命周期信息
*/
lifeStatus (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling lifeStatus"
)
}
opts = opts || {}
if (opts.iccid === undefined || opts.iccid === null) {
throw new Error(
"Missing the required parameter 'opts.iccid' when calling lifeStatus"
)
}
let postBody = null
let queryParams = {}
if (opts.iccid !== undefined && opts.iccid !== null) {
queryParams['iccid'] = opts.iccid
}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 iotcard/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call lifeStatus with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/lifeStatus',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 根据物联网卡iccid查询该卡的当月套餐内的GPRS实时使用量
* @param {Object} opts - parameters
* @param {string} opts.iccid - 物联网卡iccid
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string status 请求状态(0:成功;1:失败)
* @param string message 消息描述
* @param gprsRealtimeInfoResp result 指定物联网卡的当月套餐内的GPRS实时使用量
*/
gprsRealtimeInfo (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling gprsRealtimeInfo"
)
}
opts = opts || {}
if (opts.iccid === undefined || opts.iccid === null) {
throw new Error(
"Missing the required parameter 'opts.iccid' when calling gprsRealtimeInfo"
)
}
let postBody = null
let queryParams = {}
if (opts.iccid !== undefined && opts.iccid !== null) {
queryParams['iccid'] = opts.iccid
}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 iotcard/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call gprsRealtimeInfo with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/gprsRealtimeInfo',
'GET',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 物联网卡开机操作
* @param {Object} opts - parameters
* @param {array} [opts.iccids] - 物联网卡号码列表(单次提交最多不超过200个号码) optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string status 请求状态(0:成功;1:失败)
* @param string message 消息描述
* @param operationIotCardResp result
*/
openIotCard (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling openIotCard"
)
}
opts = opts || {}
let postBody = {}
if (opts.iccids !== undefined && opts.iccids !== null) {
postBody['iccids'] = opts.iccids
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 iotcard/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call openIotCard with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/openIotCard',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 物联网卡停机操作
* @param {Object} opts - parameters
* @param {array} [opts.iccids] - 物联网卡号码列表(单次提交最多不超过200个号码) optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string status 请求状态(0:成功;1:失败)
* @param string message 消息描述
* @param operationIotCardResp result
*/
closeIotCard (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling closeIotCard"
)
}
opts = opts || {}
let postBody = {}
if (opts.iccids !== undefined && opts.iccids !== null) {
postBody['iccids'] = opts.iccids
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 iotcard/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call closeIotCard with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/closeIotCard',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 物联网卡开启流量操作
* @param {Object} opts - parameters
* @param {array} [opts.iccids] - 物联网卡号码列表(单次提交最多不超过200个号码) optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string status 请求状态(0:成功;1:失败)
* @param string message 消息描述
* @param operationIotCardResp result
*/
openIotFlow (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling openIotFlow"
)
}
opts = opts || {}
let postBody = {}
if (opts.iccids !== undefined && opts.iccids !== null) {
postBody['iccids'] = opts.iccids
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 iotcard/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call openIotFlow with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/openIotFlow',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
/**
* 物联网卡停流量操作
* @param {Object} opts - parameters
* @param {array} [opts.iccids] - 物联网卡号码列表(单次提交最多不超过200个号码) optional
* @param {string} regionId - ID of the region
* @param {string} callback - callback
@return {Object} result
* @param string status 请求状态(0:成功;1:失败)
* @param string message 消息描述
* @param operationIotCardResp result
*/
closeIotFlow (opts, regionId = this.config.regionId, callback) {
if (typeof regionId === 'function') {
callback = regionId
regionId = this.config.regionId
}
if (regionId === undefined || regionId === null) {
throw new Error(
"Missing the required parameter 'regionId' when calling closeIotFlow"
)
}
opts = opts || {}
let postBody = {}
if (opts.iccids !== undefined && opts.iccids !== null) {
postBody['iccids'] = opts.iccids
}
let queryParams = {}
let pathParams = {
regionId: regionId
}
let headerParams = {
'User-Agent': 'JdcloudSdkNode/1.0.0 iotcard/1.0.0'
}
let contentTypes = ['application/json']
let accepts = ['application/json']
// 扩展自定义头
if (opts['x-extra-header']) {
for (let extraHeader in opts['x-extra-header']) {
headerParams[extraHeader] = opts['x-extra-header'][extraHeader]
}
if (Array.isArray(opts['x-extra-header']['content-type'])) {
contentTypes = opts['x-extra-header']['content-type']
} else if (typeof opts['x-extra-header']['content-type'] === 'string') {
contentTypes = opts['x-extra-header']['content-type'].split(',')
}
if (Array.isArray(opts['x-extra-header']['accept'])) {
accepts = opts['x-extra-header']['accept']
} else if (typeof opts['x-extra-header']['accept'] === 'string') {
accepts = opts['x-extra-header']['accept'].split(',')
}
}
let formParams = {}
let returnType = null
this.config.logger(
`call closeIotFlow with params:\npathParams:${JSON.stringify(
pathParams
)},\nqueryParams:${JSON.stringify(
queryParams
)}, \nheaderParams:${JSON.stringify(
headerParams
)}, \nformParams:${JSON.stringify(
formParams
)}, \npostBody:${JSON.stringify(postBody)}`,
'DEBUG'
)
let request = this.makeRequest(
'/regions/{regionId}/closeIotFlow',
'POST',
pathParams,
queryParams,
headerParams,
formParams,
postBody,
contentTypes,
accepts,
returnType,
callback
)
return request.then(
function (result) {
if (callback && typeof callback === 'function') {
return callback(null, result)
}
return result
},
function (error) {
if (callback && typeof callback === 'function') {
return callback(error)
}
return Promise.reject(error)
}
)
}
}
module.exports = JDCloud.IOTCARD

Some files were not shown because too many files have changed in this diff Show More